# HullWhite1F class

Create Hull-White one-factor model

## Description

The Hull-White one-factor model is specified using the zero curve, alpha, and sigma parameters for the equation

$dr=\left[\theta \left(t\right)-a\left(t\right)r\right]dt+\sigma \left(t\right)dW$

where:

dr is the change in the short-term interest rate over a small interval.

r is the short-term interest rate.

Θ(t) is a function of time determining the average direction in which r moves, chosen such that movements in r are consistent with today's zero coupon yield curve.

α is the mean reversion rate.

dt is a small change in time.

σ is the annual standard deviation of the short rate.

W is the Brownian motion.

## Construction

`OBJ = HullWhite1F(ZeroCurve,alpha,sigma)` constructs an object for a Hull-White one-factor model.

For example:

```Settle = datenum('15-Dec-2007'); CurveTimes = [1:5 7 10 20]'; ZeroRates = [.01 .018 .024 .029 .033 .034 .035 .034]'; CurveDates = daysadd(Settle,360*CurveTimes,1); irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates); alpha = .1; sigma = .01; HW1F = HullWhite1F(irdc,alpha,sigma);```

## Properties

The following properties are from the `HullWhite1F` class.

`ZeroCurve`

`ZeroCurve` is specified using the output from `IRDataCurve` or `RateSpec`. This is the zero curve used to evolve the path of future interest rates.

Attributes:

 `SetAccess` `public` `GetAccess` `public`

`Alpha`

Mean reversion specified either as a scalar or function handle which takes time as an input and returns a scalar mean reversion value.

Attributes:

 `SetAccess` `public` `GetAccess` `public`

`Sigma`

Volatility specified either as a scalar or function handle which takes time as an input and returns a scalar mean volatility.

Attributes:

 `SetAccess` `public` `GetAccess` `public`

## Methods

 simTermStructs Simulate term structures for Hull-White one-factor model

## Definitions

### Hull-White One-Factor Model

The Hull-White model is a single-factor, no-arbitrage yield curve model in which the short-term rate of interest is the random factor or state variable. No-arbitrage means that the model parameters are consistent with the bond prices implied in the zero coupon yield curve.

## Copy Semantics

Value. To learn how value classes affect copy operations, see Copying Objects in the MATLAB® documentation.

## Examples

collapse all

### Construct a Hull-White One-Factor Model

Construct a Hull-White one-factor model.

```Settle = datenum('15-Dec-2007'); CurveTimes = [1:5 7 10 20]'; ZeroRates = [.01 .018 .024 .029 .033 .034 .035 .034]'; CurveDates = daysadd(Settle,360*CurveTimes,1); irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates); alpha = .1; sigma = .01; HW1F = HullWhite1F(irdc,alpha,sigma) ```
```HW1F = HullWhite1F with properties: ZeroCurve: [1x1 IRDataCurve] Alpha: @(t,V)inAlpha Sigma: @(t,V)inSigma ```

Use the `simTermStructs` method with the `HullWhite1F` model to simulate term structures.

```SimPaths = simTermStructs(HW1F, 10,'nTrials',100); ```

## References

Hull, J. Options, Futures, and Other Derivatives, Prentice-Hall, 2011.