• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Negativity in the approximation of a CIR model by Ito-Taylor expansion

Joined
12/7/10
Messages
7
Points
11
Let (X = (X_t: t \in [0,T])) be a stochastic process satisfying a CIR model.
(dX_t = \beta (X_t - \gamma) dt + \sigma\sqrt{X_t} dB_t,)

where (B_t) is a standard Brownian motion, (\beta) is a negative constant, (\gamma, \sigma) are positive constants. In order for the SDE to make sense, assume that (X_t > 0) for all ( t \in [0,T] ).

Consider following two ways to simulate the model based on Ito-Taylor expansion to disretize the model in (t):

1. the Euler scheme:
(X_{t + \Delta} \approx X_t + \beta(X_t - \gamma)\Delta + \sigma \sqrt{X_t} Z \Delta, )

2. the Milstein scheme:
(X_{t + \Delta} \approx X_t + \beta(X_t - \gamma)\Delta + \sigma \sqrt{X_t}Z\sqrt{\Delta} + \frac{1}{4}\sigma^2 \Delta (Z^2-1))

where (Z) is (N(0, 1)) Gaussian variable. I was wondering why these two schemes have a positive probability of generating negative values of (X_t) and therefore cannot be used without suitable modifications.

Thanks and regards!
 
The Euler scheme is called conditionally stable because the time step delta_t must be less than some value in order to ensure positivity, stability. This is well known in PDE and there it is never used in production systems.

We know that X(t) > 0 if X(0) > 0 for CIR SDE.

For Euler, the approx. solution Y(n+1) can become negative if the Wiener increments go below a certain negative value. That's just the way it is, unless you start doing non-constant mesh sizes. Euler is just bad. Milstein in my experience is not much better. A better scheme in general is Predictor Corrector.

Another approach (in Glasserman) is to simulate the SDE using the non-central Chi^2 distribution which resolves Euler problem.

On the next level, if you want to price bonds, using CIR the most robust and efficient numeric solution is to use PDE/FDM methods.
 
Thanks Daniel and ThinkDifferent!

Nice to know about the other better ways to go!

I am still wondering why, in Euler scheme for SDE, the time step must be less than some value to ensure the probability of going negative is zero? Is there also some similar requirement for the Milstein scheme?

If possible, it will be nice if someone can point out some references that can explain the reasons for above for SDE and even just non-stochastic PDE/ODE.

The Euler scheme is called conditionally stable because the time step delta_t must be less than some value in order to ensure positivity, stability.
We know that X(t) > 0 if X(0) > 0 for CIR SDE.

For Euler, the approx. solution Y(n+1) can become negative if the Wiener increments go below a certain negative value.
 
I was wondering why these two schemes have a positive probability of generating negative values of (X_t) and therefore cannot be used without suitable modifications.
Thanks and regards!
Are you looking for an actual proof or intuition? Basically, you're discretizing your model, which means you're only approximating it within a certain degree of accuracy. Because of this you do introduce errors, in this case negative values. Also take a look at the discretizations, the way you've written them, (\beta<0) so if (X_t>\gamma) the term involving these quantities is negative. Also the terms involving Z may become negative, the term in Milstein with Z^2-1 can also become negative. Thus it is conceivable (and actually happens) that (X_t) becomes negative.

(\Delta) should be small to keep the negative terms small enough when they occur, to keep the whole process positive. Offhand I don't know if there is a value of (\Delta) that will guarantee a positive (X_t).

There are many ways to deal with this, different discretizations, absorbing/reflecting barriers etc.
 
Thanks Koupparis!

Yes, both actual proof and the condition for X_t staying positive in both Euler and Milstein schemes are what I am looking for, because when all the terms sum up, it is difficult to say why the probability of X_t going negative is bigger than zero, while under some condition X_t can always stay positive.

But your informal explanation is nice, except that I think "Z^2-1 is always negative" is not true because Z ~ N(0,1).

Are you looking for an actual proof or intuition? Basically, you're discretizing your model, which means you're only approximating it within a certain degree of accuracy. Because of this you do introduce errors, in this case negative values. Also take a look at the discretizations, the way you've written them, (\beta<0) so if (X_t>\gamma) the term involving these quantities is negative. Also the terms involving Z may become negative, the term in Milstein with Z^2-1 is always negative. Thus it is conceivable (and actually happens) that (X_t) becomes negative.

(\Delta) should be small to keep the negative terms small enough when they occur, to keep the whole process positive. Offhand I don't know if there is a value of (\Delta) that will guarantee a positive (X_t).

There are many ways to deal with this, different discretizations, absorbing/reflecting barriers etc.
 
Yes, I wasn't thinking clearly, you are correct, edited my post above. I think Google may provide you with some answers in regards to proofs and bounds.
 
In my Monte Carlo book I have an example. It's like

Y(n+1) = A * Y(n)

where A is a function of the SDE coefficients, delta_T (unknown) and Wiener increments. You can play around with these coefficients. This problem has been resolved on some other forums.

The CIR PDE you asked about is discussed here. I transform the r region to [0,1] (as in the book by D. Duffie) and then apply my ADE method. Results are very good.

http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1552926

(btw AFAIK NO other fd scheme can beat ADE in terms of speed and accuuarcy).
 
Thanks Daniel!

Just quick looked through the paper. It seems that it doesn't show the probability of CIR going negative under either Euler or Miltein schemes, as it is a paper that proposed ADE method.

Would it be possible that some books/tutorials (the more, the better) have some kind of rigorous proof?

Thanks!

In my Monte Carlo book I have an example. It's like

Y(n+1) = A * Y(n)

where A is a function of the SDE coefficients, delta_T (unknown) and Wiener increments. You can play around with these coefficients. This problem has been resolved on some other forums.

The CIR PDE you asked about is discussed here. I transform the r region to [0,1] (as in the book by D. Duffie) and then apply my ADE method. Results are very good.

http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1552926

(btw AFAIK NO other fd scheme can beat ADE in terms of speed and accuuarcy).
 
Thanks koupparis!
I did googled quite a while but not find anything, unless I missed something?

Yes, I wasn't thinking clearly, you are correct, edited my post above. I think Google may provide you with some answers in regards to proofs and bounds.
 
"Just quick looked through the paper. It seems that it doesn't show the probability of CIR going negative under either Euler or Miltein schemes, as it is a paper that proposed ADE method. "

Steve,
My paper has to do with procing a CIR bond using FD schemes. For PDE there is no probability, so r is just a number.

In general, fd is not so effective for SDE and the number of 'hard' results in this field is(much) less than what you see in PDE.

You need then workarounds such as Andersen's QE2 etc.

BTW once the SDE is solved, what do you wish to do with the results after that?
 
Thanks, Daniel!

Did I miss something in your paper? If possible, could you point out where in the paper the explanation (formal or informal) for X_t might going negative with Euler and/or Milstein schemes is?

"Just quick looked through the paper. It seems that it doesn't show the probability of CIR going negative under either Euler or Miltein schemes, as it is a paper that proposed ADE method. "

Steve,
My paper has to do with procing a CIR bond using FD schemes. For PDE there is no probability, so r is just a number.

In general, fd is not so effective for SDE and the number of 'hard' results in this field is(much) less than what you see in PDE.

You need then workarounds such as Andersen's QE2 etc.

BTW once the SDE is solved, what do you wish to do with the results after that?
 
Thanks, Daniel!

Did I miss something in your paper? If possible, could you point out where in the paper the explanation (formal or informal) for X_t might going negative with Euler and/or Milstein schemes is?


My paper is addressig a different problem, so the PDE problem is not relevant anymore since you are modellimg the SDE and not the derivative based on it.
 
Back
Top