[R-SIG-Finance] Ornstein-Uhlenbeck

stefano iacus stefano.iacus at unimi.it
Tue Oct 12 17:41:19 CEST 2010


just for completeness: OU process is gaussian and transitiion density is known in exact form. So maximum likelihood estimation works fine and I suggest to avoid GMM.

sde package contains exact transition density for this process (e.g. ?dcOU) which you can use to build the likelihood to pass to mle() function.

This example taken from the "inst" directory of the package sde. For the parametrization of the model see ?dcOU


# ex3.01.R
OU.lik <- function(theta1, theta2, theta3){
  n <- length(X)
  dt <- deltat(X)
  -sum(dcOU(X[2:n], dt, X[1:(n-1)], c(theta1,theta2,theta3), log=TRUE))
 }

require(stats4)
require(sde)
set.seed(123)
X <- sde.sim(model="OU", theta=c(3,1,2), N=1000, delta=1)
mle(OU.lik, start=list(theta1=1, theta2=0.5, theta3=1), 
      method="L-BFGS-B", lower=c(-Inf,0,0)) -> fit
summary(fit)

# ex3.01.R (cont.)
prof <- profile(fit)
par(mfrow=c(1,3))
plot(prof)
par(mfrow=c(1,1))
vcov(fit)
confint(fit)
 
# ex3.01.R (cont.)
set.seed(123)
X <- sde.sim(model="OU", theta=c(3,1,2), N=1000, delta=1e-3)
mle(OU.lik, start=list(theta1=1, theta2=0.5, theta3=1), 
      method="L-BFGS-B", lower=c(-Inf,0,0)) -> fit2
summary(fit2)


I hope this helps out

stefano

On 12 Oct 2010, at 12:33, Bjorn Skogtro wrote:

> Hi Stephen,
> 
> You could take a look at
> 
> http://sitmo.com/doc/Calibrating_the_Ornstein-Uhlenbeck_model
> 
> for the linear regression method, or take a look at the package "sde" which
> contains some examples using GMM (not for the Ornstein-Uhlenbeck process,
> though, only the CIR).
> 
> The half-life is given as log(2)/mean-reversion speed.
> 
> Do keep an eye on the partition of the time-axis, e.g. what frequency you
> are using (daily, yearly) for interpreting the half-life.
> 
> BR,
> Bjørn
> 
> 
> 
> 
> 
> 
>> ------------------------------
>> 
>> Message: 2
>> Date: Tue, 12 Oct 2010 05:43:32 -0400
>> From: Sarbo <cmdr_rogue at hotmail.com>
>> To: r-sig-finance at stat.math.ethz.ch
>> Subject: Re: [R-SIG-Finance] Ornstein-Uhlenbeck
>> Message-ID: <BLU0-SMTP21220AA5FD288F890EED317E2540 at phx.gbl>
>> Content-Type: text/plain; charset="utf-8"
>> 
>> By half-life, do you mean the speed of mean-reversion?
>> 
>> If so, there's a bit of algebraic tomfoolery that's required to
>> discretise the equation and then fit the data to it. I don't have the
>> time right now to go into all the details but it's not hard- you can
>> parameterise the process using simple linear regression. If you need
>> help with that I'll try and get back to you tonight about it.
>> 
>> On Tue, 2010-10-12 at 13:47 +1100, Stephen Choularton wrote:
>> 
>>> Hi
>>> 
>>> Wonder if anyone could point me how I use this method to discover the
>>> half life of a mean reverting process.
>>> 
>>> I am looking into pair trading and the time it takes for a
>>> cointegrated pair to revert to the norm.
>>> 
>>> --
>>> Stephen Choularton Ph.D., FIoD
>>> 
>>> 9999 2226
>>> 0413 545 182
>>> 
>>> 
>>> for insurance go to www.netinsure.com.au
>>> for markets go to www.organicfoodmarkets.com.au
>>> 
>>> 
>>> _______________________________________________
>>> R-SIG-Finance at stat.math.ethz.ch mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>>> -- Subscriber-posting only. If you want to post, subscribe first.
>>> -- Also note that this is not the r-help list where general R questions
>> should go.
>> 
>> 
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL: <
>> https://stat.ethz.ch/pipermail/r-sig-finance/attachments/20101012/26e32fc7/attachment-0001.html
>>> 
>> -------------- next part --------------
>> A non-text attachment was scrubbed...
>> Name: CoS2010Winner.JPG
>> Type: image/jpeg
>> Size: 16091 bytes
>> Desc: not available
>> URL: <
>> https://stat.ethz.ch/pipermail/r-sig-finance/attachments/20101012/26e32fc7/attachment-0001.jpe
>>> 
>> 
>> ------------------------------
>> 
>> _______________________________________________
>> R-SIG-Finance mailing list
>> R-SIG-Finance at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>> 
>> 
>> End of R-SIG-Finance Digest, Vol 77, Issue 8
>> ********************************************
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Finance at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.


-----------------------------------
Stefano M. Iacus
Department of Economics,
Business and Statistics
University of Milan
Via Conservatorio, 7
I-20123 Milan - Italy
Ph.: +39 02 50321 461
Fax: +39 02 50321 505
http://www.economia.unimi.it/iacus
------------------------------------------------------------------------------------
Please don't send me Word or PowerPoint attachments if not 
absolutely necessary. See:
http://www.gnu.org/philosophy/no-word-attachments.html



More information about the R-SIG-Finance mailing list