SERVING THE QUANTITATIVE FINANCE COMMUNITY

 
User avatar
Cuchulainn
Posts: 59713
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

Testing

February 15th, 2012, 6:12 pm

QuoteOriginally posted by: AlanQuoteOriginally posted by: CuchulainnAlan,I am rounding off my investigations on two-assets (in between the other duties) and even for large rho OK.In fact, all I need is that the full Heston IBVP (PDE + domain) be specified and my ADE can use it as a black box using well-known UDT(). Ideally, absorbing BC would be great, otherwise need to modify the BC.This is the style for 2-factor options. I have the coefficients somewhere for Heston, but have forgotten/don't know BC for S and v (Fichera say solve a 1st oder system at v = 0, but can it be done mote easily??)Heston at v=0 is exactly the same discussion we already had for CIR at r=0 in this threadYou may recall that I argued strongly against this notion of a separate (uncoupled) pde at the boundary, as thedifference approx there is stronly coupled to the interior -- recall you came to agree with that.Yep.I can solve that, in all cases. So either absorbing (case 1) or the coupled case 2. Doable. I have written the scheme but it's not yet in C++.Need more hands on deck Any MSc/PhD students out there?
Last edited by Cuchulainn on February 14th, 2012, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 59713
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

Testing

February 18th, 2012, 11:14 am

QuoteFor SV models, large |rho| is also a difficult numerical regime. When you get to it, will be interesting tosee your error plots for, say, Heston model with rho in (-1,-0.9) combined withvolatility of volatility ~ O(1) and also small (not sure which is the more difficult for pde'sFor example, my OptionCity calculator uses the Leisen lattice algorithm and this has a specific limitation: |rho| < Sqrt[3/4]I'll have to see how Mathematica's NDSolve does for some extreme rho.Do you get these problems with NDSolve as well as Leisen method? My feeling is that rho is not a show-stopper in general. What are effects of applying 'wrong' but 'easy' BCs on accuracy?If we take the non-Feller case - thus allowing Dirichlet BC - then all I would need is the BC for a call (put)1. S = 0, S = 11. v = 0, v = 1//and input data as well would be nice as well.BTW there are 3 interpretations of Heston which result in different input parameters.
Last edited by Cuchulainn on February 17th, 2012, 11:00 pm, edited 1 time in total.
 
User avatar
Alan
Posts: 9787
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Testing

February 18th, 2012, 3:49 pm

QuoteOriginally posted by: CuchulainnQuoteFor SV models, large |rho| is also a difficult numerical regime. When you get to it, will be interesting tosee your error plots for, say, Heston model with rho in (-1,-0.9) combined withvolatility of volatility ~ O(1) and also small (not sure which is the more difficult for pde'sFor example, my OptionCity calculator uses the Leisen lattice algorithm and this has a specific limitation: |rho| < Sqrt[3/4]I'll have to see how Mathematica's NDSolve does for some extreme rho.Do you get these problems with NDSolve as well as Leisen method? My feeling is that rho is not a show-stopper in general. What are effects of applying 'wrong' but 'easy' BCs on accuracy?If we take the non-Feller case - thus allowing Dirichlet BC - then all I would need is the BC for a call (put)1. S = 0, S = 11. v = 0, v = 1//and input data as well would be nice as well.BTW there are 3 interpretations of Heston which result in different input parameters.OK, I just tried my (hybrid) generic pde solver that handles what I call the SV(p) model:dV = (a - b V) dt + c V^p dW, taking p=(1/2)=Heston and a = b = c = V0 = T =1 and S0 = K = 100, Cost of carry parameters=0Also the number of spatial points was 100.This is really a cheat for your question because my hybrid method solves a pde in 1 spatial dimension andthen does the Fourier integration. But, you may find the test values useful. Call=Put values for various rho: rho pde(hybrid) `exact'-----------------------------0.0 37.3996 37.3994-0.1 37.0937 37.0934-0.2 36.7926 36.7924-0.3 36.4958 36.4957-0.4 36.2030 36.2028-0.5 35.9137 35.9135-0.6 35.6277 35.6275-0.7 35.3449 35.3446-0.8 35.0651 35.0649-0.9 34.7888 34.7884-1.0 34.5166 34.5158So, at least by this hybrid method, extreme rho is no problem for NDSolve.If you apply the wrong boundary conditions and the boundary is hittable, you'll get convergence tothe wrong solution. If the boundary is not hittable, interior values (but not the boundary value) can converge tothe correct solution, but it is not a clean approach, IMO.What are the 3 interpretations of Heston?
Last edited by Alan on February 17th, 2012, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 59713
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

Testing

February 18th, 2012, 4:56 pm

The different kinds of Heston are here QuoteSo, at least by this hybrid method, extreme rho is no problem for NDSolve.Good. One problem less.
Last edited by Cuchulainn on February 17th, 2012, 11:00 pm, edited 1 time in total.
 
User avatar
Alan
Posts: 9787
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Testing

February 18th, 2012, 7:42 pm

Here's some more test data for you: again the SV(p) model defined in my previous post with power p on the volatility of volatility term.Same parameters as before, but now rho = -0.9 and various powers p:p Call Value( hybrid pde method)-- ----------------------------------------0.50 34.78870.75 34.61821.00 34.48051.25 34.36851.50 34.2766(I tweaked my code a little between posts, which is why the p=1/2 case changed in the last digit by 1)I would trust the first 4 digits here (might be better) ...
Last edited by Alan on February 17th, 2012, 11:00 pm, edited 1 time in total.
ABOUT WILMOTT

PW by JB

Wilmott.com has been "Serving the Quantitative Finance Community" since 2001. Continued...


Twitter LinkedIn Instagram

JOBS BOARD

JOBS BOARD

Looking for a quant job, risk, algo trading,...? Browse jobs here...


GZIP: On