Article Menu |
Ornstein-Uhlenbeck processby M.A. (Thijs) van den Berg The Ornstein-Uhlenbeck process is the most widely used mean reverting stochastic process in financial modeling, especially in interest rates and commodities.
[edit] DefinitionThe stochastic differential equation for the Ornstein-Uhlenbeck process is given by with
[edit] Long term behavior
The long term mean Long term variance Long term standard deviation Covariance between the price at two moments in time [edit] Simulating the Ornstein-Uhlenbeck processThe Ornstein-Uhlenbeck stochastic process has an exact solution which allows you to simulate with arbitrary time steps. with
[edit] Matlab code ExampleThe following Matlab function return a random Ornstein Uhlenbeck path. The function returns a vector on n+1 elements, the first element being S0. function S = OU_Simulate(S0, dT, n, mu, sigma, lambda) a = exp(-lambda*dT); b = mu*(1-a); c = sigma*sqrt((1-a*a)/2/lambda); S = [S0 filter(1,[1 -a], b+c*randn(1,n), a*S0)]; end [edit] Simulating Multivariate Ornstein-Uhlenbeck processThe simulation is easily extended to a multivariate case. with
[edit] CalibratingAssuming you have a sequence of historical data S0,SΔ,S2Δ,..., the calibration the Ornstein-Uhlenbeck model to historical data is done by fitting a linear regression between consecutive values. The model parameters can then be recovered using the following equations. with [edit] Alternative Calibration methodsA more detailed article on calibrating the Ornstein-Uhlenbeck model can be found here calibrating the Ornstein-Uhlenbeck model » [edit] Comments
[edit] sitmo said ...[edit] gz said ...If you could describe why calibration was done this way, it would be very interesting... --gz 15:44, 20 June 2007 (CEST) [edit] sitmo said ...The calibration is based on the simulation equation, you'll notice that the regression & the simulation have the same structure...
[edit] goke said ...brilliant --goke 21:00, 30 June 2007 (CEST) [edit] John said ...Hi! Why not regressing the Increments of S versus the series? (dS=a*S+b) What is the diffenrence between the two approaches?Which one is better? Many thanx --John 10:26, 5 July 2007 (CEST) [edit] sitmo said ...John, dS = aS + b would be S(t+1)- S(t) = a S(t) + b which can be rewritten to S(t+1) = (a+1) S(t) + b ...so they are both the same, except that with your idea you get lambda = - ln(a+1)/ dt the resulting values will however be identical.
[edit] Tuned said ...How can it be modify for OU process with jumps and OU process with sigma proportional to the sqaure root of lamda (Feller process) without jumps/with jumps. Both cases with non-mean reverting. Thanks --Tuned 20:16, 19 August 2007 (CEST) [edit] sitmo said ...Hi Tuned, I don't know. You could try the wilmott forums. There are people there like Daniel Duffy who have active discussions about numerical schemes for a wide variety of SDE's (he's working on writing a book on that) --Admin 22:57, 21 August 2007 (CEST) [edit] Mary said ...How do we simulate a multivariate Ornstein Uhlenbeck process? --Mary 18:42, 12 September 2007 (CEST) [edit] sitmo said ...Mary, I've added a (very small) section on multivariate simulation. --Admin 23:29, 13 September 2007 (CEST) [edit] Chris said ...I want to project a time series 2 steps forward. I use your formulae to produce S(1). If I use the same formula with the same parameters for S(2), using t=2, how does this incorporate the information for S(1)? And how is this mean reverting? Thanks. --Chris 16:43, 31 October 2007 (CET) [edit] Sitmo said ...I think what you need is that the second step should start where the first one ended. S(t) = S(0) exp(-l t) ... S(2t) = S(t) exp(-l t) ... S(3t) = S(2t) exp(-l t) ...
[edit] MAIKL said ...CONCERNING THE CALIBRATION PROCESS, WHAT IF WE COME UP WITH A NEGATIVE VALUE FOR a? HOW DO WE THEN DERIVE LAMBDA AND SIGMA? MANY THANKS. --MAIKL 19:05, 28 December 2007 (CET) [edit] Mat said ...I also came up with a negative result... --Mat 21:25, 11 April 2008 (CEST) [edit] Camilo said ...where do you found the exact solution... --Camilo 00:50, 7 May 2008 (CEST) [edit] gabriel said ...I want to do a monte-carlo simulation using risk neutral valuation with this stochastic process, what is needed to be modified in the simulation formula?? tks --gabriel 17:21, 29 May 2008 (CEST) |


the standard deviation of the residual of the linear fit.
We're going to update the calibration process, adding a maximum likelihood estimator.
--sitmo 15:00, 4 June 2007 (CEST)