One of the big problems in creating good statistical models in the stock market is because of the long tails that deviate from Gauss' [regular] bell model, is there a way to create a synthetic Gauss bell on market data, by a random walk model that buys long or short [each time] And so it balances the tails completely [after all: if a person enters the market both long and short all the way, he will find himself with a span of zero at the end of the road, and if so a random walk should create a zero span with a standard Gaussian model] I Do not know if my logic is correct, I would love any answer or comment from the great experts here

Thank you

  • $\begingroup$ Are you aiming to have bell curved portfolio returns by varying exposure to the non-Gaussian market returns? $\endgroup$ – Bob Jansen Jul 16 '20 at 15:59
  • $\begingroup$ I do not intend to hold such an actual portfolio, but to use it as a basis for complex strategies based on a Gaussian model $\endgroup$ – pinchas fogel Jul 16 '20 at 16:05

I think I understand where you are going, please correct me if I'm wrong. I also think whatever you could do to transform the returns to Gaussian will be very complex or not really useful. In short, I'm not convinced this will be a fruitful approach.

If you have a sample of returns you can always apply a scaling to individual observations to make them normal. In the plot below, take every point that's for from the line and scale it so that it's closer to the line, repeat until your convinced the result is normal. I'm unconvinced this is a good idea. If you keep the observations in order you would at least not lose some forms of auto-correlation.

set.seed(1L); returns <- rt(1:1e2, df = 10); qqnorm(returns); qqline(returns)

Assuming (big assumption) that returns are drawn from a mixture of normal $N(0, \sigma)$ distributions a better approach would be to model the volatility of the returns using GARCH and scale the returns using the inverse of the predicted volatility. If the model is correctly specified the returns would now be normal. This has two drawbacks, one model specific, one more fundamental:

  1. GARCH doesn't forecast upward volatility shocks, you can only now-cast which is a limitation for investing;
  2. The existence of a simple model that forecasts volatility is unlikely. It will almost be certainly be more complicated than what you're trying to achieve right now.

At least, it has a stronger theoretical basis than the scaling described above.

If we drop the assumption of returns coming from a mixture, you would need another model, presumably a lot more complex. I think Cont, R. (2001) Empirical Properties of Asset Returns: Stylized Facts and Statistical Issues. Quantitative Finance, 1, 223-236. is the standard reference for stylized facts you would want to account for.

Transforming the data to Gaussian

The plot above is created in R with:

returns <- rt(1:1e3, df = 10)

Returns normalized by force

These returns can be made Gaussian as follows:

# Don't do this
scaling <- qnorm((1:100) / 101)[order(returns)] / returns
qqnorm(returns * scaling)
qqline(returns * scaling)
shapiro.test(returns * scaling)

Results in

    Shapiro-Wilk normality test

data:  returns * scaling
W = 0.99774, p-value = 0.9999 # Higher p-value => more evidence of normality

Normalized data

This forces returns * scaling to be normally distributed and at least retains the original ordering. It removes all information about heteroskedasticity.


The quantile matching method above is not great but the calculation of scaling can be done in other ways too. If you were to fit a GARCH model on the return series and calculate the volatility for each period you could set

scaling <- 1 / volatility

and proceed as above.

To mimic Gaussian returns in your portfolio, you can scale your portfolio by scaling as well.

Using factor models

The above methods work on time series data, if your interested in the returns on multiple stocks at one moment you can use a factor model. For example, the CAPM. If the CAPM was correct, returns would be given by: $$R_i = R_f + \beta_i(R_m - R_f) + \varepsilon_i$$ where $R_i$ denotes the return on asset $i$, $R_f$ the risk free rate, $\beta_i = \frac{\mathrm{Cov}(R_m, R_i)}{\mathrm{Var}(R_m)}$ the scaled covariance of the returns of $i$ with the market, $R_m$ the market return and $\varepsilon_i$ the return on $i$ not explained by the model. If the model would be well specified $\varepsilon_i$ is normally distributed with mean $0$ and standard deviation $\sigma_i$. Then $$R_i \sim N(R_f + \beta_i(R_m - R_f), \sigma_i).$$

Other factor models are the Fama & French 3 factor model or the Carhart four-factor model.

However, these factor models don't really get rid of fat tails as they don't capture all there is to know about returns.

  • $\begingroup$ Thanks for the answer but I do not really understand, why is my logic wrong? After all, even if there is a tail that significantly deviates in a certain direction, it should be completely balanced by half of it turning in the opposite direction [because statistically in a random model about fifty percent will be in the opposite direction and so the tail will balance, what is wrong with my approach? Thank you $\endgroup$ – pinchas fogel Jul 16 '20 at 17:56
  • $\begingroup$ Hi: could you explain more clearly how you would create gaussian returns from non-gaussian returns. you say that will go both long and short at the same time but what does that have to do with creating gaussian returns ? $\endgroup$ – mark leeds Jul 16 '20 at 18:42
  • $\begingroup$ I did not say that both long and short would enter at the same time, but I proved from a state of entry both long and short where the result would be fifty percent profit exactly and fifty percent loss exactly, and anyway run a random algorithm that only enters one side at a time [long or short] should bring distribution Of Gauss, since if I had entered the total trades I would have had fifty per cent loss and fifty per cent profit for sure, so in a random entry I should get more or less the same results [I hope I was able to explain myself] $\endgroup$ – pinchas fogel Jul 17 '20 at 7:26
  • $\begingroup$ Hi: I'm not sure that I understand but the idea of fat tails is that you don't get a chance to experience both sides. Once you get crushed, the game is (often) over. This is because you don't have an infinite bankroll. It's why why doubling down on the ( two color ) roulette wheel every time you lose will eventually get you very broke rather than a dollar. There will eventually be an event where the non-winning color comes up too many times in a row and you won't have the money to double. or the casino may have a limit on how much you can bet. But I still might not be understanding your point. $\endgroup$ – mark leeds Jul 17 '20 at 7:38
  • $\begingroup$ I’m getting confused also. Why would entering long or short lead to a Gaussian distribution? If returns are Student-t distributed you will still get fat tails. My idea is to scale the amount you long or short so that return on cash + holding is approximately normal. $\endgroup$ – Bob Jansen Jul 17 '20 at 7:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.