Take the 2-minute tour ×
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

For a vanilla option, I know that the probability of the option expiring in the money is simply the delta of the option... but how would I calculate the probability, without doing monte carlo, of the underlying touching the strike at some time at or before maturity?

share|improve this question
It seems like for a vanilla there should be a non-simulation way to calculate this. –  glyphard Feb 7 '11 at 22:51
This question is entitled the "probability of touching", but the OP was asking for the probability of an option expiring in the money. The two are not the same. Note how many folks mentioned "stopping time" and "barriers" in their answers. –  William S. Wong Nov 11 '12 at 5:52
@WilliamS.Wong - the OP is about probability of touching, before expiration. Read it again. –  glyphard Nov 11 '12 at 19:12
add comment

6 Answers

up vote 10 down vote accepted

There is a simple solution if there is no drift, as the probability $p(x,t)$ obeys a simple diffusion equation: $\mathrm{d}(p)/\mathrm{d}t = \frac{1}{2} \sigma^2 \frac{\mathrm{d}(\mathrm{d}(p))}{\mathrm{d}x^2}$, here $x$ is the price difference $\text{price}(t) - \text{price}(t=0)$. Of course there is a simple solution to the diffusion equation (using scaling as a method to solve the PDE):
$$ p(x,t) = (4\pi \frac{\sigma^2}{2} t)^{-\frac{1}{2}} \text{e}^{(-x^2/(4 \frac{\sigma^2}{2} t) )} $$ to find the probability of hiting a barrier $x$ on or before $T$ simply ( :} ) integrate, $$ \text{prob of hitting ($t \le T$)} = \int\limits_{t=0}^{T} p(x,t)\mathrm{d}t $$

share|improve this answer
that's what I was looking for, –  glyphard Feb 10 '11 at 21:45
I am trying to use this in Sage to approximate the probability of touching on a vanilla option. However, I don't think I am getting the correct results. I am using the volatility of the underlying (for example .30 for 30%) for sigma (not sigma squared) and then using the price of strike minus the current price for x. Is that the correct interpretation? For example, inputting the current price of 123.97, strike of 130, volatility of .30, and 30 days .. I am getting a .00107 which is much much less than the 50+% I get on online calculators that do the same thing. –  user1576 Oct 24 '11 at 18:57
I think something is wrong with the answer, I'm surprised so many people upvoted it. The original answer (before the edit) doesn't have the correct number of brackets so I'm not sure how the Editor has rewritten it into Latex. Would appreciate if someone could clarify / check this –  mchangun Jul 24 '13 at 5:56
add comment

Allow me to disagree with Jaydles' proposal ; his methodology is valid only if the events of touching the barrier on each were independent.

If you are working within the standard Black-Scholes framework, you're looking for the probability of a drifted Brownian motion hitting a fixed level before a fixed time ; this probability is derived in most stochastic calculus texts, see for example Karatzas-Shreve or Chesney-Jeanblanc-Yor.

Another way of seeing it : you're trying to price a knock-in digital option with 0 interest rate, or knock-in zero bond. You can find formulae for these in Peter Carr's work on barrier options.

share|improve this answer
the stocastic calculus approach is called 'first hitting time' or 'stopping time'. Shreve does not talk about actually calculating it. He just says, 'use monte carlo' There is a non-monte carlo method of calculating it, and that is what I am looking for. –  glyphard Feb 8 '11 at 16:19
OK. An approach without tedious computations is as follows : first find a nonzero real number $\gamma$ such that $X_t=S_t^{\gamma}$ is a martingale. This process $X$ now satisfies a "multiplicative reflection principle" : for any stopping time $T$, $X_{T+s}$ has the same law as $X_T^2/X_{T+s}$. Use this at $T_H$ (first hitting time of $H$) and mimic the classic reasoning for standard Brownian motion to find an expression of $P(T_H < t)$ as a function of $P(X_t > H)$, and finally, go back to $S$. –  egoroff Feb 8 '11 at 16:52
Shreve (in "Stochastic calculus for finance") does talk about calculating the distribution of the stopping time for Brownian motion. See chapter 4 or 5. –  quant_dev Feb 11 '11 at 7:55
add comment

This surely isn't the most efficient way, but if you want something quick and dirty:

You could run a vanilla model that calcs delta for each expiration date between now and expiration, and grab the delta for each. That would give you the likelihood that it's in the money at the close on any day.

From that, you can pretty easily calculate the odds that it's not in the money each day (just subtract the delta from one), multiply them all together, and subract the product from one to determine the likelihood that it closes above the strike between now and expiration.

This does require running the formula to calc delta many times, and it ignores the risk of an intra-day touch, but it doesn't require writing something to calc the exotic you're describing.

share|improve this answer
add comment

First of all, the delta is not the probability of the option in the black scholes model, it is instead the closely related N(d2) (binary probability)

Secondly, the black scholes model gives risk neutral probabilities - for a binary event this is ok, but it gives no correct measure of, say, how far you would be through

Thirdly, the options you are interested in are traded in the market - they are called binary no touch or one touch options ... there are several mechanisms to price, depending on your model for volatility ... black scholes pricers for them are available online, eg here http://www.volopta.com/Matlab.html

share|improve this answer
add comment

I believe you can modify my https://github.com/barrycarter/bcapps/blob/master/box-option-value.m to do this.

You're effectively looking for the distribution of the maximum (or minimum) of the price for a given period of time.

share|improve this answer
add comment

An asymptotic answer is

$$ p(t > \tau) \sim \mathrm{e}^{(-t/\tau)} \qquad \text{where $\tau = x^2/(\frac{\sigma^2}{2} \pi^2)$}; $$

However, as in much of statistics, asymptotic answers = "In the long-run" are not usually helpful to traders, or even investors. Example: say initial price $x_0=\$20$, and you wish the probability of reaching say, $x= \$25$ before $x = \$15$ with an annual $\sigma$ of say $0.2$. Convert $X$ to fractions, $X=(\$25-\$15)/\$15$, and calculate $\tau = 1.126$ years. That is without some drift and for reasonable values of the volatility, you are going to have to wait a long time.

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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