Presentation is loading. Please wait.

Presentation is loading. Please wait.

Monte Carlo Simulation

Similar presentations


Presentation on theme: "Monte Carlo Simulation"— Presentation transcript:

1 Monte Carlo Simulation

2 Monte Carlo Single asset, single-step process
Single asset, single-step, option pricing Single asset, multi-step process Single asset, multi-step, option pricing Multi-asset, multi-step process

3 Monte Carlo for a single asset
Can simulate the log returns of an asset* price in a risk-neutral world as follows: 𝜕 ln 𝑆 = û− 𝜎 𝜕𝑇+𝜎𝜕𝑧 𝜕𝑧 is a random sample from a normal distribution with a mean of 0, and a standard deviation of 1 For a single time-step this simplifies to: 𝑆 𝑇 =𝑆 0 𝑒𝑥𝑝 û− 𝜎 𝑇+ 𝜎∈ 𝑇 Where: S(0) is the asset price, û is the risk-free rate, 𝜎 is the expected volatility** of the asset price and ∈ is our random sample as per above. Simulation results are used to price many options (very useful for path-dependent options i.e. lookbacks / range accruals etc.) *The asset can be a stock, an interest rate or an FX rate where û = (rf - rd). ** Similar to the Black-Scholes model, our single asset simulation only requires one subjective input: expected volatility.

4 One-step Monte Carlo for a single asset - example
Using excel for simplicity (in reality a more robust system will be needed, especially when moving to a multi-asset environment with a large number of required simulation runs, also Excel is very slow). Spreadsheet implements the process and generates 10,000 one-step moves for a given set of data. û, 𝜎 and T (maturity in years of the option) can all be altered Output from the Monte Carlo simulation process yields 10,000 values of S(T) highlighted in columns A and B in yellow Default values are û = 1.7%, 𝜎 = 25%, T = 0.5 and S(0) = 100 (all these can be altered as necessary)

5 One-step Monte Carlo for a single asset - results
Frequency distribution will be slightly different for a given each set of simulations, and on changing the input variables

6 One-step Monte Carlo for a single asset Option pricing
Using our simulations we can now price European options on the asset (as European options can only be exercised at maturity we can use this single step process) Cells M6 and N6 allow you to price a Call and a Put respectively for a given strike. (Default strike is set to 102.5). For each simulated S(T), an option pay-off at time T is calculated and then discounted back to T(0): 𝑉 𝐶𝑎𝑙𝑙 =𝑀𝑎𝑥 𝑆 𝑇 −𝑆𝑡𝑟𝑖𝑘𝑒, 0 ÷ 𝑒𝑥𝑝 û 𝑇 𝑉 𝑃𝑢𝑡 =𝑀𝑎𝑥 𝑆𝑡𝑟𝑖𝑘𝑒 − 𝑆 𝑇 , 0 ÷ 𝑒𝑥𝑝 û 𝑇 The fair value for the option is the average 𝑉 𝐶𝑎𝑙𝑙 or 𝑉 𝑃𝑢𝑡 , we can also calculate the greeks We can calculate a standard deviation of our simulation using the formula: 𝜎 𝑉 = 𝑉𝑎𝑟(∈) 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑆𝑖𝑚𝑢𝑙𝑎𝑡𝑖𝑜𝑛𝑠 −1

7 One-step Monte Carlo for a single asset Option pricing results
Option Type Maturity (years) Strike Monte Carlo Value* Black Scholes Value European Call 0.5 100 6.31 6.32 Delta 51.33% 49.87% Vega 0.28 European Put 7.97 7.96 -48.85% -50.13% *Due to the nature of the Monte Carlo process, every run of 10k simulations will produce different slightly different option values however, the Monte Carlo process generates similar prices to the Black & Scholes formula for European style options

8 One-step Monte Carlo for a single asset Option pricing
We can generate a 95% Confidence Interval for the true option value as 𝑆𝑖𝑚𝑢𝑙𝑎𝑡𝑖𝑜𝑛 𝑉𝑎𝑙𝑢𝑒 ±1.96 𝜎 𝑉 𝜎 𝑉 for VCall is 0.11, so a 95% confidence interval for the true value of the call is between and We can reduce the quantum of 𝜎 𝑉 through the use of Antithetic Variates We simply add a step to our simulation. For the same values of ∈ we calculate: 𝑆 𝑇 + =𝑆 0 𝑒𝑥𝑝 û− 𝜎 𝑇+ 𝜎∈ 𝑇 𝑆 𝑇 − =𝑆 0 𝑒𝑥𝑝 û− 𝜎 𝑇− 𝜎∈ 𝑇 Set V+ as the PV of the option payoff for S(T)+ , and V - as the PV of the option payoff for S(T)- Set 𝑉 𝑆𝑖𝑚 = 𝑉 + + 𝑉 − 2

9 One-step Monte Carlo for a single asset Option pricing
Using Antithetic Variates we a value for Vcall of 6.30 and 𝜎 𝑉 of The 95% confidence interval has significantly narrowed to between and Antithetic Variates method is simpler concept than it sounds We simply adjust our simulation process slightly and proceed as before Our goal is to reduce the multiplier in the standard error term 𝑉𝑎𝑟(∈) as simply increasing the number of simulations will add significant computational requirements while being of limited value towards this target.

10 One-step Monte Carlo for a single asset Option pricing
This method can also be extended to calculate the greeks, but adds further to the computational requirements While it is simple enough to do this for a single asset, for a single step using Excel, it quickly becomes impossible when moving to multi-step or indeed multi-asset. The computational demands would rapidly make Excel unusable and it is necessary to create a model via code. We can also increase the complexity of the simulation by increasing the number of variables that are simulated. For example, we can simulate the volatility (for a given volatility of volatility input) as well as the asset prices. These more complex models will be explained later.

11 Moving to Multi Step

12 Extending One-step Monte Carlo for a single asset to generate a daily price path
To price more complex path-dependent options we need to generate the full path, not just a single step to the S(T) at maturity We use the exact same process but the interval T will be now represent a single step between one trading day and the next. This will form an iterative process where the resultant S(T) will now act as the S(0) input into the simulation to generate the following trading days S(T) The process is exactly the same as the previous but now instead of generating the final maturity for each of our 10k simulations, we are generating the full price path for each of the 10k simulations. The computational requirements start to rapidly scale and the limitations of Excel become apparent, even before increasing the number of variables to be simulated, or the quantum of assets.

13 Multi-step Monte Carlo for a single asset - example
Graph shows 255 different price-paths generated starting from 20 June 2018 to a maturity of 1 year.

14 Multi-step Monte Carlo for a single asset - example
Graph shows 16,000 different price-paths generated starting from 20 June 2018 to a maturity of 1 year.

15 Multi-step Monte Carlo for a single asset - example
Using our simulations we can now additionally price Lookback / Asian / Barrier and other path-dependent options For each simulated S(T), an option pay-off at time T is calculated and then discounted back to T(0) The price for the option should be the average PV of all simulations Again, we can use the same simulated values for ∈ to calculate the Greeks Again, we can also calculate confidence intervals for our simulated option values as before. Also, as before we can reduce the quantum of the confidence intervals by using the Antithetic Variate method.

16 Multi-step Monte Carlo for a single asset - example
Spreadsheet is setup for run simulations for an Asian Option with monthly averaging expiring in 6 months time Default values are û = 1.7%, 𝜎 = 25%, T = 0.5 and S(0) = 100 (all these can be altered as necessary) Because monthly averaging has been used we only need to simulate monthly price-paths, with 6 steps each 10,000 simulations are run on the spreadsheet (simulating a similar amount of daily price paths would take significant computation time in Excel). For each simulated path, an option pay-off at time T is calculated and then discounted back to T(0): Call = Max (Average MonthlyS(T) – Strike, 0) / exp (û)^T Put = Max (Strike – Average MonthlyS(T), 0) / exp (û)^T The fair value for the option is the average PV of all simulations, we can also calculate the greeks

17 Multi-step Monte Carlo for a single asset Asian Option pricing results
Option Type Maturity (years) Strike Averages Monte Carlo Value* Closed Form Solution European Asian Call 0.5 105 6 x Monthly 2.78 2.77 Delta 38.26% 37.3% Vega 0.17 European Asian Put 7.32 7.23 -61.3% -62.34% 0.18 *Due to the nature of the Monte Carlo process, every run of 10k simulations will produce slightly different option values however, the Monte Carlo process generates similar prices to the known closed form solution for Asian options

18 Moving to Multi Asset

19 Multi Asset - Complications
Reality is that most portfolios contain multiple assets. Simulating a potential path for each asset requires more information than simply the expected future volatility input for each asset. We need correlations for the simulated asset returns. This can be either historic observations, or on forecast expectations. This increases the amount of subjectivity in our simulation process – Garbage in = Garbage out. Computational requirements quickly scale, especially if additional variables such as volatility are simulated. Many regulatory processes require the use of multi-asset Monte Carlo simulation i.e. VAR, CVA etc. Simulation will also allow us to track margin or collateral calls etc.

20 Multi Asset - Choices Two solutions – fast method versus full method
Fast Method: given correlation and volatility data on all the assets, we can calculate the portfolio volatility. We treat the portfolio as a single asset and model as per the single asset model. Full Method: given correlation and volatility data on all the assets, we use a technique that simulates each asset individually but maintains correlations and volatilities.

21 Multi Asset – Cholesky Transformation
A variance-covariance matrix expresses linear relationships between variables For multi-asset simulations we therefore need to provide a covariance matrix 𝐶𝑜𝑉𝑎𝑟 𝑥,𝑦 = 𝜌 𝑥,𝑦 × 𝜎 𝑥 × 𝜎 𝑦 Therefore to generate the required covariances we need: The volatility (𝜎) for each asset A correlation matrix showing the correlation (𝜌) between each pair of assets The volatility and correlations can either be based on historic data, or expected moves going forward. The Cholesky transformation (a numerical method that correlates uncorrelated variables) will then allow the simulation to generate the random data (∈) for each asset in our simulation, with the input volatility and correlation measurements, which we can then use to price options. The correlation matrix is decomposed, to give the lower-triangular L. Applying this to a vector of uncorrelated samples u produces a sample vector Lu with the covariance properties of the system being modeled.

22 Multi Asset - Walkthrough
We need to simulate 6 different asset paths, but we need to simulation data to match both the expected volatility as well as to maintain the correlation between every pair of assets. We can follow a 5 step process which will give us the required simulation. Step 1 – Given the expected volatility of each asset and a correlation matrix we populate a covariance matrix. 𝐶𝑜𝑉𝑎𝑟 𝑥,𝑦 = 𝜌 𝑥,𝑦 × 𝜎 𝑥 × 𝜎 𝑦 Step 2 – We perform a Cholesky Decomposition on the covariance matrix to build a new matrix C Step 3 – We transpose this new matrix to give us CT Step 4 – We generate the random set for data for each asset Step 5 – We use the CT to correlate the data to the required level which becomes usable in our simulation The easiest way to track through what is happening for each step is via the spreadsheet.

23 Multi Asset – Simulation Results
The volatility for each of the assets generated from the simulation of 10k daily moves are shown below. As can be seen, while there are small differences from the input level of expected volatility, these differences are small. From a input volatility perspective our simulation seems to give us very close to expected results.

24 Multi Asset - Results The correlation matrix for the assets generated from the simulation of 10k daily moves are shown to the right together with the input correlation matrix. Again, while there are small differences from the input level these differences are small ad would suggest that our 5 step process has given us the correlations we require for our simulation. From a correlation perspective our simulation yields very close to expected results. Given the volatility and correlations are as required from our simulation, we can now use the data to price options in a similar manner as we did when we used the single asset simulation.

25 Multi-step Monte Carlo for a multi asset - example
Graph shows one set of simulated paths for the 6 assets, displaying the required volatility and correlations. Computational requirements scale rapidly as the required number of total simulations is large.

26 And finally….. Remember – Garbage in = Garbage out.
Monte Carlo method will certainly allow you to price certain path-dependent options for a given set of variables. The ability to accurately price options with many variables is a powerful tool (i.e. volatility, volatility of volatility, forecast correlations) Further steps in developing the model could entail: adding in discrete dividends Adding gap risk via Poisson process that is uncorrelated with dz Making volatility itself a separate stochastic process Calibrating your volatility input to known option prices (i.e. using volatility smile / skew) Your mileage may vary…. the future may vary from your forecast that you are modelling.

27 “A common mistake that people make when trying to design something completely fool-proof is to underestimate the ingenuity of complete fools.” Douglas Adams


Download ppt "Monte Carlo Simulation"

Similar presentations


Ads by Google