Modeling Dynamic Conditional Correlations for Intraday Risk
A refactor and extension of the intraday value-at-risk tool developed by Meiners (2022). The original code is rebuilt as a seeded, tested Python core, and the most consequential shortcomings of the original study are addressed and re-measured.
Financial markets exhibit interdependencies that evolve over time. Static correlation measures assume these relationships are fixed, and therefore understate portfolio risk during the periods of contagion and diversification breakdown that matter most. The original thesis addresses this with the Dynamic Conditional Correlation framework of Engle (2002): univariate GARCH(1,1) models with Student-t marginals, a Gaussian copula for joint dependence, and a Monte Carlo value-at-risk forecast one five-minute step ahead. The forecasts were evaluated with a Kupiec backtest across four volatility scenarios, and reached statistical significance at the 95% confidence level in three of the four.
The present work rebuilds that pipeline as a seeded and unit-tested Python core, verified against a golden-master reference. It then addresses several shortcomings the original left open. Expected returns entered the value-at-risk calculation, where they do not belong. Coverage was tested for its unconditional rate alone, without a companion test for the independence of exceedances. Most importantly, the optimizer failed to converge on the 2020 crash, which is the kind of event the tool was designed to monitor. Each change is reported as a before-and-after comparison against the reproduced baseline. Differences smaller than the Monte Carlo simulation noise are not treated as findings.