Getting started with rolling co-variance matrix estimate?

If you’re trying to rebalance daily, I would see if you can get your hands on intraday, minutely data to work with. A single observation per day with daily data isn’t going to help you out a lot. I think I managed to get it down to training in around 20 minutes for ~11 assets, with a subsample rate of 30 (daily data), so it might be feasible to do an hourly or two-hourly rebalance.

However, as it is currently parameterized, it definitely has speed problems. Increasing the number of assets just adds too many interrelations for the problem to be tractable as laid-out. There may be a better parameterization than the one that I have worked on, but I haven’t dug particularly deep into it.

I’m also not entirely convinced that having a variable Bayesian covariance is more beneficial than having a static Bayesian covariance with variable volatilities. It might be worth placing a prior on the lower diagonal of the covariance that is not indexed by time (such as an LKJ prior) and keeping the diagonal as a GaussianRandomWalk. I suspect that having the distribution of the lower diagonal in conjunction with variable volatilities might give you better performance while reducing the number of variables that NUTS has to sample.