MATLAB Examples

# mVol2price

Compute risk-neutral prices of a contract paying an asset's return or powers thereof from volatility smile interpolation. Part of the IMOMBOX.

Syntax

M = MVOL2PRICE(S0,VOL,RF,Q,TAU,N)


Given the volatility smile function handle VOL = @(X) smile(X), the spot asset level S0, the annualized logarithmic risk free rate rf and dividend yield q as well as a time to maturity TAU in years, M will store the prices of the moment contracts specified in N, i.e.

.

Input Arguments

VOL is a function handle expecting an array of inputs X and returning an array of the same dimension as X. S0, RF, Q, TAU are scalars, N is a vector containing the required return powers.

## Example 1: flat vol smile

Let us assume a flat volatility of 25%

vol = @(X) 0.25; 

and the following parameters

S0 = 100; rf = 0.05; q = 0; tau = 0.25; N = 1:4; 

The corresponding prices of the the contracts paying the return expectation and the second, third and fourth uncentered moment are:

mVol2price(S0,vol,rf,q,tau,N) 
ans = 0.0046 0.0155 0.0002 0.0007 

I.e., the (discounted) return expectation - or the price of a contract that pays the return is 0.0046.

## Example 2: pronounced vol smile

Let us now change the specification of the volatility smile to

vol = @(X) 0.3.*exp(-1./100.*X)+0.2; plot([0:300],vol([0:300])),ylim([0.1 0.5]),title('volatility smile'); 

The corresponding prices of the the contracts paying the return expectation and the second, third and fourth uncentered moment are now:

mVol2price(S0,vol,rf,q,tau,N) 
ans = 0.0003 0.0244 -0.0013 0.0019 

I.e., the (discounted) return expectation - or the price of a contract that pays the return is now only 0.0003, which is only a fraction of the expectation under the constant volatility regime.