SERVING THE QUANTITATIVE FINANCE COMMUNITY

VivienB
Posts: 130
Joined: August 6th, 2012, 3:32 pm

### Re: Cheyette Unstability in PDE

Hi,

If you use linear local volatility, replacing the term y (in $dy(t) = [\sigma(t, x(t))^2 - 2\chi(t) y(t)]dt$) with its expectation leads to quite good prices (this is the approximation used to calibrate on swaptions on the Piterbarg Andersen book, and after testing I found that it works for many other payoffs).

Then, the approximated pde has only 1d, and can be solved accurately and fast with Implicit Euler + Richardson Extrapolation.

Cuchulainn
Posts: 62888
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

### Re: Cheyette Unstability in PDE

ferdelo
AFAIR Landgraf mentions IMEX methods (implicit in x, explicit in y), It is conditionally stable but benign

Or ADE as in the article together with Alan and Paul.
Step over the gap, not into it. Watch the space between platform and train.
http://www.datasimfinancial.com
http://www.datasim.nl

ferdelo
Topic Author
Posts: 9
Joined: September 11th, 2016, 8:31 am

### Re: Cheyette Unstability in PDE

Thanks again Cuchulain ..!

I just tried what VivienB proposed (project onto 1D PDE by freezing y_t to its mean) and i don't get good values for long maturities and medium to high volatilities. Perhaps i should modify $\bar{y}_t$ so as to be fit to the interest rate term structure by solving the PDE forward, but then i would lose analytical tractability.

I think that the implementation with the upwind scheme is working reasonable well. Solution looks stable and with no oscillations. Only for mtys > 20y i have to play a litlle bit with the grid to achieve good convergence (i have to raise the number of points more than i would expect) . I'm implementing a coordinate transform just to make emphasis on some parts of the grid. I will try to make the 5-point discretization work and try to get some sensitivity to some results i find counterintuitive.

Thank u very much for everything ....

VivienB
Posts: 130
Joined: August 6th, 2012, 3:32 pm

### Re: Cheyette Unstability in PDE

Hi,

I just tried on a 20y EUR swap, pay 1%, receive EURIBOR 6M, with data as if 2017-01-06, no multi curve, and got:
Market swap price = 399.97bps
Pde qG price (grid size = 51, time step = 50days) = 396.80bps
Pde qG price, vols + 10 vol points: 397.16bps

Are these bad results for you?

What formula did you use for $\bar y(t)$?

Cuchulainn
Posts: 62888
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

### Re: Cheyette Unstability in PDE

Hi,

I just tried on a 20y EUR swap, pay 1%, receive EURIBOR 6M, with data as if 2017-01-06, no multi curve, and got:
Market swap price = 399.97bps
Pde qG price (grid size = 51, time step = 50days) = 396.80bps
Pde qG price, vols + 10 vol points: 397.16bps

Are these bad results for you?

What formula did you use for $\bar y(t)$?
VivienB,
What is your PDE specification? I'd like to have a go with your input
Step over the gap, not into it. Watch the space between platform and train.
http://www.datasimfinancial.com
http://www.datasim.nl

VivienB
Posts: 130
Joined: August 6th, 2012, 3:32 pm

### Re: Cheyette Unstability in PDE

The model is:
$dx(t) = [y(t) - \chi x(t)] dt + \sigma(t, x(t)) dW(t)\\ dy(t) = [\sigma(t, x(t))^2 - 2\chi y(t)] dt\\ x(0) = y(0) = 0\\ \sigma(t, x) = \alpha(t) + \beta(t)x\\ r(t) = f(0, t) + x(t)$

Then, the pricing pde is
$\partial_t v(t, x, y) + \frac{\sigma(t, x)^2}{2}\partial^2_x v(t, x, y) + (y - \chi x) \partial_xv(t, x, y) + (\sigma(t, x)^2 - 2\chi y)\partial_y v(t, x, y) - (f(0, t) + x)v(t, x, y) = 0$

For the sake of simplicity you can try with $\chi = 0.01, \alpha = 0.007, \beta = 0.1$ and $f(0, t) = 0.01$.

Note that on this model, the zero coupon bond price is given by:
$P(t, T) = \frac{P(0, T)}{P(0, t)} exp[-G(t, T)x(t) - \frac{G(t, T)^2}{2}y(t)]\\ G(t, T) = \frac{1 - e^{-\chi(T-t)}}{\chi}$

This forumua is needed to compute the EURIBOR prices: $\delta L(t, \delta) = \frac{1}{P(t, t + \delta)}-1$

Maybe you can start to solve this PDE with the price of the product that pays $\delta L(t, \delta)$ at $t + \delta = 20Y$ with $\delta = 6M$, ie the initial condition of the PDE is:
$u(t, x, y) = \delta L(t, \delta, x, y) P(t, t + \delta, x, y)$
Last edited by VivienB on January 13th, 2017, 3:56 pm, edited 1 time in total.

Cuchulainn
Posts: 62888
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

### Re: Cheyette Unstability in PDE

Thanks!
Step over the gap, not into it. Watch the space between platform and train.
http://www.datasimfinancial.com
http://www.datasim.nl

Paul
Posts: 10794
Joined: July 20th, 2001, 3:28 pm

### Re: Cheyette Unstability in PDE

Usually the drift coefficient isn't differentiated...

VivienB
Posts: 130
Joined: August 6th, 2012, 3:32 pm

### Re: Cheyette Unstability in PDE

Oups sorry there is a typo. I'll edit the formula.

ferdelo
Topic Author
Posts: 9
Joined: September 11th, 2016, 8:31 am

### Re: Cheyette Unstability in PDE

I have solved the PDE:

$\partial_t V + \left( \bar{y}_t - 2 \chi x_t \right)\partial_x V + \frac{1}{2}\sigma(t, x)^2 \partial_{xx}V - r_t V = 0$

Where $\bar{y}_t = \frac{\alpha^2}{2 \chi} \left(1- e^{-2 \chi t} \right)$ in case of constant parameters.

Parameteres:
$\alpha = 70$bp
$\beta = 10 \%$
$\chi = 10 \%$

Payer (K = 0.5%) IRS 10y-10y Float/Fixed Leg Annually. Flat curve r = 1% Notional = 100:
IRS Analytic price: 4.3249454183069282
1D PDE: 4.3294168474691208

Payer (K = 0.5%) IRS 20y-10y Float/Fixed Leg Annually. Flat curve r = 1% Notional = 100:
IRS Analytic price: 3.9125571608370682
1D PDE: 3.9331174536054538

It looks pretty good (i would say ..!). Hoewver, when i use $\chi = -10 \%$ i got bad results (most surely because i'm doing something wrong ). I have tried to approximate $\bar{y}_t$ numerically by solving a system of ODEs and getting the solution into a monotonic spline and results improve but not enough.

Obviously i am doing something different  to you (hope not a capital sin ...).

VivienB
Posts: 130
Joined: August 6th, 2012, 3:32 pm

### Re: Cheyette Unstability in PDE

I'll give a try on Monday with small values of the mean rev (and negatives).
The results I gave were still for a small mean reversion (between 0% and 1%, but can't tell you exactly how much). When the mean rev is negative, it is not surprising to have bad results for long maturities, as in this case the expectation and the variance of the short rate tends to $\infty$ when the maturity tends to $\infty$ (In my implementation of the calibration of the model, I don't accept constant negative mean rev, it can only be negative if it is time dependant and is positive on the long term).

Cuchulainn
Posts: 62888
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

### Re: Cheyette Unstability in PDE

Hi,

If you use linear local volatility, replacing the term y (in $dy(t) = [\sigma(t, x(t))^2 - 2\chi(t) y(t)]dt$) with its expectation leads to quite good prices (this is the approximation used to calibrate on swaptions on the Piterbarg Andersen book, and after testing I found that it works for many other payoffs).

Then, the approximated pde has only 1d, and can be solved accurately and fast with Implicit Euler + Richardson Extrapolation.
Thinking out loud..

Assuming we can view the above as a ~ ODE then $y$ growth is unbounded when $\chi < 0$, yes? Maybe some kind of Feller condition?(?)

And the 'heuristic' (?) to transform 2-factor PDE to 1-factor PDE has been mathematically justified? i.e. are relevant properties of the 2d case are preserved in the 1d case?
Step over the gap, not into it. Watch the space between platform and train.
http://www.datasimfinancial.com
http://www.datasim.nl

VivienB
Posts: 130
Joined: August 6th, 2012, 3:32 pm

### Re: Cheyette Unstability in PDE

This heuristic has been made directly on the SDE, not on the corresponding PDE. It's a classical "drift freezing" method. Obviously, some properties are broken with this approximation, otherwise we wouldn't misprice a swap (this approximation breaks the fitting of the initial yield curve, because by construction on the HJM framework, y must be equal to is expression under the qG model).

The justification is that empirically, it provides good enough results to calibrate on swaptions (even in the linear local vol + stoch vol case).

Cuchulainn
Posts: 62888
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

### Re: Cheyette Unstability in PDE

I am a bit on the outside looking in on this problem. It does seem strange that it breaks down for negative $\chi$. If it is caused by numerics then it is easy to resolve. It could be that the model is being stretched?

Anyways (might be an idea) is to transform the $x$ part of PDE

(1) $dV/dt = a(V_x)_x + b V_x$ to conservative form

(2) $dV/dt = A(BV_x)_x$

where A and B are easy to find. No convection in (2). Non-uniform grids possible.

Plan B: use exponential fitting for (1), at least it is insensitve to krazee convections.

This heuristic has been made directly on the SDE, not on the corresponding PDE.
But this new PDE 'orignates' form the 'frozen' SDE I assume?
Step over the gap, not into it. Watch the space between platform and train.
http://www.datasimfinancial.com
http://www.datasim.nl

VivienB
Posts: 130
Joined: August 6th, 2012, 3:32 pm

### Re: Cheyette Unstability in PDE

It is not surprising that a naive numerical method fails with negative mean rev, as it implies diverging process, then it probably require a more robust / cleaver numerical method to use. To continue with your analogy, there are similar effect with the heston pde when the Feller condition is violated. As an anecdote, our first version of the LSV calibration were made using the standard Fokker Planck method, but depending on whether the Feller condition was verified or not, we needed to use a different parameterization of the PDE for the calibration to work on both cases (now we don't have this problem anymore thanks to the particle method).

Yes indeed, the new PDE is derived from the frozen SDE.

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

 JOBS BOARD

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

GZIP: On