# How to simulate asset returns using student t?

I am currently trying to simulate an asset return using the student-t distribution, but I can't find how I should do this. I began with the Geometric Brownian motion and just changed in order that epsilon follows the student-t distribution instead of the normal distribution, but I found out that this is not the correct way, I read a lot about levy-processes, but I don't know exactly how do simulate such returns.

Thank you very much in advance

• In Continuous Time it may not be possible AFAIK (since sum of two Student-t increments is not necessarily Student-t), but in Discrete Time it is easy and frequently done. – noob2 Jul 19 '16 at 13:20
• Nevertheless, you could get some insights in this paper arxiv.org/pdf/0906.4092.pdf – Kermittfrog Dec 1 '20 at 11:56

## 1 Answer

You will need a 'pseudo' random number generator - most stats programming languages have them (Matlab, R, Python...). But GBM is defined with Normal increments $N(0,\sigma^{2}(T-t))$ so I dont think using Student's t distribution is a good idea, never seen it in any literature/applications. It is however used for instance in GARCH modelling....

Random variates: For instance in R, you can get random variates from student distribution from the fGarch package - rstd() function. In Matlab it is described here

Then you can use this as innovations in your BM or GBM motion simulation. How to do this was answered here few times see answer here.

If you elaborate further, what language you are using, or even post your code attempt so far, we might be able to help more...

• Thank you so much Jan Sika. I am using Matlab. I use at the moment the following code: function [S,T] = studentt(mu, sigma, S0, nu, T, y, NSim) %mu=drift T= number of time steps, y=number of years, NSim number of %simulation N=yT; dt=y/N; eps=trnd(nu,N,NSim); trend=(mu-sigma^2/2)*dt; W=sqrt(dt)*eps; h=trend+sigmaW; z = cumsum([repmat(log(S0),NSim,1) h.'],2); S=exp(z); – lechim Jul 20 '16 at 7:16
• I thjink you should do cumsum of the W=sqrt(dt)*eps. Then not sure what is the repmat doing, but I think you can just follow something like this, but just have the student distribution instead of normal in the BM generation part – Jan Sila Jul 20 '16 at 11:44