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

Thanks for the feedback.

Cuchulainn

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

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
Shepard Cross Derivatives
07-08-12 4-37-52 PM.jpg (18.07 KiB) Viewed 42304 times
jige

Posts: 7
Joined: Mon Aug 06, 2012 8:27 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?

regards

Daniel

Cuchulainn

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

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

Hi,

The Yanenko is discussed in Duffy's FDM book and

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

hth

Cuchulainn

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

UPDATED POST

Hello,

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

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.

Cuchulainn

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

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

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

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

update below
jige

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

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.

Cuchulainn

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

Cuchulainn

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

Previous