April 2019
Intermediate to advanced
426 pages
11h 13m
English
The Brennan and Schwartz model is a two-factor model where the short-rate reverts toward a long-term rate as the mean, which also follows a stochastic process. The short-rate process is given as follows:

It can be seen that the Brennan and Schwartz model is another form of a geometric Brownian motion.
Our Python code can now be implemented as follows:
In [ ]: import math import numpy as np def brennan_schwartz(r0, K, theta, sigma, T=1., N=10, seed=777): np.random.seed(seed) dt = T/float(N) rates = [r0] for i in range(N): dr = K*(theta-rates[-1])*dt + \ sigma*rates[-1]*math.sqrt(dt)*np.random.normal() rates.append(rates[-1] ...