# hwvolspec

Specify Hull-White interest-rate volatility process

## Syntax

``VolSpec = hwvolspec(ValuationDate,VolDates,VolCurve,AlphaDates,AlphaCurve)``
``VolSpec = hwvolspec(___,InterpMethod)``

## Description

example

````VolSpec = hwvolspec(ValuationDate,VolDates,VolCurve,AlphaDates,AlphaCurve)` creates a structure specifying the volatility for `hwtree`. The volatility process is such that the variance of r(t + dt) - r(t) is defined as follows: ```V = (Volatility.^2 .* (1 - exp(-2*Alpha .* dt))) ./ (2 * Alpha)```. For more information on using Hull-White interest rate trees, see Hull-White (HW) and Black-Karasinski (BK) Modeling.```

example

````VolSpec = hwvolspec(___,InterpMethod)` adds the optional argument `InterpMethod`.```

## Examples

collapse all

This example shows how to create a Hull-White volatility specification (`VolSpec`) using the following data.

```ValuationDate = '01-01-2004'; StartDate = ValuationDate; VolDates = ['12-31-2004'; '12-31-2005'; '12-31-2006'; '12-31-2007']; VolCurve = 0.01; AlphaDates = '01-01-2008'; AlphaCurve = 0.1; HWVolSpec = hwvolspec(ValuationDate, VolDates, VolCurve,... AlphaDates, AlphaCurve)```
```HWVolSpec = struct with fields: FinObj: 'HWVolSpec' ValuationDate: 731947 VolDates: [4x1 double] VolCurve: [4x1 double] AlphaCurve: 0.1000 AlphaDates: 733408 VolInterpMethod: 'linear' ```

## Input Arguments

collapse all

Observation date of the investment horizon, specified as a scalar date using a serial date number or date character vector.

Data Types: `double` | `char`

Number of points of yield volatility end dates, specified as a `NPOINTS`-by-`1` vector of serial date numbers or date character vectors.

Data Types: `double` | `char` | `cell`

Yield volatility values, specified as a `NPOINTS`-by-`1` vector of decimal values. The term structure of `VolCurve` is the yield volatility represented by the value of the volatility of the yield from time `t` = 0 to time `t` + i, where i is any point within the volatility curve.

### Note

The number of points in `VolCurve` and `AlphaCurve` do not have to be the same.

Data Types: `double`

Mean reversion end dates, specified as a `NPOINTS`-by-`1` vector of serial date numbers or date character vectors.

Data Types: `double` | `char` | `cell`

Positive mean reversion values, specified as a `NPOINTS`-by-`1` vector of positive decimal values.

### Note

The number of points in `VolCurve` and `AlphaCurve` do not have to be the same.

Data Types: `double`

(Optional) Interpolation method, specified as a character vector with values supported by `interp1`.

Data Types: `char`

## Output Arguments

collapse all

Structure specifying the volatility model for `hwtree`.