Wednesday, February 18, 2015

monte carlo - Is This A Viable Alternative Options Pricing Method?


i'm currently a high school student who hasn't gone past Algebra II, and thus I have minimal Calculus knowledge. I know the basics of Integration and Derivation (drop the coefficient, raise to the coefficient), Infinite series, and some basics of random walks (ex. t^0.5 = sigma).


I am unable to solve the Black Scholes equation due to it's use of SDEs. I am however familiar with probability theory and have attempted to approximate the CDF of a Gaussian distribution using a Monte Carlo Method. I plugged in the standard deviation and strike price as (strike/sigma) then multiplied by the payout as a percent and added the risk free rate (10 year treasury) times days till expiration divided by 365 (365 days in a year duh). This gave me a value almost equal to the price on the open market. I assume that the inaccuracy is due to loss of precision when retrieving values such as the risk free rate or the asset price.


What I want to know is whether or not this method of pricing options is viable, or was the semi-successful calculation due to chance? Basically I am seeking peer review since I don't know anyone working in finance who can verify whether I messed up or not.



My proposed method:



  1. a function that generates a random number using the Gaussian distribution and if the number is greater than the strike price it adds 0.0001 to an increment variable, otherwise it does not add anything. Repeat 10k times and this approximates the probability of hitting the strike where each random number is one basis point significance.

  2. Multiply this probability by the payout in order to find the price where the expected return of the option is zero.

  3. Add the interest accrualed by the risk free rate over the period of time that the option is open interest because for some reason this is included in things like Sharpe Ratio and the Black Scholes Model.

  4. That value is the option price calculated by this method that seems to fit close with the price of options trading on exchange.



Answer



You are trying to price an option through Monte Carlo simulations. Here is how it should work, assuming the Black-Scholes diffusion framework.


Under the Black-Scholes model's assumptions, the value of a risky asset $S$ at the time $t=T$ is a random variable which reads $$ S_T = S_0 e^{\left(\mu-\frac{\sigma^2}{2}\right)T + \sigma \sqrt{T} Z}\tag{1}$$ with




  • $S_0$, initial value of the asset at $t=0$

  • $\mu$, risk-neutral drift of the asset $\color{red}{(*)}$

  • $\sigma$, volatility of the asset

  • $Z$, a standard Gaussian random variable, $Z \sim N(0,1)$


Because the logarithm of $S_T$ is normally distributed \begin{align} \ln(S_T) &= \ln(S_0) + \left(\mu-\frac{\sigma^2}{2}\right)T + \sigma\sqrt{T}Z \\ &\sim N\left(\ln(S_0) + \left(\mu-\frac{\sigma^2}{2}\right)T, \sigma^2 T\right) \end{align} $S_T$ follows what we call a log-normal distribution. $\color{red}{(**)}$


Now, assuming one can write an option price as the discounted expectation of its future payout $\phi(S_T) = \max(S_T-K,0)$ (there is a lot of theory hidden behind that assertion) where we have used $K$ to denote the strike, or exercise price of the option, i.e.


$$ V_0 = e^{-rT} \mathbb{E} \left[ \phi(S_T) \right] = \mathbb{E} \left[ \max(S_T-K,0) \right] $$


then one can use a Monte Carlo method to compute the expectation in the RHS. For that, one simply needs to




  1. Simulate independent draws of the random variable $S_T$ (representing different scenarii of terminal asset values). This should be easy, since we just saw that one only needs to simulate independent draws of a standard Gaussian $Z$ and use the formula $(1)$ given above.

  2. Compute the associated payout $\phi(S_T) = \max(S_T-K,0)$ for each draw

  3. Average all sampled payout values to obtain their expectation.

  4. Finally apply the discount factor $e^{-rT}$ to obtain the desired option price



Mathematically, the Monte Carlo estimator $\hat{V}_0$ of the true option price $V_0$ is therefore given by \begin{align} \textbf{[STEP 1] }&\ \ \ S_T^{(m)} = S_0 \exp\left( (r-\frac{1}{2}\sigma^2)T + \sigma \sqrt{T} Z^{(m)} \right),\ \ \forall m=1,...,M \\ \textbf{[STEPS 2-3-4] }&\ \ \ \hat{V}_0 = e^{-rT} \left( \frac{1}{M} \sum_{m=1}^M \phi\left(S_T^{(m)}\right) \right) \end{align}



with $(Z^{(m)})_{m=1,...,M}$ representing $M$ i.i.d. samples out of a standard normal distribution and $M$ the total number of simulations.



$\hat{V}_0$ is an unbiased estimator of the true premium $V_0$ whose variance decreases proportionally to $M^{-1/2}$ (which is a direct consequence of the Central Limit Theorem, again there's some theory behind that result).




$\color{red}{(*)}$ $\mu = r_{FOR}-r_{DOM}$ for a $DOM/FOR$ foreign exchange rate and the risk-"free rate" should be replaced by $r = r_{FOR}$


$\color{red}{(**)}$ You could use a Gaussian model as you suggest (Bachelier model) where $S_T = \mu + \sigma_N \sqrt{T} Z \sim N(\mu, \sigma_N^2T)$, this does not change the rest of the discussion. Note that $\sigma_N$ is known as the Normal (or Bachelier) volatility, while the $\sigma = \sigma_{LN}$ we used above is nown as the LogNormal (or Black-Scholes) volatility.


No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...