As an entry level financial engineer, I'm trying to make sense of a practical case using the concepts I learned including local vol, monte carlo, so I really appreciate your advice if my understanding is correct:


Suppose we price a Down and In Barrier Call Option using local vol and monte carlo, I think we should implement it like this:

Firstly, we calibrate local vol surface using Dupire formula: $$ \sigma_{LV}^2(T,K) = \frac{\Sigma^2 + 2\Sigma T \left( \frac{\partial \Sigma}{\partial T} + \mu(T)K \frac{\partial \Sigma}{\partial K} \right)} {\left( 1-\frac{Ky}{\Sigma} \frac{\partial \Sigma}{\partial K} \right)^2 + K \Sigma T \left( \frac{\partial \Sigma}{\partial K} - \frac{1}{4} K \Sigma T \left( \frac{\partial \Sigma}{\partial K} \right) ^2 + K \frac{\partial^2 \Sigma}{\partial K^2} \right)} \tag{1} $$ where $y = \text{ln}(K/F(0,T))$ and $\Sigma = \Sigma(T,K)$

Secondly, we simulate several paths of the stock price evolution using $S_i = S_{i+1}*e^{(r-0.5*\sigma^2)*\Delta{}t+\sigma*sqrt(\Delta{}t)*\epsilon_i}, $ $\Delta{}t=(T-t)/N,$ $t_i = t+\Delta{}t*i, i = 0,1,2...N$, so here is my doubt and again really appreciate your advice: what is $\sigma$ in the evolution? is it $\sigma(K,T)$, $K$ is the strike of the barrier option and $T$ is the time at step $i$ and $T=t_i = t+\Delta{}t*i$?

Thirdly, after computing all the paths (ex. number of path is 100) of stock price evolution, for all the stock price (at maturity time T of course) that is below the barrier, the corresponding barrier option prices are zero, and for all the stock prices that are above the barrier, we use payoff formula $max(S_T-K,0)$ to compute option prices, then we add up all the computed option prices and divide it by the number of paths, and discounted the average price to current time.

I'm wondering if my understanding is correct?


1 Answer 1


For the first question, you can just plug in t for T and S for K:

$\sigma^2 \left(t, S \right)=\left. \sigma^2 \left(T,K\right) \right|_{T=t,K=S}$

For the Monte Carlo part, the barrier would apply to the history of the stock price over some window (which could be from today to the option maturity, but other variations are possible) instead of just the terminal price. So for the lower knock in barrier call option, you will set the payoff equal to $\max \left(S_T-K, 0\right) 1_{m_T <l}$ where $m_T$ means the minimum stock price over, say the life of the option, and 1 is the indicator function, returning 1 if the condition is satisfied and zero otherwise. So you are only counting paths where the stock price has gone below the barrier l at some point and then the payoff under each of these paths is the standard call option payoff.

Now if the barrier is discreetly monitored, and these discrete time points coincide with the time discretisation of the monte carlo, then you can easily compute the minimum stock price. However, most of the time you will be dealing with continuous barrier, which is slightly tricky, because the stock price can go below the barrier between the discrete steps which our discrete simulation steps won't capture. But there is a trick to adjust for this - the trick uses reflection principle and the Girsanov theorem to compute the conditional probability of the price going below the barrier in each discrete time interval.

  • 2
    $\begingroup$ thanks a lot:) I always learned a lot from each of your answer:) @Magic is in the chain $\endgroup$
    – M00000001
    Commented Dec 19, 2019 at 18:29
  • 1
    $\begingroup$ Oh thank you! you are so kind! $\endgroup$ Commented Dec 19, 2019 at 18:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.