# optstockbyrgw

Determine American call option prices using Roll-Geske-Whaley option pricing model

## Syntax

``Price = optstockbyrgw(RateSpec,StockSpec,Settle,Maturity,Strike)``

## Description

example

````Price = optstockbyrgw(RateSpec,StockSpec,Settle,Maturity,Strike)` computes the American call option prices using the Roll-Geske-Whaley option pricing model. Note`optstockbyrgw` computes prices of American calls with a single cash dividend using the Roll-Geske-Whaley option pricing model. ```

## Examples

collapse all

This example shows how to determine American call option prices using Roll-Geske-Whaley option pricing model. Consider an American call option with an exercise price of \$22 that expires on February 1, 2009. The underlying stock is trading at \$20 on June 1, 2008 and has a volatility of 20% per annum. The annualized continuously compounded risk-free rate is 6.77% per annum. The stock pays a single dividend of \$2 on September 1, 2008. Using this data, compute price of the American call option using the Roll-Geske-Whaley option pricing model.

```Settle = 'Jun-01-2008'; Maturity = 'Feb-01-2009'; AssetPrice = 20; Strike = 22; Sigma = 0.2; Rate = 0.0677; DivAmount = 2; DivDate = 'Sep-01-2008'; % define the RateSpec and StockSpec RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle, 'EndDates',... Maturity, 'Rates', Rate, 'Compounding', -1, 'Basis', 0); StockSpec = stockspec(Sigma, AssetPrice, {'cash'}, DivAmount, DivDate); Price = optstockbyrgw(RateSpec, StockSpec, Settle, Maturity,Strike)```
```Price = 0.3359 ```

## Input Arguments

collapse all

Interest-rate term structure (annualized and continuously compounded), specified by the `RateSpec` obtained from `intenvset`. For information on the interest-rate specification, see `intenvset`.

Data Types: `struct`

Stock specification for the underlying asset. For information on the stock specification, see `stockspec`.

`stockspec` handles several types of underlying assets. For example, for physical commodities the price is `StockSpec.Asset`, the volatility is `StockSpec.Sigma`, and the convenience yield is `StockSpec.DividendAmounts`.

Data Types: `struct`

Settlement or trade date, specified as serial date number or date character vector using a `NINST`-by-`1` vector.

Data Types: `double` | `char`

Maturity date for option, specified as serial date number or date character vector using a `NINST`-by-`1` vector.

Data Types: `double` | `char`

Option strike price value, specified as a nonnegative `NINST`-by-`1` vector.

Data Types: `double`

## Output Arguments

collapse all

Expected call option prices, returned as a `NINST`-by-`1` vector.

Data Types: `double`

collapse all

### Vanilla Option

A vanilla option is a category of options that includes only the most standard components.

A vanilla option has an expiration date and straightforward strike price. American-style options and European-style options are both categorized as vanilla options.

The payoff for a vanilla option is as follows:

• For a call: $\mathrm{max}\left(St-K,0\right)$

• For a put: $\mathrm{max}\left(K-St,0\right)$

where:

St is the price of the underlying asset at time t.

K is the strike price.