Hull-White
The Hull-White Model is widely used for interest rate contracts with optionality, such as caps, floors, and swaptions. It is a type of short rate model, which features a mean-reverting short-rate process with a time-dependent drift. The Hull-White model has a closed-form or semi-closed form solution for many contracts such as caps, floors and zero bond options.
Model Dynamics
In the Hull White model, the short-rate follows the following process. $$ dr_t = [\theta_t - a r_t]dt + \sigma dW_t $$
where \(dW_t\) is a Wiener process.
Dataset
The model specific component in the dataset (HW
) is a dict with the following parameters:
- ASSET: the name of the asset
- MEANREV: the mean reversion rate \(a\)
- VOL: the volatility of rate \(\sigma\)
Note: \(\theta_t\) is calibrated by the model from the zero rate curve.
Example
from finmc.models.hullwhite import HullWhiteMC
dataset = {
"MC": {"PATHS": 100_000, "TIMESTEP": 1 / 250, "SEED": 1},
"BASE": "USD",
"ASSETS": {"USD": ("ZERO_RATES", np.array([[2.0, 0.05]]))},
"HW": {
"ASSET": "USD",
"MEANREV": 0.1,
"VOL": 0.03,
},
}
model = HullWhiteMC(dataset)
model.advance(1.0)
discount_factors = model.get_df()