Thanks for you 2 last post, they inspired me to "play around".
As my math background is not strong enough to deeply feel and understand and rigourously follow your advise (those characteristic functions and numerical integration...) I decided to take different attitude.
As I said I'm in a position to generate yearly returns / prices that are VG distributed I started with doing so. I ended with a vector of 100k final asset prices. Price at time 0 was 1 in each case.
The code is: VGSimulate(1, NPaths, 365, params, 1)
Next step was a little drift from the purely mathematical approach.
I simulated 100k paths of daily returns/prices from the same VG distribution (just scaled drift and sigma accordingly), each path starting not at the price of 1
but at the price taken from previously generated vector of yearly returns/prices.
Next I looked what is the difference between the final price for each of those 100k x 365 days paths and 1 and "corrected" each of 365 prices in those paths to make sure that the final price in all 100k paths is = 1.
Finally I reversed those paths to have S1 = S365, S2 = S364 etc.
I will try with applying correction not to the prices but the returns themselves but that's a different story/
The code was:multiplier = ([0:365]/365)';
for i = 1:NPaths [SRev whatever] = VGSimulate(365, 1, 1, params, S(end, i)); delta(i) = 1 - SRev(end); S2(:,i) = flip(multiplier*delta(i)+SRev);end
After all I had 100k paths of 365 daily returns which when summed up along the math were VG distributed.
I'm aware that it's not the way I should proceed.
Anyway I checked the properties of the returns for 1st, 2nd,... 365day, they were almost identically distributed (with falling kurtosis as you go from day 1 to day 365, rising std deviation and stable mean). Overall the resuls seem to be quite satisfactory.
As a final check I drew an implied volatility plot which looks good.
As with real IV surfaces vol. falls as time to maturity gets longer and smile effect is stronger for short maturities. For reference I added a flat surface at 0.2 which is the sigma value of VG dist.
Below are some links to the plots so you can have a better picture of what was actually done.daily paths for T = 365, no correction, yearly returns are normaldaily paths for T = 365 with correction, yearly returns are VG distributed histogram of D1-D2 returns vs D364-D365 returns, diff. is slightIV surfaceI will appreciate your comments.Does it make any sense (I'm sure from the mathematical point of view it's not the right attitude but if it is at least to some extend reasonable with small error margin I'll be satisfied)?
As the daily distribution gradually changes my next idea is to randomly permute daily returns for each path as the order of summing does not affect the sum.
Also I will try to adjust returns instead of prices and see what;s the difference.
I'll post when I'm done it will take a while.
Thanks for understaning & sorry for my math defficiencies & lack of rigour.
I'm really grateful for your thourough investigation and help, your post are inspiring even though I miss some points and I'm not able to check your suggestions.