# ShoutFD: Shout option valuation via finite differences (FD) method In QFRM: Pricing of Vanilla and Exotic Option Contracts

## Description

Shout option valuation via finite differences (FD) method

## Usage

 ```1 2``` ```ShoutFD(o = OptPx(Opt(Style = "Shout")), N = 100, M = 20, Smin = 0, Smax = 100) ```

## Arguments

 `o` An object of class `OptPx` `N` The number of equally spaced intervals. Default is 100. `M` The number of equally spaced stock price. Default is 20. `Smin` similar to Smax `Smax` A stock price sufficiently high that, when it is reached, the put option has virtually no value. The level of Smax should be chosen in such a way that one of these equally spaced stock prices is the current stock price.

## Details

A shout option is a European option where the holder can 'shout' to the writer at one time during its life. At the end of the life of the option, the option holder receives either the usual payoff from a European option or the intrinsic value at the time of the shout, whichever is greater. An explicit finite difference method (Page 482 in Hull's book) is used here to price the shout put option. Similar to pricing American options, the value of the option is consolidated at each node of the grid to see if shouting would be optimal. The corresponding shout call option is priced using the Put-Call-Parity in the finite difference method .

## Value

A list of class `OptPx`, including option pricing parameters `N`, `M`, `Smin`, and `Smax`, as well as the computed option price `PxFD`.

## Author(s)

Xinnan Lu, Department of Statistics, Rice University, 2015

## References

Hull, J.C., Options, Futures and Other Derivatives, 9ed, 2014. Prentice Hall. ISBN 978-0-13-345631-8, http://www-2.rotman.utoronto.ca/~hull/ofod/index.html pp.609.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14``` ```(o = ShoutFD(OptPx(Opt(Right="C", Style="Shout"))))\$PxFD o = OptPx(Opt(Right="C", Style="Shout")) (o = ShoutFD(o, N=10))\$PxFD # very differnt result for N=10 (o = ShoutFD(OptPx(Opt(Right="P", Style="Shout"))))\$PxFD o = Opt(Right='P', S0=100, K=110, ttm=0.5, Style='Shout') o = OptPx(o, vol=0.2, r=0.05, q=0.04) (o = ShoutFD(o,N=100,Smax=200))\$PxFD o = Opt(Right="C", S0=110, K=100, ttm=0.5, Style="Shout") o = OptPx(o, vol=0.2, r=0.05, q=0.04) (o = ShoutFD(o,N=100,Smax=200))\$PxFD ```

QFRM documentation built on May 29, 2017, 10:12 p.m.