The Static, the Expanding, and the Moving
This Monday, it is time for a new monthly investment in which I will also use the data available as of 1 August 2022. When doing so, one question worth considering is “how should my previous chosen thetas account for this new market information? The most basic and safe-card-ish way would be to continue with my fixed and previously optimized thetas. But what if it is possible to obtain even better or even more optimal thetas if I optimize over a period containing more and/or more recent information?
Considering this, I look at three different potential strategies for estimating theta. First, I look at a static strategy where I simply keep my previously estimated thetas. I hence continue using these to find my asset weights as described in A few simple rows Second, I consider an expanding window strategy where I re-estimate the values of theta by including each additional month’s worth of information as it becomes available. Third, I consider a moving window strategy that estimates the optimal value of theta based on the 48 months of most recent market information.
Practically, I start with estimating the thetas using my whole OMX Stockholm 30 sample. When doing so, I first load some price and volume data (available via yfinance) and some market betas (estimated using the Fama and French [1] five-factor model). I calculate returns and past trading volume and I obtain the standardized x matrix, containing the two asset factors dolvol and beta.
This is all very much similar to what is happening in A few simple rows. Expect for that here, I also handle some issues relating to missing values using np.isnan and inin.
Since I both want to estimate the thetas using one period and look at the performance using another out-of-sample period, I split my data into two parts.
I then start with estimating the static thetas using the quite straightforward theta function.
For the expanding window, I increase the estimation frame with each additional month’s worth of information as it becomes available.
And for the moving window, I only use the 48th most recent months to estimate the thetas.
Finally, this is what the three different versions of theta look like overall.
The static ones remain
fixed at approximately -0.36 for dolvol and 0.03 for beta. The expanding window
thetas fluctuate more at the beginning of the period, after which they start to
converge to more stable values. Meanwhile, the moving window thetas change most
extremely from one month to another.
When looking at the performance,
I use the second (out-of-sample) part of my data set to calculate asset weights
and portfolio returns.
I primarily look at
the Sharpe ratio using excess returns (net of the risk-free rate) and abnormal
returns estimated using the Fama and French [1] five-factor model. The risk-free
rate and additional factor model data are available here.
The static, the expanding,
and the moving theta strategy all perform quite similarly.
The moving window strategy
seems to perform a bit better in terms of a high Sharpe ratio and abnormal returns,
meanwhile, the static strategy seems to perform a bit worse. This is also reflected
in the cumulative return of each strategy.
Which of these three theta
strategies would you prefer? Continuing, I will personally go for the expanding
window strategy as it seems to be a bit more stable compared to the moving
window, but at the same time, a bit more flexible compared to the static
thetas.
Meaning, that I will
soon estimate a new pair of thetas using the additional market information as
of 1 August 2022. I plan to do this soon in parallel with my next monthly investment
session.
[1] Fama, E.F. and K.R. French, A five-factor asset pricing model. Journal of financial economics, 2015. 116(1): p. 1-22.
Comments
Post a Comment