Commit graph

3 commits

Author SHA1 Message Date
5d1420e33b Purge the train/test boundary and align with the revised article
The fit now stops H bars before the split, so no training target reaches
into the test period, and every baseline in PDV_Evidence uses the same
purged rows. The determinant test in SolveBetas is relative, Sigma() and
Forecast() share one floor scaled by |b2|, and the comment boxes on the
target and ridge are corrected. README updated to match.
2026-10-18 06:09:02 +05:00
d301ee1690 Path-dependent volatility: engine, calibration and evidence
Guyon-Lekeufack path-dependent volatility ported to native MQL5.
sigma = b0 + b1*R1 + b2*sqrt(R2), where R1 and R2 are two-exponential
kernel sums over past signed and squared returns, implemented as four
running accumulators updated in O(1) per bar with no stored history.

CPdvModel calibrates nine parameters by splitting them: a Nelder-Mead
simplex over the six kernel parameters with the closed-form regression
for the three betas nested inside its objective. Features are causal,
the target is strictly forward, and the train/test cut is chronological.

PDV_Evidence scores the model out of sample against a constant, an EWMA
volatility and GARCH(1,1), and runs the b1-pinned-at-zero ablation that
isolates what the sign of the path is worth.
2026-09-07 14:12:22 +05:00
036ae9dc8c Initial commit 2026-09-07 09:11:20 +00:00