[R] fitting Ornstein-Uhlenbeck process by MAXIMUM LIKELYHOOD

Rui Barradas ruipbarradas at sapo.pt
Sat Jul 21 10:54:11 CEST 2012


Hello,

When computing Sxx, Syy and you are mistaking the square of the sum for 
the sum of squares. The same goes for the crossed term Sxy, it's the sum 
of the products, not the product of the sums Sx and Sy.

Hope this helps,

Rui Barradas

Em 20-07-2012 23:04, cesare orsini escreveu:
> Dear friends
>
> i am trying to fit an Ornstein-Uhlenbeck process by MAXIMUM LIKELYHOOD
> method.
>
> i found these formulas on
> http://www.sitmo.com/article/calibrating-the-ornstein-uhlenbeck-model/
> this is the mean-reverting process
>
> http://r.789695.n4.nabble.com/file/n4637271/process.txt process.txt
>
> and this is the script that i am using.......
>
> ouFit.ML=function(spread) {
>    n=length(spread)
>    delta=n/n
>    Sx=sum(spread[1:n-1])
>    Sy=sum(spread[2:n])
>    Sxx=(Sx)^2
>    Syy=(Sy)^2
>    Sxy=Sx*Sy
>    mu = (Sy*Sxx - Sx*Sxy) / ( n*(Sxx - Sxy) - (Sx^2 - Sx*Sy) )
>    lambda = -log( (Sxy - mu*Sx - mu*Sy + n*mu^2) / (Sxx -2*mu*Sx + n*mu^2)
> )/delta
>    a = exp(-lambda*delta)
>    sigmah2 = (Syy - 2*a*Sxy + a^2*Sxx - 2*mu*(1-a)*(Sy - a*Sx) +
> n*mu^2*(1-a)^2)/n;
>    sigma = sqrt((sigmah2)*2*lambda/(1-a^2))
>    theta=list(lambda=lambda, mu=mu,sigma=sigma,sigmah2=sigmah2)
>    return(theta)
> }
>
> where is my error?
> is there some other script to obtain a good result by the same method?
>
> thank you!!! :-)
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/fitting-Ornstein-Uhlenbeck-process-by-MAXIMUM-LIKELYHOOD-tp4637271.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list