Price European or American spread options using finite difference method

`Price = spreadbyfd(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr)`

`Price = spreadbyfd(___,Name,Value)`

```
[Price,PriceGrid,AssetPrice1,AssetPrice2,Times]
= spreadbyfd(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr)
```

```
[Price,PriceGrid,AssetPrice1,AssetPrice2,Times]
= spreadbyfd(___,Name,Value)
```

returns the price of European or American call or put spread options using the Alternate
Direction Implicit (ADI) finite difference method. The spread is between the asset defined
in `Price`

= spreadbyfd(`RateSpec`

,`StockSpec1`

,`StockSpec2`

,`Settle`

,`Maturity`

,`OptSpec`

,`Strike`

,`Corr`

)`StockSpec1`

minus the asset defined in
`StockSpec2`

.

adds optional name-value pair arguments.`Price`

= spreadbyfd(___,`Name,Value`

)

`[`

returns the `Price`

,`PriceGrid`

,`AssetPrice1`

,`AssetPrice2`

,`Times`

]
= spreadbyfd(`RateSpec`

,`StockSpec1`

,`StockSpec2`

,`Settle`

,`Maturity`

,`OptSpec`

,`Strike`

,`Corr`

)`Price`

, `PriceGrid`

,
`AssetPrice1`

, `AssetPrice2`

, and
`Times`

for a European or American call or put spread options using the
Alternate Direction Implicit (ADI) finite difference method. The spread is between the
asset defined in `StockSpec1`

minus the asset defined in
`StockSpec2`

.

`[`

returns the `Price`

,`PriceGrid`

,`AssetPrice1`

,`AssetPrice2`

,`Times`

]
= spreadbyfd(___,`Name,Value`

)`Price`

, `PriceGrid`

,
`AssetPrice1`

, `AssetPrice2`

, and
`Times`

and adds optional name-value pair arguments.

[1] Carmona, R., Durrleman, V. “Pricing and Hedging Spread Options.”
*SIAM Review.* Vol. 45, No. 4, pp. 627–685, Society for Industrial and
Applied Mathematics, 2003.

[2] Villeneuve, S., Zanette, A. “Parabolic ADI Methods for Pricing American
Options on Two Stocks.” *Mathematics of Operations Research.* Vol.
27, No. 1, pp. 121–149, INFORMS, 2002.

[3] Ikonen, S., Toivanen, J. *Efficient Numerical Methods for Pricing American
Options Under Stochastic Volatility.* Wiley InterScience, 2007.