MATLAB Examples

mVol2stat

Compute risk neutral standardized moments of an asset's return distribution from volatility smile interpolation. Part of the IMOMBOX.

Syntax

S = MVOL2STAT(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, S will store the first N standardized moments of the risk neutral distribution of the underlying asset's return.

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.

Contents

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 standardized moments of the risk neutral distribution is

mVol2stat(S0,vol,rf,q,tau,N)
ans =

    0.0047
    0.0156
   -0.0000
    3.0000

I.e., the return expectation, or the first standardized moment, is 0.0047. From finance 101, we know that the expected log return on an asset with constant vol is $(r_f-\frac{1}{2}\sigma^2)\tau$, i.e.

(rf-0.5*vol(nan)^2)*tau
ans =

    0.0047

which corresponds with our solution.

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 standardized moments are now

mVol2stat(S0,vol,rf,q,tau,N)
ans =

    0.0004
    0.0247
   -0.3363
    3.2203

Thus, our vol smile brought negative skewness and leptokurtosis to the table.