QM007 Hands-on Lab
Change the rebalancing frequency without changing the information timeline
Goal
This lab uses the same four-period synthetic return path as QM007. It changes only the rebalancing frequency so that you can see how a trading rule changes the weight path, terminal wealth, and turnover.
The example is a numerical illustration, not evidence that one rebalancing frequency is better than another.
Run the Python version
python python/qm007_hands_on.pyThe script compares:
- rebalancing to 50/50 every period;
- rebalancing every two periods; and
- buy-and-hold after the initial 50/50 allocation.
What to inspect
- A non-rebalance date carries the drifted weights forward.
- A rebalance changes the weights used in the next period; it does not change the return already earned.
- More frequent rebalancing can increase turnover, but this four-period path does not establish a general performance ranking.
Try one change
Edit the return path in data/qm007_two_asset_returns.csv, or change the target weights in the script. Keep the information-timing rule unchanged: start-of-period weights earn the current period’s returns, then weights drift, then an optional rebalance sets the next period’s starting weights.
R version
If base R is available:
Rscript r/qm007_hands_on.RThe Python and R files implement the same accounting convention and reproduce the same reported path calculations when run in the supported local environments.