Serving the Quantitative Finance Community

 
User avatar
Alan
Posts: 2958
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Re: American options with two free boundaries

January 30th, 2021, 7:37 pm

Now, needs a plot of an example ...
 
User avatar
Cuchulainn
Topic Author
Posts: 20252
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: American options with two free boundaries

January 31st, 2021, 7:12 pm

Paul, correctement (pardon my French). Same as my answer. What about

. other payoffs. No analytical solution I reckon.
. finite horizon (time-dependent), it's like a mushy Stefan. This could  be front-fixing X 2.
Last edited by Cuchulainn on January 31st, 2021, 7:35 pm, edited 3 times in total.
 
User avatar
Cuchulainn
Topic Author
Posts: 20252
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: American options with two free boundaries

January 31st, 2021, 7:14 pm

Now, needs a plot of an example ...
Paul has 4 equations in four unknowns. This allows us to explicitly find [$]C(S)[$].
I have C++ for 1 bdy case. It is no deal to modify it. What kind of plot?

So, an explicit solution for

S < [$]S_*[$]
[$]S_*[$] <= S <= [$]S^*[$]
S > [$]S^*[$]
 
User avatar
bearish
Posts: 5186
Joined: February 3rd, 2011, 2:19 pm

Re: American options with two free boundaries

January 31st, 2021, 9:25 pm

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.
 
User avatar
bearish
Posts: 5186
Joined: February 3rd, 2011, 2:19 pm

Re: American options with two free boundaries

January 31st, 2021, 9:46 pm

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
 
User avatar
Cuchulainn
Topic Author
Posts: 20252
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: American options with two free boundaries

February 1st, 2021, 8:54 am

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.
Yes! I like it. I assume it is a call.
I'll modify the code and get back.

I suppose you are using some kind of nonlinear solver (whats does sinus hyperbolicus do?) For the OP I think I might be able to get an analytical form.

// On notation
The 'obstacle' inequality is really instantaneous stopping [$]C(S) = max(0,S-K)[$] at the 2 free boundaries.
And also smooth fit of derivative at 2 free boundaries gives 2 more conditions.
As in Paul's post.
 
User avatar
Cuchulainn
Topic Author
Posts: 20252
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: American options with two free boundaries

February 1st, 2021, 10:34 am

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?
A sanity check is a lattice method with big T?

How can I (can I?) get H into a lattice model (is a rebate??)
 
User avatar
bearish
Posts: 5186
Joined: February 3rd, 2011, 2:19 pm

Re: American options with two free boundaries

February 1st, 2021, 11:53 am

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?
A sanity check is a lattice method with big T?

How can I (can I?) get H into a lattice model (is a rebate??)
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.
 
User avatar
Cuchulainn
Topic Author
Posts: 20252
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: American options with two free boundaries

February 1st, 2021, 3:31 pm

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?
A sanity check is a lattice method with big T?

How can I (can I?) get H into a lattice model (is a rebate??)
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.
Only when [$]\mu = r[$] and [$]H=0[$] will [$]V=S[$]?
Even for a 'normal American' it will not hold.
 
User avatar
Paul
Posts: 6604
Joined: July 20th, 2001, 3:28 pm

Re: American options with two free boundaries

February 1st, 2021, 4:30 pm

Infinite time horizon.
 
User avatar
bearish
Posts: 5186
Joined: February 3rd, 2011, 2:19 pm

Re: American options with two free boundaries

February 1st, 2021, 4:32 pm

If you want to have a philosophical discussion about real options valuation, that probably belongs in a separate thread. Can we just agree to keep this in a Black Scholes world, in which case [$] \mu [$] doesn’t matter? As for the “only if” part, H>0 will imply V<S, since the outflows will make you strictly worse off than in the case where H=0, regardless of early exercise policy.
 
User avatar
Cuchulainn
Topic Author
Posts: 20252
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: American options with two free boundaries

February 1st, 2021, 8:18 pm

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.
I get 3.383322,117.072558,88.724408

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
 
User avatar
Cuchulainn
Topic Author
Posts: 20252
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: American options with two free boundaries

February 1st, 2021, 8:21 pm

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
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.
 
User avatar
bearish
Posts: 5186
Joined: February 3rd, 2011, 2:19 pm

Re: American options with two free boundaries

February 2nd, 2021, 1:13 am

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.
I get 3.383322,117.072558,88.724408

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
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).
 
User avatar
Cuchulainn
Topic Author
Posts: 20252
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: American options with two free boundaries

February 2nd, 2021, 11:57 am

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.
I get 3.383322,117.072558,88.724408

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
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).
What's the reason for the slight(?) difference? Are you summing a series and/or a Newton-Raphson?
In fairness, we have exact forms for A,B and the S stars as the payoff is simple.