# What stochastic process produces Student's t-distributed returns?

If I think daily log returns have a normal distribution, I can simulate intraday log returns as normal, because the sum of normal variates is also normally distributed. What if I want to simulate intraday log returns consistent with daily log returns that follow a Student's t-distribution?

• This doesn't really make sense...the student's t-distribution tends toward normal as sample size increases. Taken literally, you'd have what you want for small sample sizes. To produce returns with 't-like' properties you could produce residuals with given mean but larger kurtosis on some order. May 24 '19 at 3:25
• An IID process for intraday returns won't produce t-distributed daily returns, but an intraday process with stochastic volatility would produces fat-tailed daily returns. I wonder if this has been studied. May 24 '19 at 12:01
• A crazy idea: maybe you could generate a t-distributed variable for the entire day's return and then do a brownian bridge to generate the intraday returns that will result in that overall return. May 24 '19 at 12:25

What you need is a Lévy process. Take a look at this primer. It contains a summary description of some Lévy processes and among them some that generate student t-distributed variables.

• Thanks. On p27 they say this about Student's t: "In the symmetric case only moments of order less than v will exist — at any time horizon. However, we do not know the distribution of Y_t for this process in any explicit form, while simulation has to be carried out in quite an involved manner. Hence this process is not as easy to handle as the NIG or normal gamma L´evy processes." May 27 '19 at 11:51

Student's t distribution can be regarded as a Normal distribution with variance mixture Y, where Y follows the inverse gamma distribution (1). So to simulate intraday returns consistent with the daily return having a t distribution, you could first sample from the inverse gamma distribution to determine that day's variance and then simulate a Brownian motion with that variance.

• An answer to my question came to me today -- please let me know if it is correct. May 24 '19 at 15:02
• This should work but if you implement this your simulations will not exhibit the volatility clustering observed in stock returns. That would be an advantage of my GARCH approach. May 24 '19 at 17:21

One way to generate excess kurtosis in your sample is the approach below. It doesn't give you a student-t distributed sample but from your comment I understand that might not be a hard requirement.

A simulation with GARCH where the intraday innovations are inputted into to the GARCH model would give you time varying volatility which appears as excess kurtosis if you calculate it from a sample where you assume constant volatility.

For example, you could simulate like this (using R):

library(moments)
N = 1000
# Assume some GARCH(1, 1) parameters
omega <- 0.000001
alpha <- 0.04
beta <- 0.95

# Simulate a return series with GARCH(1, 1)-based volatility
set.seed(1L)
normalInnovations <- rnorm(N)
returns <- c(normalInnovations[[1L]], rep(NA_real_, N - 1L))
variance <- c(0, rep(NA_real_, N - 1L))
for (i in 2:N) {
variance[[i]] <- omega +
alpha * normalInnovations[[i - 1L]] ^ 2 +
beta * variance[[i - 1L]] ^ 2
returns[[i]] <- normalInnovations[[i]] * sqrt(variance[[i]])
}

skewness(normalInnovations)
kurtosis(normalInnovations)
jarque.test(normalInnovations)
skewness(returns)
kurtosis(returns)
jarque.test(returns)
acf(returns^2, lag.max = 10L)


These returns will exhibit excess kurtosis and auto-correlated volatility.