Paul has 4 equations in four unknowns. This allows us to explicitly find [$]C(S)[$].Now, needs a plot of an example ...
Yes! I like it. I assume it is a call.So, for a concrete non-trivial example, with initial price and strike both equal to 100, interest rate and expected (let’s say risk neutral) return equal to 5%, volatility 20%, and the holding cost H equal to 10 (units of currency per year, as a continuous flow) I get a value of 3.3833 with optimal upper and lower boundaries of 117.08 and 88.72.
What's the values when H = 0?So, for a concrete non-trivial example, with initial price and strike both equal to 100, interest rate and expected (let’s say risk neutral) return equal to 5%, volatility 20%, and the holding cost H equal to 10 (units of currency per year, as a continuous flow) I get a value of 3.3833 with optimal upper and lower boundaries of 117.08 and 88.72.
Well, both Paul and I have pointed out that with H=0, the problem is trivial, with optimal boundaries at infinity and zero and value of the option equal to S(0). I also explained one way to move a non-zero H from the interior to the boundaries. I sanity checked mine with a crude binomial, so I know it’s not wildly wrong. Again, this is an exact closed form solution for the problem with fixed boundaries, and I just did a simple minded grid search to locate the optimal boundaries. The problem appears to be nicely convex, at least in a region around the optimal solution. The hyperbolic cosines arise as fortuitous simplifications of the Laplace transforms of the densities of the first hitting time to each boundary, which is relevant because of a constant discount rate and infinite time horizon.What's the values when H = 0?So, for a concrete non-trivial example, with initial price and strike both equal to 100, interest rate and expected (let’s say risk neutral) return equal to 5%, volatility 20%, and the holding cost H equal to 10 (units of currency per year, as a continuous flow) I get a value of 3.3833 with optimal upper and lower boundaries of 117.08 and 88.72.
A sanity check is a lattice method with big T?
How can I (can I?) get H into a lattice model (is a rebate??)
Only when [$]\mu = r[$] and [$]H=0[$] will [$]V=S[$]?Well, both Paul and I have pointed out that with H=0, the problem is trivial, with optimal boundaries at infinity and zero and value of the option equal to S(0). I also explained one way to move a non-zero H from the interior to the boundaries. I sanity checked mine with a crude binomial, so I know it’s not wildly wrong. Again, this is an exact closed form solution for the problem with fixed boundaries, and I just did a simple minded grid search to locate the optimal boundaries. The problem appears to be nicely convex, at least in a region around the optimal solution. The hyperbolic cosines arise as fortuitous simplifications of the Laplace transforms of the densities of the first hitting time to each boundary, which is relevant because of a constant discount rate and infinite time horizon.What's the values when H = 0?So, for a concrete non-trivial example, with initial price and strike both equal to 100, interest rate and expected (let’s say risk neutral) return equal to 5%, volatility 20%, and the holding cost H equal to 10 (units of currency per year, as a continuous flow) I get a value of 3.3833 with optimal upper and lower boundaries of 117.08 and 88.72.
A sanity check is a lattice method with big T?
How can I (can I?) get H into a lattice model (is a rebate??)
I get 3.383322,117.072558,88.724408So, for a concrete non-trivial example, with initial price and strike both equal to 100, interest rate and expected (let’s say risk neutral) return equal to 5%, volatility 20%, and the holding cost H equal to 10 (units of currency per year, as a continuous flow) I get a value of 3.3833 with optimal upper and lower boundaries of 117.08 and 88.72.
For this Call, the unknowns can be computed offline (pencil and paper, or i-pad ugh) and then it's only about 3-4 lines of C++ code.This was calculated with a grid search over the last two arguments in this function:
function dd(s0,X,r,v,H,Bh,Bl)
bp=log(Bh/s0)
bm=log(Bl/s0)
mu=r-v^2/2
bet=sqrt(2*r*v^2+mu^2)
den=sinh(bet*(bp-bm)/v^2)
vp=exp(mu*bp/v^2)*sinh(-bet*bm/v^2)
vm=exp(mu*bm/v^2)*sinh(bet*bp/v^2)
Rp=Bh-X+H/r
Rm=H/r
(Rp*vp+Rm*vm)/den-H/r
end
I agree with those numbers, if not necessarily to the displayed precision. Whatever we’re doing seems to work (or at least fail in the same way).I get 3.383322,117.072558,88.724408So, for a concrete non-trivial example, with initial price and strike both equal to 100, interest rate and expected (let’s say risk neutral) return equal to 5%, volatility 20%, and the holding cost H equal to 10 (units of currency per year, as a continuous flow) I get a value of 3.3833 with optimal upper and lower boundaries of 117.08 and 88.72.
H = 30
0.910070,103,851610,96.547434
H = 40
0.667092, 102.779855,97.434
H = 100
0.256432,101.041778,98.989794
H = 10, S = 90
0.050581, 117.0725587, 88.724408
H = 10, S = 110
10.501202, 117.0725587, 88.724408
What's the reason for the slight(?) difference? Are you summing a series and/or a Newton-Raphson?I agree with those numbers, if not necessarily to the displayed precision. Whatever we’re doing seems to work (or at least fail in the same way).I get 3.383322,117.072558,88.724408So, for a concrete non-trivial example, with initial price and strike both equal to 100, interest rate and expected (let’s say risk neutral) return equal to 5%, volatility 20%, and the holding cost H equal to 10 (units of currency per year, as a continuous flow) I get a value of 3.3833 with optimal upper and lower boundaries of 117.08 and 88.72.
H = 30
0.910070,103,851610,96.547434
H = 40
0.667092, 102.779855,97.434
H = 100
0.256432,101.041778,98.989794
H = 10, S = 90
0.050581, 117.0725587, 88.724408
H = 10, S = 110
10.501202, 117.0725587, 88.724408