June 26th, 2008, 3:20 pm
QuoteOriginally posted by: graftonThanks Alan, I was looking for a reference where I could find the exact form of the non-central chi-squared distribution for ST. Eqn (1) in Schroder gives the density for S(T), valid for all S(T) > 0.This is all you need to simulate the call value. p.s.------------------------------------------------------------------------------------------Something like Mathematica would help, but if whatever platform you use has the Bessel function of eqn(1), try coding this (again schematic):Code F(ST) = int_0^ST pdf(x) dx, where pdf(x) = eqn(1) from SchroderDraw ST using the Inverse MethodNow, you should first confirm that F(x) is a defective distribution: F(infinity) = 1 - P_abs(S0,T) < 1.That means that when you make a random draw U such that F(infinity) < U <= 1, then there will be no root.To do this 'bad draw' check, I suggest working out F(infinity) analytically -- it's not too hard.Then, just interpret the bad draws as {S(T) = 0}, hence C(T) = 0, so continue() to the next draw (without a root search) My latest suggestion means: no worrys about nc chisquared implementation/arg restrictions, etc. But, you -do- need: a Bessel function, an integrator, a draw of a uniform variate, and a root finder.To actually implement the integration numerically, you may need to replace thelower limit by some small positive number, say a MachineEpsilon. In Mathematica, this would be about 1 hr project with less than 30 lines of code, I will guess.If you are able to do it this way, please report your success. Or maybe somebody on the board will do it and post some code.
Last edited by
Alan on June 25th, 2008, 10:00 pm, edited 1 time in total.