Background:
Stress testing is a critical tool for risk and portfolio managers. The objective of stress testing is to establish the impact of a market shock in the securities held in the portfolio. By probing the portfolio behavior during an extreme event, the portfolio manager might uncover vulnerabilities that can be addressed beforehand. This is similar to a bridge undergoing loadbearing stress tests before being open to the public.
When done correctly the calculations are not trivial and most systems allow only shocks that directly affect the pricing of each security. For example: a move in interest rates would affect only the fixed income securities in the portfolio and equities would remain unchanged. This is an unrealistic assumption because we know that there is a strong causality between bonds and equities.
Even within the same asset class, stress testing can be complex. Imagine a portfolio with options on 2 indices, EuroStoxx 50 and SP500: if one of the indices is shocked, how the other will be impacted and what that means for the options? In order to answer this seemingly simple question we will use a toy example to illustrate: a portfolio with a net asset value of $1000 with 2 shortdated options:
 1 SPX call expiring on 06/15/18 struck at 2825 (price: USD 1.1 on 06/07/18)
 1 SX5E call expiring on 06/15/18 struck at 3500 (price: EUR 7.5 on 06/07/18)
Propagating shocks with equal moves:
What would happen with this portfolio if SX5E were to drop 5%? A simplistic approach is to assume that both Euro Stoxx 50 and SP500 will drop exactly 5%. Basically you would reprice the options with new underlying prices that are both 5% lower and measure the PL effect. If you were to do this the resulting PL would be a total loss of premium paid, or 18.8% for a $1000 NAV:
 SPX call: loss of USD104.17 (premium paid = USD 1.1 * 100)
 SX5E call: loss of USD 84.00 (premium paid = EUR 7.5 * 10 * 1.1797)
Where the multipliers for SPX and SX5E options are 100 and 10 respectively, and the SX5E premium is converted to USD using the spot EURUSD = 1.1797.
There are many oversimplifying assumptions with the above approach such as an equal move on both indices as well as EURUSD remaining the same, regardless if SX5E is down or not.
Propagating shocks with Beta:
A slightly more realistic approach is to acknowledge that SPX and SX5E do not move in tandem and use their beta as an approximation for the relative move. In order to calculate the beta you need the correlation between the indices as well as their individual volatilities. The measurement of these 3 properties is also non trivial: how much historical data should be used? Should you sample the data daily, weekly? Should you weight recent data more heavily? All these decisions will affect the results. These are the properties calculated with weekly data:
 Correlation between SX5E and SPX: 60%
 Weekly SX5E volatility: 1.729%
 Weekly SPX volatility: 1.867%
Thus, the beta will be 0.647 (=0.6 * 1.867 / 1.729) and a move of 5% in the SX5E index will equate to SPX dropping 3.24% (=5% * 0.647). If we reflect these adjustments in the indices, i.e. multiplying SX5E by 0.95 and SPX by 0.9676, and reprice both options with the adjusted underlying indices, the expected PL will still be a loss of 18.8%
Propagating shocks with a probabilistic approach:
Using the Beta is better than assuming an equal move but it also has flaws. It assumes the correlation between the indices as well as their individual volatilities will remain constant and we know that the relationship will be less predictable when causality is weak. It is also difficult to reflect other relationships, such as: FX, volatility and rates.
Let’s see how Everysk deals with this issue in the context of our 2 option portfolio:
 First Everysk simulates thousands of correlated scenarios for EuroStoxx 50, SP500, volatilities and rates in both Europe and US as well as EURUSD.
 Then the information above is fed into a pricing model (Black and Scholes for example) to create thousands of possible prices for the 2 options in our illustrative example.
 Finally Everysk “conditions” the simulations to satisfy SX5E = 5%, i.e it puts more weight on the SX5E simulations that are close to 5% (4.99% or 5.01% for example) and less weights elsewhere. In practice we do something more robust than this simplistic approach, but it is easier to describe it as a thresholding method:
Conditioning the simulations:
The third step above is critical. It captures the market conditions prevailing when SX5E is down. If we observe that more often than not EURUSD is weak when SX5E is strong, perhaps as a reflection of Germany’s exportbased economy, that causality should be captured. Conversely, if the causality is weak it should be discounted or discarded. In what follows we described a simple way to do this:
Imagine that the PL for each option is stored as a vector with 50,000 entries. Each entry is a possible realization for the option, according to steps 1) and 2) above. Further assume that there there are 2 additional “control” columns with the simulated returns for SX5E and SPX.
If we were to sort ALL the columns by the SX5E return and were to isolate only simulations that are within a tight threshold around SX5E = 5%, discarding all others, we would have the following schematic:
All the vectors above have been sorted using the sorting criteria from the highlighted one (SX5E). The top entries on that highlighted vector will contain large positive returns for EuroStoxx 50 and the bottom entries large negative returns. The same sorting criteria is used for the other 3 vectors to preserve comovements. A positively correlated risk factor (SPX) will also have high returns at the top and low returns at the bottom, whereas a negatively correlated risk factor (EURUSD  not shown) might have low values at the top (weak EUR) and high values at the bottom (strong EUR)
For comparison purposes, we highlight in blue the solution using beta and Black and Scholes: basically it captures the option PLs at 5% for SX5E and 3.24% for SPX. The larger orange areas represent Everysk conditioning and how the shock propagates: because the conditioning is applied in the SX5E vector, i.e. retaining only simulations close enough to 5%, the effect in the SX5E option is similar to Black and Scholes as it can be approximated by pugging 0.95 times the spot SX5E in the B&S formula. Our model differs in that it will also capture other nuanced comovements coming from FX, rates and volatility.
Another advantage from the probabilistic approach above is to capture how this shock realistically propagates to the SPX part of the portfolio. As you can see in the schematic, the SPX also tends to be negative when SX5E is down (orange area in the 3rd column from left), but there are also simulations indicating a less pronounced drop in SPX, even when SX5E is 5%. By analyzing more data and capturing this complex relationship we can come up with a more realistic expectation of PL for the portfolio. In the case of our illustrative 2option portfolio, our calculated PL will be 15.1% rather than 18.8% obtained from more simplistic methods, i.e. there are enough observations of SPX not falling as much when SX5E drops, causing our SPX call option to retain more value.
SX5E option PL 
SPX option PL 
Total PL 

Black and Scholes (and beta for relative index move) 
8.4% 
10.4% 
18.8% 
Everysk 
8.2% 
6.9% 
15.1% 
Where 6.9% represents the average of the orange area in the rightmost vector.
Summary:
This report provides a high level description of how Everysk analyzes large quantities of data to reliably propagate market shocks. By doing so, we can generate more realistic scenarios for multiasset portfolios that are difficult to replicate with simplistic approaches.
The propagated shocks are presented below for + 5% moves on SX5E:
SX5E 
SPX 
VIX 
V2TX 
EURUSD 
5% 
2.46% 
31.13% 
33.28% 
0.41% 
+5% 
2.57% 
19.56% 
22.34% 
0.36% 
Notice that the average 2.46% decline in SPX when SX5E is down 5% is less pronounced than 3.24% obtained with beta.