STOXX Europe 600 Option Pricing Using Monte Carlo Methods
Tags: Option Pricing, Monte Carlo, Qontigo, Financial Engineering, Eurex

Trading Activity on STOXX Europe 600 Index

Using python library yfinance, I managed to extract the past year closing prices and trading volume of SXXP (yahoo ticker ‘^STOXX’). For comparison, I also extracted the S&P500 Index (yahoo ticker ‘^GSPC’).

def get_trade_data(ticker, start, end, essential_data):



df = yf.download(ticker, start, end)

df['Log return'] = np.log(df['Close']/df['Close'].shift(periods = 1))

df['Normalized price'] = df['Close']/df['Close'].iloc[0] return df[essential_data] trade_data = ['Volume','Close','Log return', 'Normalized price']

# Retrieve trade data for STOXX Europe 600 Index

SXXP = get_trade_data('^STOXX', start='2020-01-01', end='2020-12-02', essential_data = trade_data) # For comparison later, extract S&P 500 Index data

SPX = get_trade_data('^GSPC', start='2020-01-01', end='2020-12-02', essential_data = trade_data) # Create a dataframe containing the normalized prices of both STOXX Europe 600 and S&P 500 (for visualization)

normalized_prices = pd.concat([SXXP['Normalized price'], SPX['Normalized price']], axis = 1)

normalized_prices.columns = ['SXXP', 'SPX'] fig, axes = plt.subplots(nrows = 2, ncols = 2, figsize=(15,15), sharex = True) # ax 1 - close price of STOXX Europe 600

SXXP.plot.line(y = 'Close', legend = None, title = 'Close Price of SXXP', ax = axes[0][0]) # ax 2 - normalized prices of STOXX Europe 600 and S&P 500

normalized_prices.plot.line(title = 'Normalized Prices', ax = axes[1][0]) # ax 3 - Traded volume of STOXX Europe 600

SXXP.plot.line(y = 'Volume', legend = None, title = 'Traded Volume of SXXP', ax = axes[0][1]) # ax 4 - Log Return of STOXX Europe 600

SXXP.plot.line(y = 'Log return', legend = None, title = 'Log Return of SXXP', ax = axes[1][1]) plt.show()

Figure 4. Trading of SXXP

Figure 4 summarizes the trading activity of the SXXP, and we can see that there was a slump due to the COVID-19 crisis, and the market recovered, with a boost in November 2020 when Pfizer announced the vaccine.

The STOXX Europe 600 index is well-correlated (71%) with the S&P 500 Index. However, they are not well cointegrated, and this is largely due to the different building blocks. The two indices diverged drastically from May 2020 to September 2020, with S&P 500 Index outperformed SXXP. One possible reason is that the S&P 500 is tech-heavy (a quick google search showed that tech makes up 27% of the S&P 500), and the tech-rally gave the index a tailwind to climb much further.

So how did SXXP perform over the past 10 years?

Figure 5. 10 Year Historical Performance of SXXP

Based on the Adjusted Closing Price data (Adj. Price is used here to take into account corporate actions), the 10-year annualized returns of the SXXP is a decent 4.1%. The European market shows good potential over the years, although many times its momentum is being hindered by uncertainties (such as BREXIT, US-China Trade Tensions, and the COVID-19). Despite these hurdles, the diversification in the index and its focus on Healthcare and Technology could help bolster its recovery and growth in the coming years.