I have a model which I use to simulate future yield curves. The model uses some standard concepts, like PCA and ARMA models, and it creates some nice-looking yield curves. The simulated curves are used for risk purposes (VaR, stress testing, etc).
The problem that I'm having is that I am working with 5 years of data of GBP swap rates / GBP yield curve, and during this period the short end of the curve hardly moves. For the short end of the curve we use something like LIBOR. Here's what 3M LIBOR has been doing since 2000:
My dataset starts right after the big drop in 2009. As you can see, after 2009 the largest move over a year is maybe 50-70 bps, which is small.
As a result my model simply doesn't produce large movements on the short end of the yield curve. I'm not producing movements larger than, say, 20-30 bps. This is problematic, since for the purposes of risk I want to be 99% "sure" that I've captured the worst-case scenario. And further back in history rates were much more volatile. It's unlikely, but not out of the question, that LIBOR increases by 100bps or more. (this is all over a time horizon of one year by the way)
To counter this "flatness" I could maybe include GARCH effects and other fat-tailed distributions, but I'm guessing this hardly matters since calibrating to the data just results in, again, a very inert model. Also, the current model works reasonable for the EUR swap curve, which has been a more volatile. The model I'm using can definitely produce large rate movements -- it's just that the calibration to the the 5 year dataset results in relatively static model.
So what else can I do? How can I "instruct" my model to simulate larger movements? Should I just start tuning the model parameters by hand? Should I look at the option market? Maybe add random interest rate shocks?
I should note that one obvious "solution" to this problem is to include a larger dataset, but let's just assume that I can't increase my dataset (there's a few reasons for this).
It's a general problem I suppose: what do you do when your historical dataset does not properly reflect potential future dynamics?