Assume that we want to calculate the time $t=0$ price of a bond: $B(0,T) = E_P[\exp(-\int_0^T r_s ds)]$, where $r$ is the interest rate following the SDE $dr_t=k(\theta-r_t)dt+\sigma dB_t=b(r_t)dt+\sigma dB_t$.

I was shown that one could write the price as

$B(0,T) = E_{\hat{P}}[\exp(-\int_0^TB^{*}_sds)\exp(\int_0^Tb(B^{*}_s)dB^{*}s-\frac{1}{2}\int_0^Tb^2(B^{*}_s)ds)]$

where $B_t^{*}$ is the "new" Brownian motion from the Girsanov theorem.

However, when I try to implement it, it results in prices that are too low. Here is what I did:

Since $dr_t=b(r_t)dt+\sigma dB_t$, Girsanov's theorem gives a new Brownian motion with dynamics $dB_t^{*}=\frac{1}{\sigma}b(r_t)dt+dB_t$, and the dynamics of $r_t$ becomes $dr_t=\sigma dB_t^{*}$. So $r_t=r_0+\sigma B_t^{*}$ and $dB_t^{*}= \frac{1}{\sigma}b(r_0+\sigma B_t^{*})dt+dB_t$. With this last expression I tried to use Euler discretization to find $B_t^{*}$, then finally I approximated the three integrals as sums.

What am I doing wrong? Secondly, I also wonder what the starting point of $B_t^{*}$ should be, i.e. $B_0^{*}$.

  • $\begingroup$ it could help if you worked with the explicit solution of $r_t$ - do you know it or shall I post it here ? $\endgroup$ Mar 31, 2014 at 20:12
  • $\begingroup$ @Probilitator: Thanks. I'm not 100% sure how to do it, so I would really appreciate it if you could post it! $\endgroup$
    – DSilva21
    Apr 1, 2014 at 12:03
  • $\begingroup$ how do you know that your prices are too low ?- what is your benchmark ? $\endgroup$ Apr 1, 2014 at 12:37
  • $\begingroup$ As a start I am only using $b(r_t)=k(\theta-r_t)$ i.e. Vasicek, which I am comparing to the ZCB bond prices computed the usual way. The idea is to extend $b(r_t)$ to incorporate regime-switching, but first I want to make sure I have simulated $B_t^{*}$ correctly. Now that I am running the simulations again, I see that the results are very unstable, resulting in both higher and lower prices than the results I am comparing them to. $\endgroup$
    – DSilva21
    Apr 1, 2014 at 12:52
  • $\begingroup$ by the way do you have a source for the bond dynamics ? Also note that in Vasicek Model one rarely uses monte carlo to price anything - in most cases pricing is done on the tree. $\endgroup$ Apr 2, 2014 at 11:29

1 Answer 1


Bond Price Dynamics

I do not know the source of the bond dynamics you show above but seeing how we are dealing with an affine model there is a very elegant way to derive those.

Due to the model being affine the bond price is given by $$P(t,T)=A(t,T)e^{-r(t)B(t,T)}$$ you can find the exact formulas for $A(t,T)$ and $B(t,T)$ in this document (or just read the relvant chapter in Brigo Mercurio. If you are curious to know how one arrives at above pricing formula I suggest this paper.

Now that we know above closed form formua, getting the dynamics of $P(t,T)$ is just a matter of applying Itô and using some algebra

$$ dP(t,T)=r_tP(t,T)dt-\sigma B(t,T)P(t,T)dW_t $$

Getting a solution for $r_t$

The generalized Vasicek model is given by $$ dr_t=\kappa(t)(\theta(t)-r_t)d t+\sigma(t)dW_t $$

The unique solution is

$$ r_t=A^{-1}(t)\left[r_0+\int_0^tA(s)\kappa(s)\theta(s)ds+\int_0^t A(s)\sigma(s)dW_s\right] $$ with $A(t)=\exp\left(\int_0^t\kappa(s)ds\right)$

Seeing how you have constant and not time dependant parameters the above simplifies to

$$ r_t=e^{-\kappa t}\left[r_0+\int_0^t\kappa\theta e^{\kappa s} ds+\int_0^t \sigma e^{\kappa s} dW_s\right] $$

P.S.: To arrive at the above solution one simply applies Ito's Formula to $d(r_t \cdot e^{\int_0^t\kappa(s)ds})$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.