QM012 Hands-on Lab
Rolling Holding-Period Analysis
Objective
Construct overlapping rolling holding-period outcomes from one synthetic return path and separate endpoint growth from the path experienced inside a window.
Run
From the QM012 folder:
python labs/python/qm012_rolling_holding_periods.pyWhat to inspect
The script prints the number of rolling windows and median cumulative growth for 60-, 120-, 180-, and 240-period horizons, plus the maximum drawdown inside the first 60-period window.
- Longer horizons leave fewer distinct start dates.
- Adjacent rolling windows overlap heavily and therefore are not independent observations.
- A favorable endpoint return can coexist with a difficult intra-window drawdown.
Experiment
Change the amplitude of the cyclical component in the synthetic return series or the sample length. Compare how the endpoint distribution and within-window drawdown respond. Do not read the number of overlapping windows as an effective independent sample size.
Interpretation boundary
This lab illustrates rolling-window mechanics only. It does not imply that longer holding periods are safer or that the synthetic horizon distribution describes any market.