[R-SIG-Finance] Ornstein-Uhlenbeck

Patrick Burns patrick at burns-stat.com
Tue Oct 12 18:00:07 CEST 2010


The OU process is Gaussian, but the
market didn't get the memo that *it*
has to be Gaussian.

On 12/10/2010 16:41, stefano iacus wrote:
> 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
>
> _______________________________________________
> 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.
>

-- 
Patrick Burns
patrick at burns-stat.com
http://www.burns-stat.com
http://www.portfolioprobe.com/blog



More information about the R-SIG-Finance mailing list