My model is calibrated to daily returns data.

There is no issue with this model as long as options are not path-dependent.

For european options I can simulate prices of a stock only at maturity (say 90 days) by simply scaling sigma by the square root of the time to maturity and drift by time to maturity. Thus the distribution of 90d returns remains skewed and fat tailed).

Unfortunately when daily returns need to be simulated in order to keep track of the prices’ paths the cumulated daily returns (final maturity returns) become Gaussian (loose their kurtosis and skewness).

As far as I understand from the paper by prof. C. O'Sullivan “

**The Variance Gamma Scaled Self-Decomposable Process in Actuarial Modelling”**

**model overcomes these problems.**

*VGSSD*I assume that it allows for simulation of daily returns paths which when summed up to long-term returns retain kurtosis and skewness of the daily returns.

I’ve searched the web for the procedure of simulation for VGSSD model returns but in vain (only VG model simulation is available).

Below is a piece of Matlab code used for VG paths generation.

I would be grateful if you could suggest a change that should be made to convert the code to obtain VGSSD paths.

Let the extra parameter (gamma) value be 0.5.

N_Sim = 365; // no of days to maturity

T = 1000 //no of paths

dt = 1; // step (1 = 1d)

params = [0.000164383561644 0.010468478451804 -0.000082191780822 0.800000000000000]

S0 = 1

function[S] = VGSimulate(N_Sim, T, dt, params, S0)

theta = params(3);

nu = params(4);

sigma = params(2);

mu = params(1);

g = gamrnd (1/nu ,nu ,N_Sim ,T);

randomnums = randn(N_Sim ,T);

S = S0* cumprod ([ ones(1,T); exp((mu + theta)*dt + theta*g + sigma*sqrt(g*dt).*randomnums + dt/nu*log(1 - nu*theta/dt - nu*sigma^2/2))]);

end