Timeline for Why is there a difference in American option prices when comparing pricing methods (Python)?
Current License: CC BY-SA 3.0
13 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Mar 10, 2018 at 15:30 | vote | accept | AlexAbrahams | ||
Mar 10, 2018 at 15:21 | history | edited | AlexAbrahams | CC BY-SA 3.0 |
Updated code according to answer
|
Mar 10, 2018 at 14:16 | answer | added | Yian Pap | timeline score: 5 | |
Mar 9, 2018 at 21:39 | comment | added | Ivan | Where payoff < continuation_value you should use that and not value(t+1) | |
Mar 9, 2018 at 21:01 | comment | added | Bob Jansen♦ |
I didn't copy all your changes but when I set sim = 5 ** 5 I see prices both below and above. Maybe convergence is the issue?
|
|
Mar 9, 2018 at 20:18 | comment | added | AlexAbrahams | @BobJansen Thanks for your comment. Sorry about that, I have retested and updated the code which returns put ~10 call~21 using Python 3.6. The polyfit warning is due to the degree of the fitted polynomial being quite high, if this is lowered (now 6) there's no warning. | |
Mar 9, 2018 at 20:17 | comment | added | Bob Jansen♦ |
I needed t = float((expiry_date - valuation_date) / 365) to get non-integer time steps. Now it runs and I see overestimation of the call value.
|
|
Mar 9, 2018 at 20:13 | history | edited | AlexAbrahams | CC BY-SA 3.0 |
Updated code
|
Mar 9, 2018 at 19:54 | comment | added | Bob Jansen♦ |
When I run this code, I get warnings: 53: RankWarning: Polyfit may be poorly conditioned regression = np.polyfit(GBM[t, :], value_matrix[t + 1, :] * discount, 8) and LSMC call price is 10 while put is 0.
|
|
Mar 9, 2018 at 19:42 | history | tweeted | twitter.com/StackQuant/status/972195997194563584 | ||
Mar 9, 2018 at 18:03 | history | edited | AlexAbrahams | CC BY-SA 3.0 |
deleted 1 character in body
|
Mar 9, 2018 at 17:54 | history | edited | AlexAbrahams | CC BY-SA 3.0 |
deleted 11 characters in body
|
Mar 9, 2018 at 14:59 | history | asked | AlexAbrahams | CC BY-SA 3.0 |