Short-Rate Interest Rate Models › Parameter Impact Analysis

Michael BrenndoerferDecember 6, 20255 min read
Quantitative FinanceAll chapters
Part 7 of 15Interest Rate Models and Derivatives
Chapter 38Short-Rate Interest Rate Models › Parameter Impact Analysis
Reading section 10 of 13 · Parameter Impact Analysis · 5 minSection 10 of 13 · 5 min

Book contents

Section 10 of 13 · 5 min read

Short-Rate Interest Rate Models › Parameter Impact AnalysisOne section · Sections in this chapter10 / 13 ↓
Reading tools Definitions & inline links

Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.

Article links

Make inline references clickable

Exploring how parameters affect rate dynamics and bond prices helps build intuition for calibration.

Effect of Mean Reversion Speed

The parameter κ\kappa controls how quickly rates revert to the long-run mean. Higher κ\kappa means faster reversion and lower variance in the long run.

In[26]:
Code
# Different mean reversion speeds
kappa_values = [0.1, 0.5, 1.0, 2.0]

# Simulate paths for each kappa
paths_by_kappa = {}
for k in kappa_values:
    paths_by_kappa[k] = simulate_vasicek(
        r0, k, theta, sigma, T, n_steps, 500, seed=42
    )

# Calculate statistics for plotting
kappa_stats = {}
for k, paths in paths_by_kappa.items():
    kappa_stats[k] = {
        "mean": paths.mean(axis=0) * 100,
        "p5": np.percentile(paths, 5, axis=0) * 100,
        "p95": np.percentile(paths, 95, axis=0) * 100,
    }
Out[27]:
Visualization
Plot showing rate path distributions for different mean reversion speeds.
Impact of the mean reversion speed κ on simulated rate paths. Higher κ values produce faster reversion to the long-run mean θ and result in lower steady-state variance, illustrated by the narrowing of the 5th to 95th percentile bands.

With low κ\kappa, rates wander more freely and take longer to approach θ\theta. With high κ\kappa, rates snap back quickly after any shock, resulting in a tighter distribution around the long-run mean.

Effect of Volatility

The volatility parameter σ\sigma scales the random component. Higher volatility produces wider distributions and more variable rate paths.

In[28]:
Code
# Different volatility levels
sigma_values = [0.01, 0.02, 0.04, 0.06]

# Simulate paths for each sigma
paths_by_sigma = {}
for s in sigma_values:
    paths_by_sigma[s] = simulate_vasicek(
        r0, kappa, theta, s, T, n_steps, 500, seed=42
    )

# Calculate statistics for plotting
sigma_stats = {}
for s, paths in paths_by_sigma.items():
    sigma_stats[s] = {
        "mean": paths.mean(axis=0) * 100,
        "p5": np.percentile(paths, 5, axis=0) * 100,
        "p95": np.percentile(paths, 95, axis=0) * 100,
    }
Out[29]:
Visualization
Plot showing rate path distributions for different volatility levels.
Impact of the volatility parameter σ on interest rate distributions. Higher volatility produces wider 95% confidence bands around the mean path, increasing the probability of extreme rate scenarios.

The mean paths are nearly identical across volatility levels since σ\sigma doesn't affect the expected rate path, only its variance. Higher volatility dramatically widens the confidence bands, increasing the probability of extreme rate scenarios.

Yield Curve Shapes

The interplay between parameters determines what yield curve shapes the model can produce. Let's explore how the current rate relative to the long-run mean affects the curve.

In[30]:
Code
# Define range of initial rates around theta
r_range = np.linspace(0.01, 0.09, 9)  # 1% to 9%
maturities_fine = np.linspace(0.1, 30, 100)

# Calculate yield curves for shape analysis
yield_curves_shape = []
for r_start in r_range:
    curves = calculate_yields(
        r_start, maturities_fine, kappa, theta, sigma, "vasicek"
    )
    yield_curves_shape.append(curves)
Out[31]:
Visualization
Plot showing multiple yield curves ranging from inverted to normal shapes.
Variety of yield curve shapes produced by the Vasicek model for different starting rates relative to θ = 5%. The model generates upward-sloping, flat, or inverted curves based on whether the initial short rate r(0) is below, equal to, or above the long-run mean.

The Vasicek model (and CIR) can produce a range of yield curve shapes, but with important limitations. Both models belong to the class of single-factor models, meaning all yields are driven by a single source of randomness. This implies that yields at different maturities are perfectly correlated, which is not observed in practice where short and long rates sometimes move in opposite directions.