Facebook down

05 October 2021

Did Facebook loose $50 billions of market valuation because of its outage from yesterday as told by the Sun ?

Yesterday, Facebook and its related applications Instagram and WhatsApp were unreachable. From 15:40 UTC to 21:40 UTC, nobody could reach any Facebook related website.

This outage was described at length by NY Times to get a global view of the situation

Technical parts of this outage were also very well described by Cloudflare

At last, Facebook itself issue a short blog post describing this outage.

Today's article will focus on getting an idea of Facebook outage on its stock price. Using our within , our web and cloud-based JupyterLab environment.

Getting started

The overall approach followed in this article is as follows:

  • Get all Facebook trades on Nasdaq on October 4th 2021
  • Split data in 3 parts: before the outage, during the outage and after the outage
  • See if Facebook outage did change anything on its stock price

We will be using a set of Systemathics modules in addition to Opensource modules. For this sample, we chose to use Python with the following Systemathics package:

Get all Facebook trades on Nasdaq on October 4th 2021

# set instrument identifier: exchange + ticker
ticker = 'FB' # Facebook
exchange = 'XNGS' # Nasdaq

# create time intervals (we are using Google date format)
date_interval = dateinterval.DateInterval(
    start_date = date.Date(year = 2021, month = 10, day = 4), 
    end_date = date.Date(year = 2021, month = 10, day = 4)

# generate constraints based on the date selection
constraints = constraints.Constraints(
    date_intervals = [date_interval]

# generate the tick trades request
identifier = identifier.Identifier(exchange = exchange, ticker = ticker)
request = tick_trades.TickTradesRequest(
    identifiers = [identifier],
    constraints = constraints

We can now request all trades for Facebook using our API . All results are aggregated in a single pandas dataframe.

# instantiate the tick trades service
service = tick_trades_service.TickTradesServiceStub(channel)

# process the tick trades request
trades = []
metadata = [('authorization', token)]
for trade in service.TickTrades(request=request, metadata=metadata):
    if trade.trade:

# prepare the dataframe content
dates = [datetime.fromtimestamp(t.time_stamp.seconds) for t in trades]
prices = [t.price for t in trades]
sizes = [t.size for t in trades]

# create a pandas dataframe with: dates, trades prices and sizes
d = {'Date': dates, 'Price': prices, 'Size': sizes}
df = pd.DataFrame(data=d)

The previous code snippet gives us the pandas dataframe containing all trades:

Facebook trades

Note that time are UTC.

Split data in 3 parts: before the outage, during the outage and after the outage

Splitting data is very simple using pandas

outage = df[ (df['Date'] > datetime(2021,10,4,15,40,0)) & (df['Date'] < datetime(2021,10,4,21,40,0)) ]
before_outage = df[ (df['Date'] <= datetime(2021,10,4,15,40,0)) ]
after_outage = df[(df['Date'] >= datetime(2021,10,4,21,40,0)) ]

See if Facebook outage did change anything on its stock price

Data is now displayed on a graph.

import matplotlib.pyplot as plt
import matplotlib.dates as mdates

fig,ax = plt.subplots(1,1,figsize=(25,10))
ax.plot('Date', 'Price', data=before_outage, marker='', color='blue', linewidth=2, label="Price")
ax.plot('Date', 'Price', data=outage, marker='', color='red', linewidth=2, label="Price")
ax.plot('Date', 'Price', data=after_outage, marker='', color='blue', linewidth=2, label="Price")
# twin x-axis for two different y-axis
ax2.plot('Date', 'Size', data=df, marker='', color='green', linewidth=2, label="Size")

# set graph title and axis label
plt.title('Tick trades for {0}-{1}'.format(ticker, exchange))
Facebook graph

We can conclude that:

  • Facebook price decreased significantly before outage: initial blue part
  • Price barely changed during the outage: red part
  • We can conclude that Facebook outage did not affect its stock price. Initial decrease was likely due to whistle-blower Frances Haugen as explained by NY Times article.
  • The Sun is wrong with its title Facebook, Instagram and WhatsApp down latest news – $50 BILLION wiped off FB’s value as huge global outage rocks world. Is it a news ? 😉

Reach out to try our solutions

In this article, we request tick data and use index components by calling a dedicated API service within , our web and cloud-based JupyterLab environment, and our API. You can use it as-is and/or call directly our API within your internal tools and start immediately retrieving on-demand financial data.

To get the full sample and discover more data analytics samples and building blocks navigate to our