What's new

GARP.FRM.PQ.P2 Vasicek Model Question

Thread starter #1
Hi David,

I have a question about the Vasicek Model. I have seen a couple of practice questions come up (not BT questions) where the volatility adjustment is ignored when determine the future rate. For reference let me post some details of the question I just saw today:

-mean reversion parameter of 0.05
-annual standard deviation of 125 basis points
-a true long term interest rate of 3%
-annual interest rate drift of 0.45%
-current interest rate of 6%
Using the Vasicek model estimate the foretasted change in the short term rate for the next month

The solution given is:
True long term mean = .03+(.45%/.05) = .12
so rate change = .05*(.12-.06)*(1/12) = 0.025%

I am wondering why there is no volatility adjustment here? I know for the Vasicek model if we are forcing the middle node to recombine we can ignore the volatility adjustment, but nothing in the question indicates that's what we're doing here. As I said this is the 2nd time I've come across this method, have I missed something in the reading? Or is this just a mistake and a volatility adjustment should apply?

Thanks for your insights!
 

David Harper CFA FRM

David Harper CFA FRM
Staff member
Subscriber
#2
Hi @jagbrar Right, well, it's not how I would write a question about Vasicek (it took me a few minutes to discern the intention) but the solution isn't using volatility because (related to your point about the recombining tree) it is looking for the expected change in the short rate over the next month. There are two different things in all of these rate models: (1) the recombining binomial tree which is a map of future outcomes assuming one standard deviation jumps up/down in the rate (i.e., σ = +/- 1.0), and (2) the simulation of a possible rate forward in time, which we can think of as one possible path that likely won't confirm to any branch of the clean tree. The rate tree doesn't need random variables, but the simulation needs random variables to shock the volatility.

What's challenging IMO about the question is how it wants us to infer theta, Θ, of 12.0%; normally, I'd just give that assumption (eg) "the long-run or equilibrium rate is 12.0%." But this question is more advanced, parsing theta into a "true long term rate" of 3.0% and a component for the risk premium, (.45%/.05). That's not easy to infer but kudos for the high-level approach!

Given Θ=0.12, the interest rate tree looks like:
R[0,0] 6.0%
R[1,0] = 6.0% + (12.0% - 6.0%)*0.050*(1/12) - 1.25*sqrt(1/12) = 5.6642%; i.e., node jumps down -1 σ
R[1,1] = 6.0% + (12.0% - 6.0%)*0.050*(1/12) + 1.25*sqrt(1/12) = 6.3858%; i.e., mode up +1 σ
... and the expected value (related to the answer) is not on the tree because this is the first month: 6.0% + (12.0% - 6.0%)*0.050*(1/12) = 6.0% + 0.0250% = 6.0250%; and to your point, does not use the volatility
... at month two, the center node, R[2,1] does appear on the tree and also does not use the volatility: R[2,1] = 6.0250% + (12.0% - 6.0%)*0.050*(1/12) = 6.050%

Further to your point, we can always ask, what is the next rate given an assumption about the random shock? This will use volatility; for example, let's say the random draw is 0.95, on a random uniform [0,1], such that dw = NORM.S.INV(0.95)*sqrt(1/12) = 1.645*sqrt(1/12) = 0.475. Then the simulated rate next month = 6.0% + (12.0% - 6.0%)*0.050*(1/12) + 1.25*0.475 = 6.6185%.
... this isn't on the tree because it's a realization (simulation) of the rate if the rate happens to jump up by 1.645*σ rather than 1.0*σ. So notice how the rate tree is just showing what happens if the standard deviation happens to be a perfect 1.0:
  • The tree R[1,1] = 6.0% + (12.0% - 6.0%)*0.050*(1/12) + 1.25*sqrt(1/12) = 6.3858% = 6.0% + (12.0% - 6.0%)*0.050*(1/12) + 1.25*[dw = 1 σ * sqrt(1/12)] = 6.3858%. I hope that helps, very interesting!
 
Last edited:

David Harper CFA FRM

David Harper CFA FRM
Staff member
Subscriber
#5
Hi @bpdulog I didn't think to try that but it does appear to work (did you let T = 1/12 for the first month?):
  • First month, E[r(1,x)) = 0.060*exp(-0.050*1/12) + 0.120*[1 - exp(-0.050*1/12)] = 6.025%
  • Second month, E[r(2,x)) = 0.060*exp(-0.050*2/12) + 0.120*[1 - exp(-0.050*2/12)] = 6.050%. I hope that helps!
 

bpdulog

Active Member
#6
Hi @bpdulog I didn't think to try that but it does appear to work (did you let T = 1/12 for the first month?):
  • First month, E[r(1,x)) = 0.060*exp(-0.050*1/12) + 0.120*[1 - exp(-0.050*1/12)] = 6.025%
  • Second month, E[r(2,x)) = 0.060*exp(-0.050*2/12) + 0.120*[1 - exp(-0.050*2/12)] = 6.050%. I hope that helps!
Ah I see. I thought the months were T=1. Not sure if I was supposed to do that for the exam....
 
Top