Stochastic Volatility forecasting - ppc and arviz

Hello everybody - I would like to predict the SMI - Swiss Market Index - with the stochastic volatility example - for some timestamps ahead after the model got trained.

I was wondering about how to do so?

Is it possible to use the ppc - posterior predictive check and arviz for this task?
And if yes - would it be possible to add this to the example notebook?
Like this it would also be possible for other people how have the same question to solve this …
In general this is something I miss in the time series examples, as it would improve usability. I have seen several people in stackoverflow how ask the same thing as well.

Thanks a lot to everybody in the Discourse forum and best regrads

Hi @waudihaudi ,

Good day.
I also find it hard to predict with ppc, I also looking forward if someone able to provide the solution on how to predict with ppc in this case.

But I manage to find a work around from this author, Simon Oullette.

Basically, use Euler Maruyama and then use Ornstein Uhlenbeck to predict after you get the mean, theta and sigma.

Hope this helps.

1 Like

Hey Hello :smiley:

Your answer is very valuable for me. Nice that you had time to respond, even so you work at your master thesis. I never heard about the method called Euler Maruyama before!

So by getting the Volatility mu from Wiggins we can see that the returns are going down even faster than expected? Therefor we choose short for our position?

Or is it the other way around - Theta is 0.2 and therefor it is going up?

Thanks again :smiley:

plot_ppc is designed for posterior predictive checks, that is, generating posterior predictive samples as “predictions” of the data that was observed and comparing the two. The intuition behind this is that if the model is correct, both quantities should follow the same distribution. Therefore, posterior predictive checks (like plot_ppc or loo_pit) can be used to identify isssues with over/under dispersion or biases in the model. I have some examples in my blog that might be useful.

Predictions are generally understood as making statements about future or different (and still unobserved) observations than the ones that were used to fit the model, in which case plot_ppc is not the right choice. For such cases you’d probably have to use plot_ts or use a custom plot (part of which could be generated with plot_lm and then adding some extra components)

I am not completely clear on the question but I think plot_ppc is not the right choice for this task by the reasons outlined above.

I think that would be a great idea. I’d recommend opening a proposal issue at pymc-examples so we keep track of this and possible writers of this notebook extension can see it.

I made an issue in the pymc-example. Good idea. I hope I have written everything in a correct way.

1 Like