Next: Normal Distribution approximations. Up: Fixed Income modelling, with Previous: The Rendleman and Bartter   Contents   Index

# Vasicek bond pricing.

If the term structure model is Vasicek's model there is a solution for the price of a zero coupon model, due to Jamshidan (1989).

Under Vacisek's model the process for the short rate is assumed to follow.

where , and are constants. We have seen earlier how to calculate the discount factor in this case. We now want to consider an European Call option in this setting.

Let be the time price of a zero coupon bond with a payment of \$1 at time (the discount factor). The price at time of a European call option maturing at time on on a discount bond maturing at time is( See Jamshidan (1989) and Hull (1993))

where

In the case of ,

// file bondopt_call_vasicek.cc
// author: Bernt A Oedegaard.

#include <cmath>
#include "normdist.h"
#include "fin_algoritms.h"

double bond_option_price_call_zero_vasicek(double X,  // exercise price
double r, // current interest rate
double option_time_to_maturity,
double bond_time_to_maturity,
double a,  // parameters
double b,
double sigma)
{
double T_t = option_time_to_maturity;
double s_t = bond_time_to_maturity;
double T_s = s_t-T_t;
double v_t_T;
double sigma_P;
if (a==0.0) {
v_t_T = sigma * sqrt ( T_t ) ;
sigma_P = sigma*T_s*sqrt(T_t);
}
else {
v_t_T = sqrt (sigma*sigma*(1-exp(-2*a*T_t))/(2*a));
double B_T_s = (1-exp(-a*T_s))/a;
sigma_P = v_t_T*B_T_s;
};
double h = (1.0/sigma_P) * log (
term_structure_discount_factor_vasicek(s_t,r,a,b,sigma)/
(term_structure_discount_factor_vasicek(T_t,r,a,b,sigma)*X) )
+ sigma_P/2.0;
double c =
term_structure_discount_factor_vasicek(s_t,r,a,b,sigma)*N(h)
-X*term_structure_discount_factor_vasicek(T_t,r,a,b,sigma)*N(h-sigma_P);
return c;
};


Next: Normal Distribution approximations. Up: Fixed Income modelling, with Previous: The Rendleman and Bartter   Contents   Index
Bernt Arne Odegaard
1999-09-09