The Alternating Direction Explicit (ADE) Thread

Postby cppljevans » Fri Sep 23, 2011 4:43 pm

I think I figured it out. Since the only difference between the

two solutions is a constant, a:



a=1/(4*k*Pi)



then, by:



D(af) = a(Df)



from:



http://en.wikipedia.org/wiki/Differenti ... _operators



if one solution satisfies the homogeneous linear equation, any constant

multiple of that solution will also satisfy the same equation.



Sorry for noise :(
cppljevans
 
Posts: 14
Joined: Thu Jun 30, 2011 5:31 pm

Postby Cuchulainn » Fri Oct 28, 2011 11:57 am

Thanks for the feedback.
User avatar
Cuchulainn
 
Posts: 677
Joined: Mon Dec 18, 2006 2:48 pm
Location: Amsterdam, the Netherlands

Postby jige » Tue Aug 07, 2012 4:33 pm

Hello,



This is my first post here, so first let me thank you for all the details and time you took working on ADE and answering to people here and on wilmott.



After reading lot of posts and coding on my side, i successfully implemented an ADE-like PDE solver in 1D for classic european/american options (plain vanilla, barrier, asian).

I also did a 2D version for spread options which seems to fully work.



My question , as i'm not from a research background come for the cross-derivatives in 2D.



In the shepard thesis you find the expression for cross derivatives in the file attached.



I use this expression with W=0 which basicely is the explicit scheme.



As a consequence, because your method use two sweeps , one coming from downside and one coming from upside, with W=0 i use the EXPLICIT schemes for this crossed derivatives and don't see how to build an ADE like scheme.



Its not what for example you do with first order derivatives mixing u_n and u_n+1 (HERE n represent the time dimension) because neither u_n+1,i-1,j+1 nor u_n+1,i+1,j-1 is known when computing the U sweep or V sweep.



My question is, does the fact that for cross derivatives i use the EXPLICIT schemes but use ADE schemes for other derivatives make sense, does it break robustness, convergence or stability ? (i didn't remark it during my study on prices or greeks). Is ADE for cross derivatives equal to the Explicit schemes ?



Many thanks.[/img]
Attachments
07-08-12 4-37-52 PM.jpg
Shepard Cross Derivatives
07-08-12 4-37-52 PM.jpg (18.07 KiB) Viewed 41481 times
jige
 
Posts: 7
Joined: Mon Aug 06, 2012 8:27 pm

Postby Cuchulainn » Thu Aug 09, 2012 1:01 pm

Hi jige,

Nice to see that you are working with ADE.



An open maths issue is to mix ADE with Yanenko. Experimentally, it looks good.



Have you done some testing on this?



Is your work openly accessible?



regards



Daniel
User avatar
Cuchulainn
 
Posts: 677
Joined: Mon Dec 18, 2006 2:48 pm
Location: Amsterdam, the Netherlands

Postby jige » Thu Aug 09, 2012 7:45 pm

Thanks for your answer. I didn't find that much of information on google regarding Yanenko, is it about Yanenko splitting ?



Let me a little time to compile a good comparison of results on the 2D Dimension with flat vol, i'll come back at the end of the week end with data as i'm doing it after work.
jige
 
Posts: 7
Joined: Mon Aug 06, 2012 8:27 pm

Postby Cuchulainn » Fri Aug 10, 2012 8:15 am

Hi,

The Yanenko is discussed in Duffy's FDM book and



N.N. Yanenko "The Method of Fractionla Steps", Springer 1971.

hth
User avatar
Cuchulainn
 
Posts: 677
Joined: Mon Dec 18, 2006 2:48 pm
Location: Amsterdam, the Netherlands

Postby jige » Wed Aug 15, 2012 12:26 am

UPDATED POST

Hello,



Thanks, I followed your recommendation.

It improved my results, please find below where i got so far:



BS PDE 2D

Call on S1-S2

S1=100

S2=100

K=0

r=0

T=1 yr

sigma1=50%

sigma2=30%

rho=-60%



LEVELS UPDATED:



NX=NY=50,NT=50 Price: 28.1249



NX=NY=100,NT=100 Price: 28.1476

NX=NY=100,NT=200 Price: 28.1488

NX=NY=100,NT=300 Price: 28.1479 < bit of rounding errors here



NX=NY=200,NT=100 Price: 28.1216

NX=NY=200,NT=200 Price: 28.1494



NX=NY=300,NT=300 Price: 28.1487 < rounding errors



Exact Solution: 28.16

Error (for the NX=NY=NT=50) : 0.125%

Error (for the NX=NY=NT=100) : 0.044%



When i first posted here my results i had a little bug in my code You now find good figures.

The results are good and accurate (i also tested for a range of other values, it's about the same error)[/list]
Last edited by jige on Wed Aug 15, 2012 10:42 am, edited 1 time in total.
jige
 
Posts: 7
Joined: Mon Aug 06, 2012 8:27 pm

Postby Cuchulainn » Wed Aug 15, 2012 10:27 am

This is looking good.



Did you try values like



NT = 4*NX, NT = 4*NY



with NX and NY 100,200, 300 etc.?



Could you try the same exercise with rho = +0.6. There is a subtle relationship between the 'direction' S1-S2 and the sign of rho.
User avatar
Cuchulainn
 
Posts: 677
Joined: Mon Dec 18, 2006 2:48 pm
Location: Amsterdam, the Netherlands

Postby jige » Wed Aug 15, 2012 10:44 am

Cuchulainn wrote:This is looking good.



Did you try values like



NT = 4*NX, NT = 4*NY



with NX and NY 100,200, 300 etc.?



Could you try the same exercise with rho = +0.6. There is a subtle relationship between the 'direction' S1-S2 and the sign of rho.




find my updated post below. I'll now try for the other rho.
jige
 
Posts: 7
Joined: Mon Aug 06, 2012 8:27 pm

Postby jige » Wed Aug 15, 2012 11:41 am

With rho=0.6, Relative Error in ()



NX=NY=50,NT=50 Price: 15.772 (0.49%)

NX=NY=50,NT=100 Price: 15.815 (0.22%)

NX=NY=50,NT=200 Price: 15.833 (0.11%)





NX=NY=100,NT=100 Price: 15.807 (0.27%)

NX=NY=100,NT=200 Price: 15.832 (0.11%)

NX=NY=100,NT=400 Price: 15.843 (0.04%)



NX=NY=200,NT=200 Price: 15.824 (0.16%)



Exact Solution: 15.85



Testing with range of values, with NX=NY=NT=50 i come with a max error more important than with rho=-0.6, therefore i had to take NT=4NX to acquire the same level of accuracy.

The issue seems to get worse as the correlation increase. For rho=0.99 with NX=NY=100 NT=4NX i get around 1.8% error, it gets under 1% if i take NX=NY=200 and NT=4NX.

On the other hand, i got near 0% error (0.001%) for a rho=-0.99.

Do you think i might have a bug in my scheme or is the error in line with the way we constructed the solver ?
jige
 
Posts: 7
Joined: Mon Aug 06, 2012 8:27 pm

Postby jige » Mon Aug 20, 2012 6:57 pm

Hello,



I did more studies, in fact i have quite the same error for rho=0.9 than for rho=0.6, but after this, the closer i get to rho=1 the higher is my relative error.



With NT=100=NX=NY i can get near a 2% error on rho=0.99



After some experiments, it was hard improving a lot the result but i found by taking the full expression of cross-derivatives on Sheppard thesis and applying rho-dependent weights i get down the error to 1% without modifying the accuracy on the rest of the domain (rho<1).



I dont think i can get more accuracy (which is already very good) with such method.



If you want to test on other payoff ask me , i'd happy to try.
jige
 
Posts: 7
Joined: Mon Aug 06, 2012 8:27 pm

Postby jige » Sat Sep 01, 2012 11:51 pm

update below
jige
 
Posts: 7
Joined: Mon Aug 06, 2012 8:27 pm

Postby Cuchulainn » Mon Jun 24, 2013 8:15 am

Update:

On paper the B&C scheme has O(dt^2) convergence but in practice round-off errors cause (some) degradation when NS >> NT. The scheme is conditionally consistent (e.g. Saul'yev is O(dt/h + dt + dt^2/h) so I take the scenario of fixing NS and iterating dt -> dt/w until u(dt) - u(dt/2) <= TOL (Cauchy sequence). We see convergence is monotone. So we have an adaptive scheme in time.



With B&C all I can say is that U and V work arrays don't cancel each other in the computer.



I have found nowhere where this B&C issue is discussed. Maybe no one has done stress tests, e.g. NT = 2400, NS = 8580. In general NT ~ NS is fine but you may not always have that luxury.





Quote



--------------------------------------------------------------------------------

Campbell/Yin made the same observation of the tendency for spatial amplification of errors in the implementation of Saul'yev/Roberts and Weiss. I doubt their reasoning can completely explain this phenomenon, though.

--------------------------------------------------------------------------------







Now I tried Saul'yev original scheme and get the same good results but now I only need TWO work arrays (parallelisation will be easier).



I tried it initially for 1-factor plain Black Scholes and one wants it to work for all parameter ranges.



==

I'll post more when I investigate some more.
User avatar
Cuchulainn
 
Posts: 677
Joined: Mon Dec 18, 2006 2:48 pm
Location: Amsterdam, the Netherlands

Re: The Alternating Direction Explicit (ADE) Thread

Postby Cuchulainn » Tue Jul 15, 2014 12:56 pm

User avatar
Cuchulainn
 
Posts: 677
Joined: Mon Dec 18, 2006 2:48 pm
Location: Amsterdam, the Netherlands

Previous

Return to Finite Difference Methods

Who is online

Users browsing this forum: No registered users and 0 guests

cron