feat: add ADF (Augmented Dickey-Fuller) indicator

- Core implementation with Cholesky OLS, MacKinnon p-value, AIC lag selection
- Three regression models: NoConstant, Constant, ConstantAndTrend
- NormCdf via Abramowitz & Stegun 7.1.26 erf approximation
- Quantower adapter, Python bridge (NativeAOT export + ctypes + wrapper)
- 69 tests (41 unit + 12 validation + 14 Quantower + 2 consistency)
- Documentation with Schwert table, MacKinnon coefficients, PineScript ref
- All 19,095 tests pass, zero warnings
This commit is contained in:
Miha Kralj
2026-03-15 17:56:54 -07:00
parent 0468283d45
commit e3bd07aa87
17 changed files with 2790 additions and 2 deletions
+1
View File
@@ -254,6 +254,7 @@ HAS_WAD = _bind("qtl_wad", [_dp, _dp, _dp, _dp, _dp, _ci])
# ═══════════════════════════════════════════════════════════════════════════
# Statistics
# ═══════════════════════════════════════════════════════════════════════════
HAS_ADF = _bind("qtl_adf", [_dp, _dp, _ci, _ci, _ci, _ci])
HAS_ACF = _bind("qtl_acf", [_dp, _dp, _ci, _ci, _ci])
HAS_GEOMEAN = _bind("qtl_geomean", [_dp, _dp, _ci, _ci])
HAS_GRANGER = _bind("qtl_granger", [_dp, _dp, _dp, _ci, _ci])