# [R-SIG-Finance] Vasicek model estimation via linear regression

Eric Zivot ezivot at u.washington.edu
Wed Jun 17 22:06:48 CEST 2009

```The Euler discretization of the Vasicek model is misspecified (i.e., it is not the exact discretization based on the true transition density) and so the least squares estimates will be biased (see Andrew Lo's Econometric Theory paper on estimating continuous time models from their discrete time counterparts, and Broze, Scaillet and Zakoian's Journal of Empirical Finance paper on estimating continuous time models from their discretized counterparts). This bias is typically not too large. You can eliminate this bias using an indirect inference estimation technique (see the book by Gourieroux and Monfort for an example applied to the Vasicek model). Alternatively, you can estimate the Vasicek model by exact mle using the code in the nice sde package (see also the accompanying book for more explanation).
ez

****************************************************************
*  Eric Zivot                  			               *
*  Professor and Gary Waterman Distinguished Scholar           *
*  Department of Economics                                     *
*  Adjunct Professor of Finance                                *
*  Box 353330                  email:  ezivot at u.washington.edu *
*  University of Washington    phone:  206-543-6715            *
*  Seattle, WA 98195-3330                                      *                                                           *
*  www:  http://faculty.washington.edu/ezivot                  *
****************************************************************

On Wed, 17 Jun 2009, Schaeffer, Derek BGI SF wrote:

>
> Hi Marco,
>
> The discrete time Vasicek model at partition size dt (e.g. 1/252) is
> given by:
>
> X(t) - X(t-dt) = [a*b] *  dt - [b * X(t-dt)] * dt + s_e * e,   e ~
> N(0,1)
>
> Run the following regression:
>
> X(t) = A + B X(t-1) + v,  v ~ N(0,s_v^2)
>
> The continuous-time parameters can be recovered from the regression
> estimates using:
>
> b   = -A/B
> a   = -ln(1 + B)/dt
> s_e = s_v * sqrt(2 * ln(1 + B) / dt) / sqrt( (1+B)^2 - 1)
>
> Best,
> Derek M. Schaeffer, Ph.D.
> Principal
> Senior Research Officer
>
> TEL   415 894 6427
> CELL  415 516 9558
> FAX   415 618 1824
> derek.schaeffer at barclaysglobal.com
>
> Barclays Global Investors 400 Howard Street San Francisco, CA 94105
>
>
>
> -----Original Message-----
> From: r-sig-finance-bounces at stat.math.ethz.ch
> [mailto:r-sig-finance-bounces at stat.math.ethz.ch] On Behalf Of Zanella
> Marco
> Sent: Wednesday, June 17, 2009 9:41 AM
> To: r-sig-finance at stat.math.ethz.ch
> Subject: [R-SIG-Finance] Vasicek model estimation via linear regression
>
> Hi,
> I have to check mean reversion with a Vasicek model for a time series.
> As you certainly know Vasicek process is discribed by following formula:
>
> dXt = a(b-Xt)dt + sdWt   (1)
>
> http://en.wikipedia.org/wiki/Vasicek_model
>
> To estimate the parameters in my data I can use this expression:
>
> Xt - Xt-1 = a(b-Xt-1)Dt + se   (2)
>
> where:
> Xt: time series at time t
> Xt-1: time series at time t-1
> a: unknown parameter
> b: unknown parameter
> Dt: in my case I can assimilate it = 1
> S: standard deviation
> e: error ~N(0,1)
>
> Basically, I want to estimate unknown parameters a and b using a linear
> regression. Usually I work on linear regression with lm() function but I
> don't undertand how formulate my (2) model in to lm command. Can anyone
> give me some suggestions?
>
>
> Regards,
>
> Marco
>
> ____________________________________________________________
>
>
> _______________________________________________
> 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.
>
>
> --
>
> This message and any attachments are confidential, pro...{{dropped:10}}

```