precise
precise copied to clipboard
Understanding m6 examples
Hi,
I'm trying to figure out how the m6 examples work internally. As I understand from reading the code the following steps are performed in the simplest examples:
- Download data and preprocess, generate difference log returns
- Estimate covariance matrix with the chosen skater
- Generate n draws from a 100-d-normal distribution with mean all zero and the estimated covariance matrix.
- Calculate the 5 quantiles, convert all draws into their respective quantile values (1-5)
- Average for every rank the draws for every asset to generate probabilities
As I'm not from a finance background, I have some questions. I would also appreciate links for deeper understanding:
- Why is the mean estimation coming from the estimator not used? Shouldn't there be some kind of "trend" in some cases so that mean is not zero?
- Why assume the multivariate normal distribution for returns? Couldn't it be any other distribution? Or is this just the simple way to do it without more knowledge?
- Looking through the code I'm missing somehow traditional forecasting models? Before reading this package my approach would have been to pick a forecasting model with uncertainty e.g. some bayesian regression/gaussian process/prophet etc. Then generate a forecast from that, define class boundaries based on the uncertainty estimate (Although I struggle to define how to set the boundaries). Any comments on that?
Thanks for any insights :)
Hi.
- Probably not. Obvious trend would be taken advantage of long ago, which is not to completely discount momentum.
- Yeah that's lazy, agreed.
- Prophet, ARIMA etc are all in timemachines, should you wish to do univariate prediction of anything.