I'm looking for a math formula that can give me the probability that a stock price will reach (or move beyond) a certain target price within a certain time frame. I'm imagining this formula would be something a "one touch" exotic option calculator would use. Where is takes into consideration things like: Current stock price Target strike price Volatility Risk Free interest Time duration etc. Can anybody help me with this? (I would also be interested in free or low cost calculators that can do this, but I think in the end I also want the actual formula).
http://www.optionvueresearch.com/webtools2/ProbabilityCalculator.asp Don't think this is what you want but when you asked this came to mind.
In order to create a probablity function you need to analyze a frequency distribution. There is no one formula to do this. You can run any number of statistical studies on the distribution, and you can vary how you define the distribution. This is really what auction market theory (what Market Profile has evolved into) is all about. But, it's not nearly as simple as just coming up with "the" formula to determine probablity of something happening. I'd recommend studying statistics, probablity, and game theory; and start getting comfortable with Excel.
petefern, Actually that calculator was pretty much what I'm looking for, so thanks. For anyone interested: I also found another calculator here: http://www.hoadley.net/options/barrierprobs.aspx (Unfortunately it only let's you calculate a few times per hour -- as its only a demo.) I noticed that the two calculators give quite different values for the "probability of touching a barrier at any time during the period". I think the hoadley one is more accurate -- as I believe this probability should be about double the "probability of finishing above the target". (The optionvue gave me numbers that seemed way too high.) bundlemaker, Yeah, I guess a "single" formula would be too easy... That auction market theory stuff sounds interesting - I'll have to look into that.
I too am looking for a formula that will calculate a probability that a stock / index price will âtouchâ a level at ANYTIME given Spot price / Target price / Time to Exp / Volatility. The calculator links above are useful, but not what Iâm looking for â I need the formula(s). There is such a formula â if not then the only way that either of those on-line calculators could produce a probability figure would be using Monte-Carlo simulation, and theyâre far too quick for that to be the case. Any pointers ?
Also this is the basic code implementation of the formulas.... Regards Function snorm(z As Double) as double Dim pi as double pi=3.14159265358979 Dim a1 as double,a2 as double,a3 as double,a4 as double,a5 as double,k as double,w as double a1 = 0.31938153 a2 = -0.356563782 a3 = 1.781477937 a4 = -1.821255978 a5 = 1.330274429 If 0 > z Then w = -1 Else w = 1 k = 1 / (1 + 0.2316419 * w * z) snorm = 0.5 + w * (0.5 - 1 / Sqr(2 * pi) * Exp(-z ^ 2 / 2) * (a1 * k + a2 * k ^ 2 + a3 * k ^ 3 + a4 * k ^ 4 + a5 * k ^ 5)) End Function ' m drift ' s standard deviation ' t time ' H up barrier ' L down barrier ' K1,K2 barriers ' ST starting price ' ProbPTBB probability at time t the price is below the barrier ' ProbPTUB probability at time t the price is above the barrier ' ProbMaxPTUB probability at any time until t max price is crossing above the up barrier ' ProbMaxPTBB probability at any time until t max price is below the barrier ' ProbMinPTBB probability at any time until t min price is crossing bellow the down barrier ' ProbMinPTUB probability at any time until t min price is above the down barrier ' ProbFPBBMaxPTUB probability final price is below K1 and max price is crossing above the up barrier ' ProbFPUBMinPTBB probability final price is above K2 and min price is crossing below the down barrier Function ProbPTBB(m as double, s as double, t as double, H as double, ST as double) as double Dim MM as double MM=m-s^2/2 ProbPTBB=snorm((log(H/ST)-MM*t)/(s*sqr(t))) End Function Function ProbPTUB(m as double, s as double, t as double, H as double, ST as double) as double Dim MM as double MM=m-s^2/2 ProbPTUB=1-snorm((log(H/ST)-MM*t)/(s*sqr(t))) End Function Function ProbMaxPTUB(m as double, s as double, t as double, H as double, ST as double) as double Dim MM as double MM=m-s^2/2 ProbMaxPTUB=snorm((-log(H/ST)+MM*t)/(s*sqr(t)))+((H/ST)^(2*MM/s^2))*snorm((-log(H/ST)-MM*t)/(s*sqr(t))) End Function Function ProbMaxPTBB(m as double, s as double, t as double, H as double, ST as double) as double Dim MM as double MM=m-s^2/2 ProbMaxPTBB=1-(snorm((-log(H/ST)+MM*t)/(s*sqr(t)))+((H/ST)^(2*MM/s^2))*snorm((-log(H/ST)-MM*t)/(s*sqr(t)))) End Function Function ProbMinPTBB(m as double, s as double, t as double, L as double, ST as double) as double Dim MM as double MM=m-s^2/2 ProbMinPTBB=snorm((log(L/ST)-MM*t)/(s*sqr(t)))+((L/ST)^(2*MM/s^2))*snorm((log(L/ST)+MM*t)/(s*sqr(t))) End Function Function ProbMinPTUB(m as double, s as double, t as double, L as double, ST as double) as double Dim MM as double MM=m-s^2/2 ProbMinPTUB=1-(snorm((log(L/ST)-MM*t)/(s*sqr(t)))+((L/ST)^(2*MM/s^2))*snorm((log(L/ST)+MM*t)/(s*sqr(t)))) End Function Function ProbFPBBMaxPTUB(m as double, s as double, t as double, H as double, K1 as double, ST as double) as double Dim MM as double MM=m-s^2/2 ProbFPBBMaxPTUB=((H/ST)^(2*MM/s^2))*snorm((log(K1/ST)-2*log(H/ST)-MM*t)/(s*sqr(t))) End Function Function ProbFPUBMinPTBB(m as double, s as double, t as double, L as double, K2 as double, ST as double) as double Dim MM as double MM=m-s^2/2 ProbFPUBMinPTBB=((L/ST)^(2*MM/s^2))*snorm((-log(K2/ST)+2*log(L/ST)+MM*t)/(s*sqr(t))) End Function
There's a simple formula for so-called "confidence intervals": expected range = (#st.devs) * stock * (annualized) volatility * sqrt(#days/365) e.g. 1 st.dev stock at $30 volatility 40% 1 day exp. range = 1*30*0.4*0.052 = 0.63 So this stock would be expected to trade within +/- 0.63 points the following 1 day, with a 1 st.dev (= 67%) confidence. Of course there is a choice of input volatility: historical volatility (which lookback period?) or stock's options IV?
Hi gbos, Thank you for the formula and the interesting pointers. In your formula, I believe that you assume that the underlying process of the issue is Brownian Motion. Is this valid for let's say index futures in a short timeframe (0.5 to 1min)? How do you actually get at your formula for your snorm function? Correct me if I am wrong, but I thought that in computing the different probabilities you dropped one or two terms as compared to Thorp. Thank you, nononsense