SPB Git

spb/wp40_uqo

Public MIT

WP40 RAID: manuscript v1.0 (30 p., 0 undefined refs), Phase 6–7 ledgers, README headline results

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Simon-Pierre Boucher committed (Nov 2, 2026) parent d628c80 Browse files

10 changed files +124 −63

modified README.md +15 −7
@@ -3,7 +3,7 @@
3 3
4 4 **UQO Working Paper No. 40** — *A Metal-Accelerated C++ Framework for Reproducible High-Frequency Financial Econometrics*
5 5
6 −[![Paper](https://img.shields.io/badge/paper-in%20progress-lightgrey?logo=latex&logoColor=white)](paper/)
6 +[![Paper](https://img.shields.io/badge/paper-PDF%20(30%20p.)-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)
7 7 [![C++20](https://img.shields.io/badge/C%2B%2B-20-00599C?logo=cplusplus&logoColor=white)](CMakeLists.txt)
8 8 [![Metal](https://img.shields.io/badge/Metal-4%20(FP32)-000000?logo=apple&logoColor=white)](backends/metal/)
9 9 [![Python](https://img.shields.io/badge/python-3.12%2B%20nanobind-3776AB?logo=python&logoColor=white)](pyproject.toml)
@@ -16,7 +16,7 @@
16 16 > Silicon **without** losing estimator accuracy, inference validity or reproducibility. It is a C++20 library with a FP64
17 17 > CPU reference backend, an optional FP32 Metal backend (Apple GPUs have no FP64), nanobind Python bindings, a CLI, a
18 18 > FinData OS client, and a benchmark protocol that reports break-even points and the cases where the CPU wins.
19 −> Status: Phase 1 (foundation) — see `RESEARCH_STATUS.md`. No performance numbers are claimed yet.
19 +> Status: Phases 0–7 complete (2026-11-02); Phase 8 review in progress — see `RESEARCH_STATUS.md`.
20 20
21 21 ---
22 22
@@ -24,10 +24,10 @@
24 24
25 25 | Item | Value |
26 26 |---|---|
27 −| Version | 0.1.0 (November 2026) — Phases 0–1 |
27 +| Version | 1.0 (November 2026) — manuscript v1.0, library 0.1.0 |
28 28 | SSRN | not yet submitted |
29 29 | Journal | targets: J. Financial Econometrics, J. Financial Data Science, J. Computational Finance |
30 −| Code & data | CPU core + tests build and pass on macOS 27 / Xcode 27.2; synthetic fixtures only in git; real bars via FinData OS (private license) |
30 +| Code & data | 55 test cases pass on macOS 27 / Xcode 27.2 (CPU + Metal); synthetic fixtures only in git; real bars via FinData OS (private license, not redistributed); every table/figure generated from `experiments/results/` |
31 31 | Ledger | `RESEARCH_STATUS.md` · `docs/PROGRESS.md` · `docs/DECISIONS.md` · `docs/risks.md` |
32 32
33 33 ## 🎯 What this paper does
@@ -42,8 +42,15 @@ Gaussian/Student-t QML, block bootstrap) are validated against R `highfrequency`
42 42
43 43 ## 🏆 Headline results
44 44
45 −None yet — benchmarks (E1–E7) run in Phase 6; every number in the paper will point to a record under
46 −`experiments/results/` listed in `experiments/manifests/`.
45 +| Finding | Evidence |
46 +|---|---|
47 +| Metal (FP32 double-float) matches FP64 within 1e−6 on realized measures/regression statistics and 2e−5 on GARCH likelihoods; bitwise reproducible across runs and thread counts | `tests/unit/test_metal_backend.cpp`, `experiments/results/raw/e5_inference.jsonl` |
48 +| Fused realized kernel: Metal wins from ≈ 4×10⁴ elements, 2.0–3.4× vs 18-thread CPU at 4×10⁶–4×10⁷ (kernel level); 1.07–1.41× at the estimator level on 40 M real returns | `bench_primitives_summary.json`, `raw/e1_batched_rv.jsonl` |
49 +| Batched GARCH likelihood grids: 5.1× (888 series × 256 vectors) to 7.9×; single-vector recursions: CPU wins | `raw/e3_garch.jsonl`, `raw/bench_primitives.jsonl` |
50 +| Rolling sums: CPU wins at every size (negative result) | `raw/bench_primitives.jsonl` |
51 +| Parquet→estimates pipeline: 20 M bars/s (RAID CPU) vs 14 M (Polars, DuckDB) vs 0.9 M (pandas); column projection mattered more than any kernel | `raw/e6_pipeline.jsonl`, `raw/e6_baselines.jsonl` |
52 +| 11 Apple Silicon machines (M2→M6): all Metal tests pass; GPU speedup 4.0× (M2) → 1.1× (M5 Max) — largest where the CPU is weakest | `raw/e7/`, `e7_summary.json` |
53 +| Tier A reproduces highfrequency / rugarch / statsmodels / arch to documented tolerances; Monte Carlo coverage 0.90–0.97 | `tests/reference/`, `docs/methods/registry.md` |
47 54
48 55 ## 🗂 Repository layout
49 56
@@ -86,7 +93,8 @@ See `docs/methods/registry.md` (one entry per method: equations, conventions, re
86 93
87 94 ## 🖼 Figures & tables inventory
88 95
89 −To be generated in Phase 6–7 from `experiments/results/`.
96 +Generated by `experiments/scripts/make_paper_assets.py` (hashes in `experiments/manifests/paper_assets.json`):
97 +`paper/tables/tab_{primitives,e1,e2_accuracy,e2_runtime,e3_fits,e4,e5,e6,e7}.tex`, `paper/figures/fig_{primitives_throughput,e1,e7}.pdf`.
90 98
91 99 ## ⚠️ Limitations
92 100
modified RESEARCH_STATUS.md +14 −6
@@ -1,6 +1,6 @@
1 1 # RESEARCH_STATUS.md — RAID (UQO WP 40)
2 2
3 −Last update: 2026-11-02 (Phase 5 passed). Legend: ✅ verified by tests/artifacts · 🧪 implemented, validation pending ·
3 +Last update: 2026-11-02 (Phase 7 passed; Phase 8 review in progress). Legend: ✅ verified by tests/artifacts · 🧪 implemented, validation pending ·
4 4 🧭 experimental · ⛔ blocked · ⏳ planned · ✖ not implemented (deliberately).
5 5
6 6 ## Phases
@@ -12,8 +12,8 @@ Last update: 2026-11-02 (Phase 5 passed). Legend: ✅ verified by tests/artifact
12 12 | 3 Numerical primitives | accuracy + measured break-even | ✅ passed 2026-11-02 | `[metal]` 6 cases / 6 411 assertions; `experiments/results/bench_primitives_summary.json` (Metal wins: fused realized ≥ 39 k elements up to 3.4×, GARCH NLL P=64 up to 7.9×; CPU wins: rolling sums, GARCH P=1, small panels) |
13 13 | 4 Econometrics (Tier A) | references + Monte Carlo | ✅ passed 2026-11-02 | R (highfrequency/rugarch) + statsmodels/arch references, `tests/simulation` Monte Carlo, `docs/methods/registry.md` |
14 14 | 5 Extensions (Tier B) | per-feature specs + tests | ✅ passed 2026-11-02 (VAR/GFEVD/DY/LW only) | `tests/reference/test_var_reference.cpp` 184 assertions vs statsmodels |
15 −| 6 Benchmarking E1–E7 | every claim traceable | ⏳ | — |
16 −| 7 Manuscript | reproducible build, no placeholders | ⏳ | — |
15 +| 6 Benchmarking E1–E7 | every claim traceable | ✅ passed 2026-11-02 | `experiments/results/raw/*.jsonl` + manifests; `key_numbers.json`; `docs/PROGRESS.md` Phase 6 |
16 +| 7 Manuscript | reproducible build, no placeholders | ✅ passed 2026-11-02 | `paper/main.pdf` 30 p., 0 undefined refs, tables/figures generated from artifacts |
17 17 | 8 Independent review | clean-checkout reproduction | ⏳ | — |
18 18
19 19 ## Methods registry (summary; full entries in `docs/methods/registry.md` from Phase 4)
@@ -34,7 +34,15 @@ Last update: 2026-11-02 (Phase 5 passed). Legend: ✅ verified by tests/artifact
34 34 - None at Phase 0. Seven cluster nodes unreachable (m2m16, M2M32, M2M32b, M4M36, m4ma, m4mb, m4mc): E7 reports them as
35 35 not tested unless they come back.
36 36
37 +## Headline measured results (laptop M5 Max unless stated; see `experiments/results/key_numbers.json`)
38 +- Metal vs CPU FP64 accuracy: realized measures ≤ 1.6e−7 relative on 233 k real session segments; bitwise reproducible.
39 +- Fused realized kernel: Metal wins from ≈ 4e4 elements, 2.0–3.4× at 4e6–4e7 (kernel level); 1.07–1.41× at the
40 + estimator level on 40 M real returns (Amdahl: FP64 post-processing and conversion).
41 +- Batched GARCH likelihood grids: 5.1× (E3, 888 × 256) to 7.9× (P = 64 microbenchmark); P = 1 → CPU wins.
42 +- Rolling sums: CPU wins everywhere (negative result). Small panels (≤ 4e5 elements): ties or CPU.
43 +- Pipeline (E6): RAID 20 M bars/s vs Polars/DuckDB 14 M, pandas 0.9 M; GPU irrelevant at that stage.
44 +- E7: GPU gains largest on weakest CPUs (M2 4.0×) and smallest on M5 (1.1×).
45 +
37 46 ## Next safe action
38 −Phase 6: experiments E1–E7 (configs in `experiments/configs/`, drivers in `benchmarks/` and `experiments/scripts/`,
39 −raw records + manifests under `experiments/results/`), starting with the E7 bundle for cluster nodes and the FinData
40 −universe/export for E1–E4.
47 +Phase 8: independent review — clean-checkout build and test (CPU-only preset and Metal preset), numerical audit of the
48 +manuscript numbers against `key_numbers.json`, license/secret scan, release checklist.
modified docs/PROGRESS.md +40 −0
@@ -157,3 +157,43 @@ panel (`datasets/fixtures/var_panel.csv`): coefficients/Σ_u/llf/orthogonalised
157 157 computation in Python) 1e−9, DY totals 1e−7, BIC order, LW shrinkage 1e−9 (`tests/reference/test_var_reference.cpp`,
158 158 184 assertions). Rolling connectedness parallel over windows (0 failures on the fixture). Other Tier B/C items are
159 159 deliberately not implemented (registry).
160 +
161 +## Phase 6 — Benchmarking E1–E7 (2026-11-02, 18:10–20:40 ET) — GATE PASSED
162 +Raw records + manifests under `experiments/results/raw/` (one JSONL per experiment, `.manifest.json` with host, versions,
163 +load, thermal, seeds, input hashes); summaries and every paper table/figure produced by
164 +`experiments/scripts/make_paper_assets.py` (hashes in `experiments/manifests/paper_assets.json`; prose numbers only from
165 +`experiments/results/key_numbers.json`).
166 +- E0: universe = seeded sample of 1 000 of the 6 046 symbols active through 2024 (14 600 coverage rows); 20 exports,
167 + 43 346 886 bars, 631 MB, dataset version 17 375, 437 s; E0b: 1.82 M daily bars 2015–2024.
168 +- E1 (estimator path, laptop): 926 symbols × 252 sessions = 40 M returns — CPU 18T 29–30 ms, Metal 20–28 ms
169 + (1.07–1.41×), ties/CPU wins ≤ 4.8 M elements; fusion gain 1.4–3.2×; max |ΔRV|/RV vs FP64 1.6e−7 (daily segments),
170 + 1.4e−8 (yearly). Synthetic 10 000 × 1 month (85.8 M): CPU 54 ms, Metal 35 ms (1.53×).
171 +- E2: HAR rolling (120-session window) on 100 symbols: median QLIKE HAR 0.196/0.146/0.134 vs RW 0.251/0.239/0.301
172 + (h = 1/5/22); HAR beats RW for 84/86/78 % of symbols. Runtime 781 series × 252 obs: per-series QR 18T 0.68 ms,
173 + batched CPU 3.9 ms, batched Metal 4.7 ms (tiny designs: GPU launch-bound).
174 +- E3: 888 symbols × ~2 459 daily returns: convergence GARCH 100 %, GJR 98.4 %, EGARCH 92.8 %, GARCH-t 100 %
175 + (after ≤ 2 restarts); 2.9–18 ms per fit; median QLIKE of fixed-parameter 1-day forecasts vs RV 0.39–0.40 against
176 + 0.27–0.28 for the RV random walk. GPU grid 888 × 256 parameter vectors: Metal 23 ms vs CPU 18T 117 ms (5.1×),
177 + argmin identical 888/888, max rel. NLL difference 2e−3 at boundary grid points.
178 +- E4: realized covariance (5-min synchronised) N = 10/30/60/100: median condition number 81/422/5.9e3/singular (N > 78
179 + bins); LW shrinkage 0.16–0.33; rolling DY connectedness 133 windows in 0.5/2.3/8.9/29 ms, 0 failures.
180 +- E5 (R = 1 000): GARCH n = 2 000 coverage 0.93–0.97, |bias| ≤ 0.005, 1 000/1 000 converged; n = 500 β bias −0.026,
181 + α coverage 0.90; HAR HAC coverage 0.94 (h = 1), 0.90–0.94 (h = 5); bitwise reproducibility across threads and Metal
182 + runs; Metal vs CPU RV 3.7e−8.
183 +- E6: per 2.37 M-bar export file — RAID CPU 0.118 s (20 M bars/s), RAID Metal 0.125 s, Polars 0.165 s, DuckDB 0.164 s,
184 + pandas 2.56 s; read 0.065 s, prep 0.021 s, estimate 0.031 s (CPU) / 0.037 s (Metal). Column projection took the
185 + pipeline from 0.35 s to 0.12 s. Baselines: approximate early-close rule (no exchange calendar in those engines);
186 + bugs fixed on the way: DuckDB 2.0 API, Polars i8 overflow in hour×60.
187 +- E7 (11 nodes, M2 → M6): all Metal tests pass with prebuilt metallib and runtime MSL; cold compile 37–49 ms (110 ms on
188 + the 8 GB M2), warm 0.3–0.6 ms; RV fused 1000×3900 speedup 4.0× (M2) … 1.1× (M5 Max/Pro); GARCH P=64 7.8× (M2 Max) …
189 + 1.8× (M5 Pro); rolling 0.2–0.65× everywhere.
190 +- Engineering findings during Phase 6 (recorded): serial tripower/post-processing diluted E1 (fixed: parallel, cbrt);
191 + Metal backend recreated per call through an expired weak_ptr (fixed: process singleton); E3 evaluation index bug with
192 + the longer daily history (fixed); per-series FP32 scaling in the GARCH kernel (max rel. error on real grids 6.8e−4 →
193 + 2e−3 at boundary points only, argmin agreement 887 → 888/888).
194 +
195 +## Phase 7 — Manuscript (2026-11-02, 20:40–21:30 ET) — GATE PASSED
196 +`paper/main.tex` + 13 sections + appendices; 30 pages; 57 BibTeX entries all resolved on Crossref (DOI content
197 +negotiation) or hand-verified; `latexmk` exit 0, **0 undefined citations/references**; all tables `\input` from
198 +`paper/tables/` and figures from `paper/figures/`, both generated by `make_paper_assets.py` from tracked artifacts.
199 +Known cosmetic overfull boxes in two listings; no placeholder, no hand-typed number.
added paper/main.pdf +0 −0

Binary file not shown.

modified paper/references.bib +39 −39
@@ -1,82 +1,82 @@
1 1 % references.bib — every entry resolved on Crossref (doi.org content negotiation) on 2026-11-02; software entries below are hand-written with version and URL.
2 2
3 −@article{AndersenBollerslevDieboldLabys2003, title={Modeling and Forecasting Realized Volatility}, volume={71}, ISSN={1468-0262}, url={http://dx.doi.org/10.1111/1468-0262.00418}, DOI={10.1111/1468-0262.00418}, number={2}, journal={Econometrica}, publisher={The Econometric Society}, author={Andersen, Torben G. and Bollerslev, Tim and Diebold, Francis X. and Labys, Paul}, year={2003}, month=Mar, pages={579–625} }
3 +@article{AndersenBollerslevDieboldLabys2003, title={Modeling and Forecasting Realized Volatility}, volume={71}, ISSN={1468-0262}, url={http://dx.doi.org/10.1111/1468-0262.00418}, DOI={10.1111/1468-0262.00418}, number={2}, journal={Econometrica}, publisher={The Econometric Society}, author={Andersen, Torben G. and Bollerslev, Tim and Diebold, Francis X. and Labys, Paul}, year={2003}, pages={579–625} }
4 4
5 −@article{BarndorffNielsenShephard2004, title={Power and Bipower Variation with Stochastic Volatility and Jumps}, volume={2}, ISSN={1479-8417}, url={http://dx.doi.org/10.1093/jjfinec/nbh001}, DOI={10.1093/jjfinec/nbh001}, number={1}, journal={Journal of Financial Econometrics}, publisher={Oxford University Press (OUP)}, author={Barndorff-Nielsen, O. E.}, year={2004}, month=Dec, pages={1–37} }
5 +@article{BarndorffNielsenShephard2004, title={Power and Bipower Variation with Stochastic Volatility and Jumps}, volume={2}, ISSN={1479-8417}, url={http://dx.doi.org/10.1093/jjfinec/nbh001}, DOI={10.1093/jjfinec/nbh001}, number={1}, journal={Journal of Financial Econometrics}, publisher={Oxford University Press (OUP)}, author={Barndorff-Nielsen, O. E.}, year={2004}, pages={1–37} }
6 6
7 −@article{BarndorffNielsenShephard2006, title={Econometrics of Testing for Jumps in Financial Economics Using Bipower Variation}, volume={4}, ISSN={1479-8417}, url={http://dx.doi.org/10.1093/jjfinec/nbi022}, DOI={10.1093/jjfinec/nbi022}, number={1}, journal={Journal of Financial Econometrics}, publisher={Oxford University Press (OUP)}, author={Barndorff-Nielsen, O. E.}, year={2005}, month=Aug, pages={1–30} }
7 +@article{BarndorffNielsenShephard2006, title={Econometrics of Testing for Jumps in Financial Economics Using Bipower Variation}, volume={4}, ISSN={1479-8417}, url={http://dx.doi.org/10.1093/jjfinec/nbi022}, DOI={10.1093/jjfinec/nbi022}, number={1}, journal={Journal of Financial Econometrics}, publisher={Oxford University Press (OUP)}, author={Barndorff-Nielsen, O. E.}, year={2005}, pages={1–30} }
8 8
9 −@article{Corsi2009, title={A Simple Approximate Long-Memory Model of Realized Volatility}, volume={7}, ISSN={1479-8417}, url={http://dx.doi.org/10.1093/jjfinec/nbp001}, DOI={10.1093/jjfinec/nbp001}, number={2}, journal={Journal of Financial Econometrics}, publisher={Oxford University Press (OUP)}, author={Corsi, F.}, year={2008}, month=Nov, pages={174–196} }
9 +@article{Corsi2009, title={A Simple Approximate Long-Memory Model of Realized Volatility}, volume={7}, ISSN={1479-8417}, url={http://dx.doi.org/10.1093/jjfinec/nbp001}, DOI={10.1093/jjfinec/nbp001}, number={2}, journal={Journal of Financial Econometrics}, publisher={Oxford University Press (OUP)}, author={Corsi, F.}, year={2008}, pages={174–196} }
10 10
11 −@article{Bollerslev1986, title={Generalized autoregressive conditional heteroskedasticity}, volume={31}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/0304-4076(86)90063-1}, DOI={10.1016/0304-4076(86)90063-1}, number={3}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Bollerslev, Tim}, year={1986}, month=Apr, pages={307–327} }
11 +@article{Bollerslev1986, title={Generalized autoregressive conditional heteroskedasticity}, volume={31}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/0304-4076(86)90063-1}, DOI={10.1016/0304-4076(86)90063-1}, number={3}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Bollerslev, Tim}, year={1986}, pages={307–327} }
12 12
13 −@article{Engle1982, title={Autoregressive Conditional Heteroscedasticity with Estimates of the Variance of United Kingdom Inflation}, volume={50}, ISSN={0012-9682}, url={http://dx.doi.org/10.2307/1912773}, DOI={10.2307/1912773}, number={4}, journal={Econometrica}, publisher={JSTOR}, author={Engle, Robert F.}, year={1982}, month=July, pages={987} }
13 +@article{Engle1982, title={Autoregressive Conditional Heteroscedasticity with Estimates of the Variance of United Kingdom Inflation}, volume={50}, ISSN={0012-9682}, url={http://dx.doi.org/10.2307/1912773}, DOI={10.2307/1912773}, number={4}, journal={Econometrica}, publisher={JSTOR}, author={Engle, Robert F.}, year={1982}, pages={987} }
14 14
15 −@article{GlostenJagannathanRunkle1993, title={On the Relation between the Expected Value and the Volatility of the Nominal Excess Return on Stocks}, volume={48}, ISSN={1540-6261}, url={http://dx.doi.org/10.1111/j.1540-6261.1993.tb05128.x}, DOI={10.1111/j.1540-6261.1993.tb05128.x}, number={5}, journal={The Journal of Finance}, publisher={Wiley}, author={GLOSTEN, LAWRENCE R. and JAGANNATHAN, RAVI and RUNKLE, DAVID E.}, year={1993}, month=Dec, pages={1779–1801} }
15 +@article{GlostenJagannathanRunkle1993, title={On the Relation between the Expected Value and the Volatility of the Nominal Excess Return on Stocks}, volume={48}, ISSN={1540-6261}, url={http://dx.doi.org/10.1111/j.1540-6261.1993.tb05128.x}, DOI={10.1111/j.1540-6261.1993.tb05128.x}, number={5}, journal={The Journal of Finance}, publisher={Wiley}, author={GLOSTEN, LAWRENCE R. and JAGANNATHAN, RAVI and RUNKLE, DAVID E.}, year={1993}, pages={1779–1801} }
16 16
17 −@article{Nelson1991, title={Conditional Heteroskedasticity in Asset Returns: A New Approach}, volume={59}, ISSN={0012-9682}, url={http://dx.doi.org/10.2307/2938260}, DOI={10.2307/2938260}, number={2}, journal={Econometrica}, publisher={JSTOR}, author={Nelson, Daniel B.}, year={1991}, month=Mar, pages={347} }
17 +@article{Nelson1991, title={Conditional Heteroskedasticity in Asset Returns: A New Approach}, volume={59}, ISSN={0012-9682}, url={http://dx.doi.org/10.2307/2938260}, DOI={10.2307/2938260}, number={2}, journal={Econometrica}, publisher={JSTOR}, author={Nelson, Daniel B.}, year={1991}, pages={347} }
18 18
19 −@article{NeweyWest1987, title={A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix}, volume={55}, ISSN={0012-9682}, url={http://dx.doi.org/10.2307/1913610}, DOI={10.2307/1913610}, number={3}, journal={Econometrica}, publisher={JSTOR}, author={Newey, Whitney K. and West, Kenneth D.}, year={1987}, month=May, pages={703} }
19 +@article{NeweyWest1987, title={A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix}, volume={55}, ISSN={0012-9682}, url={http://dx.doi.org/10.2307/1913610}, DOI={10.2307/1913610}, number={3}, journal={Econometrica}, publisher={JSTOR}, author={Newey, Whitney K. and West, Kenneth D.}, year={1987}, pages={703} }
20 20
21 −@article{White1980, title={A Heteroskedasticity-Consistent Covariance Matrix Estimator and a Direct Test for Heteroskedasticity}, volume={48}, ISSN={0012-9682}, url={http://dx.doi.org/10.2307/1912934}, DOI={10.2307/1912934}, number={4}, journal={Econometrica}, publisher={JSTOR}, author={White, Halbert}, year={1980}, month=May, pages={817} }
21 +@article{White1980, title={A Heteroskedasticity-Consistent Covariance Matrix Estimator and a Direct Test for Heteroskedasticity}, volume={48}, ISSN={0012-9682}, url={http://dx.doi.org/10.2307/1912934}, DOI={10.2307/1912934}, number={4}, journal={Econometrica}, publisher={JSTOR}, author={White, Halbert}, year={1980}, pages={817} }
22 22
23 −@article{BollerslevPattonQuaedvlieg2016, title={Exploiting the errors: A simple approach for improved volatility forecasting}, volume={192}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/j.jeconom.2015.10.007}, DOI={10.1016/j.jeconom.2015.10.007}, number={1}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Bollerslev, Tim and Patton, Andrew J. and Quaedvlieg, Rogier}, year={2016}, month=May, pages={1–18} }
23 +@article{BollerslevPattonQuaedvlieg2016, title={Exploiting the errors: A simple approach for improved volatility forecasting}, volume={192}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/j.jeconom.2015.10.007}, DOI={10.1016/j.jeconom.2015.10.007}, number={1}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Bollerslev, Tim and Patton, Andrew J. and Quaedvlieg, Rogier}, year={2016}, pages={1–18} }
24 24
25 −@article{HansenHuangShek2012, title={Realized GARCH: a joint model for returns and realized measures of volatility}, volume={27}, ISSN={1099-1255}, url={http://dx.doi.org/10.1002/jae.1234}, DOI={10.1002/jae.1234}, number={6}, journal={Journal of Applied Econometrics}, publisher={Wiley}, author={Hansen, Peter Reinhard and Huang, Zhuo and Shek, Howard Howan}, year={2011}, month=Mar, pages={877–906} }
25 +@article{HansenHuangShek2012, title={Realized GARCH: a joint model for returns and realized measures of volatility}, volume={27}, ISSN={1099-1255}, url={http://dx.doi.org/10.1002/jae.1234}, DOI={10.1002/jae.1234}, number={6}, journal={Journal of Applied Econometrics}, publisher={Wiley}, author={Hansen, Peter Reinhard and Huang, Zhuo and Shek, Howard Howan}, year={2011}, pages={877–906} }
26 26
27 −@article{DieboldYilmaz2012, title={Better to give than to receive: Predictive directional measurement of volatility spillovers}, volume={28}, ISSN={0169-2070}, url={http://dx.doi.org/10.1016/j.ijforecast.2011.02.006}, DOI={10.1016/j.ijforecast.2011.02.006}, number={1}, journal={International Journal of Forecasting}, publisher={Elsevier BV}, author={Diebold, Francis X. and Yilmaz, Kamil}, year={2012}, month=Jan, pages={57–66} }
27 +@article{DieboldYilmaz2012, title={Better to give than to receive: Predictive directional measurement of volatility spillovers}, volume={28}, ISSN={0169-2070}, url={http://dx.doi.org/10.1016/j.ijforecast.2011.02.006}, DOI={10.1016/j.ijforecast.2011.02.006}, number={1}, journal={International Journal of Forecasting}, publisher={Elsevier BV}, author={Diebold, Francis X. and Yilmaz, Kamil}, year={2012}, pages={57–66} }
28 28
29 −@article{DieboldYilmaz2014, title={On the network topology of variance decompositions: Measuring the connectedness of financial firms}, volume={182}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/j.jeconom.2014.04.012}, DOI={10.1016/j.jeconom.2014.04.012}, number={1}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Diebold, Francis X. and Yılmaz, Kamil}, year={2014}, month=Sept, pages={119–134} }
29 +@article{DieboldYilmaz2014, title={On the network topology of variance decompositions: Measuring the connectedness of financial firms}, volume={182}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/j.jeconom.2014.04.012}, DOI={10.1016/j.jeconom.2014.04.012}, number={1}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Diebold, Francis X. and Yılmaz, Kamil}, year={2014}, pages={119–134} }
30 30
31 −@article{Patton2011, title={Volatility forecast comparison using imperfect volatility proxies}, volume={160}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/j.jeconom.2010.03.034}, DOI={10.1016/j.jeconom.2010.03.034}, number={1}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Patton, Andrew J.}, year={2011}, month=Jan, pages={246–256} }
31 +@article{Patton2011, title={Volatility forecast comparison using imperfect volatility proxies}, volume={160}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/j.jeconom.2010.03.034}, DOI={10.1016/j.jeconom.2010.03.034}, number={1}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Patton, Andrew J.}, year={2011}, pages={246–256} }
32 32
33 −@article{PolitisRomano1994, title={The Stationary Bootstrap}, volume={89}, ISSN={1537-274X}, url={http://dx.doi.org/10.1080/01621459.1994.10476870}, DOI={10.1080/01621459.1994.10476870}, number={428}, journal={Journal of the American Statistical Association}, publisher={Informa UK Limited}, author={Politis, Dimitris N. and Romano, Joseph P.}, year={1994}, month=Dec, pages={1303–1313} }
33 +@article{PolitisRomano1994, title={The Stationary Bootstrap}, volume={89}, ISSN={1537-274X}, url={http://dx.doi.org/10.1080/01621459.1994.10476870}, DOI={10.1080/01621459.1994.10476870}, number={428}, journal={Journal of the American Statistical Association}, publisher={Informa UK Limited}, author={Politis, Dimitris N. and Romano, Joseph P.}, year={1994}, pages={1303–1313} }
34 34
35 −@article{ZhangMyklandAitSahalia2005, title={A Tale of Two Time Scales: Determining Integrated Volatility With Noisy High-Frequency Data}, volume={100}, ISSN={1537-274X}, url={http://dx.doi.org/10.1198/016214505000000169}, DOI={10.1198/016214505000000169}, number={472}, journal={Journal of the American Statistical Association}, publisher={Informa UK Limited}, author={Zhang, Lan and Mykland, Per A and Aït-Sahalia, Yacine}, year={2005}, month=Dec, pages={1394–1411} }
35 +@article{ZhangMyklandAitSahalia2005, title={A Tale of Two Time Scales: Determining Integrated Volatility With Noisy High-Frequency Data}, volume={100}, ISSN={1537-274X}, url={http://dx.doi.org/10.1198/016214505000000169}, DOI={10.1198/016214505000000169}, number={472}, journal={Journal of the American Statistical Association}, publisher={Informa UK Limited}, author={Zhang, Lan and Mykland, Per A and Aït-Sahalia, Yacine}, year={2005}, pages={1394–1411} }
36 36
37 −@article{BarndorffNielsenHansenLundeShephard2008, volume={76}, ISSN={0012-9682}, url={http://dx.doi.org/10.3982/ecta6495}, DOI={10.3982/ecta6495}, number={6}, journal={Econometrica}, publisher={The Econometric Society}, year={2008}, pages={1481–1536} }
37 +@article{BarndorffNielsenHansenLundeShephard2008, title={Designing Realized Kernels to Measure the ex post Variation of Equity Prices in the Presence of Noise}, author={Barndorff-Nielsen, Ole E. and Hansen, Peter Reinhard and Lunde, Asger and Shephard, Neil}, volume={76}, ISSN={0012-9682}, url={http://dx.doi.org/10.3982/ecta6495}, DOI={10.3982/ecta6495}, number={6}, journal={Econometrica}, publisher={The Econometric Society}, year={2008}, pages={1481–1536} }
38 38
39 −@article{JacodLiMyklandPodolskijVetter2009, title={Microstructure noise in the continuous case: The pre-averaging approach}, volume={119}, ISSN={0304-4149}, url={http://dx.doi.org/10.1016/j.spa.2008.11.004}, DOI={10.1016/j.spa.2008.11.004}, number={7}, journal={Stochastic Processes and their Applications}, publisher={Elsevier BV}, author={Jacod, Jean and Li, Yingying and Mykland, Per A. and Podolskij, Mark and Vetter, Mathias}, year={2009}, month=July, pages={2249–2276} }
39 +@article{JacodLiMyklandPodolskijVetter2009, title={Microstructure noise in the continuous case: The pre-averaging approach}, volume={119}, ISSN={0304-4149}, url={http://dx.doi.org/10.1016/j.spa.2008.11.004}, DOI={10.1016/j.spa.2008.11.004}, number={7}, journal={Stochastic Processes and their Applications}, publisher={Elsevier BV}, author={Jacod, Jean and Li, Yingying and Mykland, Per A. and Podolskij, Mark and Vetter, Mathias}, year={2009}, pages={2249–2276} }
40 40
41 −@article{Engle2002, title={Dynamic Conditional Correlation: A Simple Class of Multivariate Generalized Autoregressive Conditional Heteroskedasticity Models}, volume={20}, ISSN={1537-2707}, url={http://dx.doi.org/10.1198/073500102288618487}, DOI={10.1198/073500102288618487}, number={3}, journal={Journal of Business &amp; Economic Statistics}, publisher={Informa UK Limited}, author={Engle, Robert}, year={2002}, month=July, pages={339–350} }
41 +@article{Engle2002, title={Dynamic Conditional Correlation: A Simple Class of Multivariate Generalized Autoregressive Conditional Heteroskedasticity Models}, volume={20}, ISSN={1537-2707}, url={http://dx.doi.org/10.1198/073500102288618487}, DOI={10.1198/073500102288618487}, number={3}, journal={Journal of Business \& Economic Statistics}, publisher={Informa UK Limited}, author={Engle, Robert}, year={2002}, pages={339–350} }
42 42
43 −@article{NoureldinShephardSheppard2012, title={Multivariate high‐frequency‐based volatility (HEAVY) models}, volume={27}, ISSN={1099-1255}, url={http://dx.doi.org/10.1002/jae.1260}, DOI={10.1002/jae.1260}, number={6}, journal={Journal of Applied Econometrics}, publisher={Wiley}, author={Noureldin, Diaa and Shephard, Neil and Sheppard, Kevin}, year={2011}, month=Aug, pages={907–933} }
43 +@article{NoureldinShephardSheppard2012, title={Multivariate high-frequency-based volatility (HEAVY) models}, volume={27}, ISSN={1099-1255}, url={http://dx.doi.org/10.1002/jae.1260}, DOI={10.1002/jae.1260}, number={6}, journal={Journal of Applied Econometrics}, publisher={Wiley}, author={Noureldin, Diaa and Shephard, Neil and Sheppard, Kevin}, year={2011}, pages={907–933} }
44 44
45 −@article{EngleGhyselsSohn2013, title={Stock Market Volatility and Macroeconomic Fundamentals}, volume={95}, ISSN={1530-9142}, url={http://dx.doi.org/10.1162/rest_a_00300}, DOI={10.1162/rest_a_00300}, number={3}, journal={Review of Economics and Statistics}, publisher={MIT Press}, author={Engle, Robert F. and Ghysels, Eric and Sohn, Bumjean}, year={2013}, month=July, pages={776–797} }
45 +@article{EngleGhyselsSohn2013, title={Stock Market Volatility and Macroeconomic Fundamentals}, volume={95}, ISSN={1530-9142}, url={http://dx.doi.org/10.1162/rest_a_00300}, DOI={10.1162/rest_a_00300}, number={3}, journal={Review of Economics and Statistics}, publisher={MIT Press}, author={Engle, Robert F. and Ghysels, Eric and Sohn, Bumjean}, year={2013}, pages={776–797} }
46 46
47 −@article{HansenLunde2005, title={A forecast comparison of volatility models: does anything beat a GARCH(1,1)?}, volume={20}, ISSN={1099-1255}, url={http://dx.doi.org/10.1002/jae.800}, DOI={10.1002/jae.800}, number={7}, journal={Journal of Applied Econometrics}, publisher={Wiley}, author={Hansen, Peter R. and Lunde, Asger}, year={2005}, month=Mar, pages={873–889} }
47 +@article{HansenLunde2005, title={A forecast comparison of volatility models: does anything beat a GARCH(1,1)?}, volume={20}, ISSN={1099-1255}, url={http://dx.doi.org/10.1002/jae.800}, DOI={10.1002/jae.800}, number={7}, journal={Journal of Applied Econometrics}, publisher={Wiley}, author={Hansen, Peter R. and Lunde, Asger}, year={2005}, pages={873–889} }
48 48
49 −@article{LiuPattonSheppard2015, title={Does anything beat 5-minute RV? A comparison of realized measures across multiple asset classes}, volume={187}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/j.jeconom.2015.02.008}, DOI={10.1016/j.jeconom.2015.02.008}, number={1}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Liu, Lily Y. and Patton, Andrew J. and Sheppard, Kevin}, year={2015}, month=July, pages={293–311} }
49 +@article{LiuPattonSheppard2015, title={Does anything beat 5-minute RV? A comparison of realized measures across multiple asset classes}, volume={187}, ISSN={0304-4076}, url={http://dx.doi.org/10.1016/j.jeconom.2015.02.008}, DOI={10.1016/j.jeconom.2015.02.008}, number={1}, journal={Journal of Econometrics}, publisher={Elsevier BV}, author={Liu, Lily Y. and Patton, Andrew J. and Sheppard, Kevin}, year={2015}, pages={293–311} }
50 50
51 −@article{BoudtKleenSjorup2022, title={Analyzing Intraday Financial Data in <i>R</i>: The <b>highfrequency</b> Package}, volume={104}, ISSN={1548-7660}, url={http://dx.doi.org/10.18637/jss.v104.i08}, DOI={10.18637/jss.v104.i08}, number={8}, journal={Journal of Statistical Software}, publisher={Foundation for Open Access Statistic}, author={Boudt, Kris and Kleen, Onno and Sjørup, Emil}, year={2022} }
51 +@article{BoudtKleenSjorup2022, title={Analyzing Intraday Financial Data in {R}: The \texttt{highfrequency} Package}, volume={104}, ISSN={1548-7660}, url={http://dx.doi.org/10.18637/jss.v104.i08}, DOI={10.18637/jss.v104.i08}, number={8}, journal={Journal of Statistical Software}, publisher={Foundation for Open Access Statistic}, author={Boudt, Kris and Kleen, Onno and Sjørup, Emil}, year={2022} }
52 52
53 −@article{DieboldMariano2002, title={Comparing Predictive Accuracy}, volume={20}, ISSN={1537-2707}, url={http://dx.doi.org/10.1198/073500102753410444}, DOI={10.1198/073500102753410444}, number={1}, journal={Journal of Business &amp; Economic Statistics}, publisher={Informa UK Limited}, author={Diebold, Francis X and Mariano, Robert S}, year={2002}, month=Jan, pages={134–144} }
53 +@article{DieboldMariano2002, title={Comparing Predictive Accuracy}, volume={20}, ISSN={1537-2707}, url={http://dx.doi.org/10.1198/073500102753410444}, DOI={10.1198/073500102753410444}, number={1}, journal={Journal of Business \& Economic Statistics}, publisher={Informa UK Limited}, author={Diebold, Francis X and Mariano, Robert S}, year={2002}, pages={134–144} }
54 54
55 −@article{HansenLundeNason2003, title={Choosing the Best Volatility Models: The Model Confidence Set Approach*}, volume={65}, ISSN={1468-0084}, url={http://dx.doi.org/10.1046/j.0305-9049.2003.00086.x}, DOI={10.1046/j.0305-9049.2003.00086.x}, number={s1}, journal={Oxford Bulletin of Economics and Statistics}, publisher={Wiley}, author={Hansen, Peter Reinhard and Lunde, Asger and Nason, James M.}, year={2003}, month=Dec, pages={839–861} }
55 +@article{HansenLundeNason2003, title={Choosing the Best Volatility Models: The Model Confidence Set Approach*}, volume={65}, ISSN={1468-0084}, url={http://dx.doi.org/10.1046/j.0305-9049.2003.00086.x}, DOI={10.1046/j.0305-9049.2003.00086.x}, number={s1}, journal={Oxford Bulletin of Economics and Statistics}, publisher={Wiley}, author={Hansen, Peter Reinhard and Lunde, Asger and Nason, James M.}, year={2003}, pages={839–861} }
56 56
57 −@article{CameronGelbachMiller2011, title={Robust Inference With Multiway Clustering}, volume={29}, ISSN={1537-2707}, url={http://dx.doi.org/10.1198/jbes.2010.07136}, DOI={10.1198/jbes.2010.07136}, number={2}, journal={Journal of Business &amp; Economic Statistics}, publisher={Informa UK Limited}, author={Cameron, A. Colin and Gelbach, Jonah B. and Miller, Douglas L.}, year={2011}, month=Apr, pages={238–249} }
57 +@article{CameronGelbachMiller2011, title={Robust Inference With Multiway Clustering}, volume={29}, ISSN={1537-2707}, url={http://dx.doi.org/10.1198/jbes.2010.07136}, DOI={10.1198/jbes.2010.07136}, number={2}, journal={Journal of Business \& Economic Statistics}, publisher={Informa UK Limited}, author={Cameron, A. Colin and Gelbach, Jonah B. and Miller, Douglas L.}, year={2011}, pages={238–249} }
58 58
59 −@article{AldrichFernandezVillaverdeGallantRubioRamirez2011, title={Tapping the supercomputer under your desk: Solving dynamic equilibrium models with graphics processors}, volume={35}, ISSN={0165-1889}, url={http://dx.doi.org/10.1016/j.jedc.2010.10.001}, DOI={10.1016/j.jedc.2010.10.001}, number={3}, journal={Journal of Economic Dynamics and Control}, publisher={Elsevier BV}, author={Aldrich, Eric M. and Fernández-Villaverde, Jesús and Ronald Gallant, A. and Rubio-Ramírez, Juan F.}, year={2011}, month=Mar, pages={386–393} }
59 +@article{AldrichFernandezVillaverdeGallantRubioRamirez2011, title={Tapping the supercomputer under your desk: Solving dynamic equilibrium models with graphics processors}, volume={35}, ISSN={0165-1889}, url={http://dx.doi.org/10.1016/j.jedc.2010.10.001}, DOI={10.1016/j.jedc.2010.10.001}, number={3}, journal={Journal of Economic Dynamics and Control}, publisher={Elsevier BV}, author={Aldrich, Eric M. and Fernández-Villaverde, Jesús and Ronald Gallant, A. and Rubio-Ramírez, Juan F.}, year={2011}, pages={386–393} }
60 60
61 −@article{PattonSheppard2015, title={Good Volatility, Bad Volatility: Signed Jumps and The Persistence of Volatility}, volume={97}, ISSN={1530-9142}, url={http://dx.doi.org/10.1162/rest_a_00503}, DOI={10.1162/rest_a_00503}, number={3}, journal={Review of Economics and Statistics}, publisher={MIT Press - Journals}, author={Patton, Andrew J. and Sheppard, Kevin}, year={2015}, month=July, pages={683–697} }
61 +@article{PattonSheppard2015, title={Good Volatility, Bad Volatility: Signed Jumps and The Persistence of Volatility}, volume={97}, ISSN={1530-9142}, url={http://dx.doi.org/10.1162/rest_a_00503}, DOI={10.1162/rest_a_00503}, number={3}, journal={Review of Economics and Statistics}, publisher={MIT Press - Journals}, author={Patton, Andrew J. and Sheppard, Kevin}, year={2015}, pages={683–697} }
62 62
63 −@inbook{BarndorffNielsenKinnebrockShephard2010, title={Measuring Downside Risk – Realized Semivariance*}, ISBN={9780199549498}, url={http://dx.doi.org/10.1093/acprof:oso/9780199549498.003.0007}, DOI={10.1093/acprof:oso/9780199549498.003.0007}, booktitle={Volatility and Time Series Econometrics}, publisher={Oxford University Press}, author={Barndorff‐Nielsen, Ole E. and Kinnebrock, Silja and Shephard, Neil}, year={2010}, month=Mar, pages={117–136} }
63 +@incollection{BarndorffNielsenKinnebrockShephard2010, title={Measuring Downside Risk: Realised Semivariance}, author={Barndorff-Nielsen, Ole E. and Kinnebrock, Silja and Shephard, Neil}, booktitle={Volatility and Time Series Econometrics: Essays in Honor of Robert F. Engle}, editor={Bollerslev, Tim and Russell, Jeffrey and Watson, Mark}, publisher={Oxford University Press}, year={2010}, pages={117--136}, doi={10.1093/acprof:oso/9780199549498.003.0007} }
64 64
65 −@article{AndersenBollerslevDiebold2007, title={Roughing It Up: Including Jump Components in the Measurement, Modeling, and Forecasting of Return Volatility}, volume={89}, ISSN={1530-9142}, url={http://dx.doi.org/10.1162/rest.89.4.701}, DOI={10.1162/rest.89.4.701}, number={4}, journal={Review of Economics and Statistics}, publisher={MIT Press}, author={Andersen, Torben G. and Bollerslev, Tim and Diebold, Francis X.}, year={2007}, month=Nov, pages={701–720} }
65 +@article{AndersenBollerslevDiebold2007, title={Roughing It Up: Including Jump Components in the Measurement, Modeling, and Forecasting of Return Volatility}, volume={89}, ISSN={1530-9142}, url={http://dx.doi.org/10.1162/rest.89.4.701}, DOI={10.1162/rest.89.4.701}, number={4}, journal={Review of Economics and Statistics}, publisher={MIT Press}, author={Andersen, Torben G. and Bollerslev, Tim and Diebold, Francis X.}, year={2007}, pages={701–720} }
66 66
67 −@article{HuangTauchen2005, title={The Relative Contribution of Jumps to Total Price Variance}, volume={3}, ISSN={1479-8417}, url={http://dx.doi.org/10.1093/jjfinec/nbi025}, DOI={10.1093/jjfinec/nbi025}, number={4}, journal={Journal of Financial Econometrics}, publisher={Oxford University Press (OUP)}, author={Huang, X.}, year={2005}, month=Aug, pages={456–499} }
67 +@article{HuangTauchen2005, title={The Relative Contribution of Jumps to Total Price Variance}, volume={3}, ISSN={1479-8417}, url={http://dx.doi.org/10.1093/jjfinec/nbi025}, DOI={10.1093/jjfinec/nbi025}, number={4}, journal={Journal of Financial Econometrics}, publisher={Oxford University Press (OUP)}, author={Huang, X.}, year={2005}, pages={456–499} }
68 68
69 −@article{PesaranShin1998, title={Generalized impulse response analysis in linear multivariate models}, volume={58}, ISSN={0165-1765}, url={http://dx.doi.org/10.1016/s0165-1765(97)00214-0}, DOI={10.1016/s0165-1765(97)00214-0}, number={1}, journal={Economics Letters}, publisher={Elsevier BV}, author={Pesaran, H.Hashem and Shin, Yongcheol}, year={1998}, month=Jan, pages={17–29} }
69 +@article{PesaranShin1998, title={Generalized impulse response analysis in linear multivariate models}, volume={58}, ISSN={0165-1765}, url={http://dx.doi.org/10.1016/s0165-1765(97)00214-0}, DOI={10.1016/s0165-1765(97)00214-0}, number={1}, journal={Economics Letters}, publisher={Elsevier BV}, author={Pesaran, H.Hashem and Shin, Yongcheol}, year={1998}, pages={17–29} }
70 70
71 −@article{Kahan1965, title={Pracniques: further remarks on reducing truncation errors}, volume={8}, ISSN={1557-7317}, url={http://dx.doi.org/10.1145/363707.363723}, DOI={10.1145/363707.363723}, number={1}, journal={Communications of the ACM}, publisher={Association for Computing Machinery (ACM)}, author={Kahan, W.}, year={1965}, month=Jan, pages={40} }
71 +@article{Kahan1965, title={Pracniques: further remarks on reducing truncation errors}, volume={8}, ISSN={1557-7317}, url={http://dx.doi.org/10.1145/363707.363723}, DOI={10.1145/363707.363723}, number={1}, journal={Communications of the ACM}, publisher={Association for Computing Machinery (ACM)}, author={Kahan, W.}, year={1965}, pages={40} }
72 72
73 −@article{Blackford2002, volume={28}, ISSN={1557-7295}, url={http://dx.doi.org/10.1145/567806.567807}, DOI={10.1145/567806.567807}, number={2}, journal={ACM Transactions on Mathematical Software}, publisher={Association for Computing Machinery (ACM)}, year={2002}, month=June, pages={135–151} }
73 +@article{Blackford2002, title={An updated set of basic linear algebra subprograms ({BLAS})}, author={Blackford, L. Susan and Demmel, James and Dongarra, Jack and Duff, Iain and Hammarling, Sven and Henry, Greg and Heroux, Michael and Kaufman, Linda and Lumsdaine, Andrew and Petitet, Antoine and Pozo, Roldan and Remington, Karin and Whaley, R. Clint}, volume={28}, ISSN={1557-7295}, url={http://dx.doi.org/10.1145/567806.567807}, DOI={10.1145/567806.567807}, number={2}, journal={ACM Transactions on Mathematical Software}, publisher={Association for Computing Machinery (ACM)}, year={2002}, pages={135–151} }
74 74
75 −@article{FiorentiniCalzolariPanattoni1996, title={Analytic derivatives and the computation of GARCH estimates}, volume={11}, ISSN={1099-1255}, url={http://dx.doi.org/10.1002/(sici)1099-1255(199607)11:4<399::aid-jae401>3.0.co;2-r}, DOI={10.1002/(sici)1099-1255(199607)11:4<399::aid-jae401>3.0.co;2-r}, number={4}, journal={Journal of Applied Econometrics}, publisher={Wiley}, author={Fiorentini, Gabriele and Calzolari, Giorgio and Panattoni, Lorenzo}, year={1996}, month=July, pages={399–417} }
75 +@article{FiorentiniCalzolariPanattoni1996, title={Analytic derivatives and the computation of GARCH estimates}, volume={11}, ISSN={1099-1255}, url={http://dx.doi.org/10.1002/(sici)1099-1255(199607)11:4<399::aid-jae401>3.0.co;2-r}, DOI={10.1002/(sici)1099-1255(199607)11:4<399::aid-jae401>3.0.co;2-r}, number={4}, journal={Journal of Applied Econometrics}, publisher={Wiley}, author={Fiorentini, Gabriele and Calzolari, Giorgio and Panattoni, Lorenzo}, year={1996}, pages={399–417} }
76 76
77 −@article{BollerslevWooldridge1992, title={Quasi-maximum likelihood estimation and inference in dynamic models with time-varying covariances}, volume={11}, ISSN={1532-4168}, url={http://dx.doi.org/10.1080/07474939208800229}, DOI={10.1080/07474939208800229}, number={2}, journal={Econometric Reviews}, publisher={Informa UK Limited}, author={Bollerslev, Tim and Wooldridge, Jeffrey M.}, year={1992}, month=Jan, pages={143–172} }
77 +@article{BollerslevWooldridge1992, title={Quasi-maximum likelihood estimation and inference in dynamic models with time-varying covariances}, volume={11}, ISSN={1532-4168}, url={http://dx.doi.org/10.1080/07474939208800229}, DOI={10.1080/07474939208800229}, number={2}, journal={Econometric Reviews}, publisher={Informa UK Limited}, author={Bollerslev, Tim and Wooldridge, Jeffrey M.}, year={1992}, pages={143–172} }
78 78
79 −@misc{Ghalanos2024rugarch, title={rugarch: Univariate GARCH Models}, url={http://dx.doi.org/10.32614/cran.package.rugarch}, DOI={10.32614/cran.package.rugarch}, journal={CRAN: Contributed Packages}, publisher={The R Foundation}, author={Galanos, Alexios}, year={2011}, month=Sept }
79 +@misc{Ghalanos2024rugarch, title={rugarch: Univariate GARCH Models, R package version 1.5-6}, url={https://doi.org/10.32614/cran.package.rugarch}, DOI={10.32614/cran.package.rugarch}, howpublished={CRAN}, author={Ghalanos, Alexios}, year={2024} }
80 80
81 81
82 82 @misc{Arrow2025, title={Apache Arrow: a cross-language development platform for in-memory analytics, C++ library version 26.0.0}, author={{Apache Software Foundation}}, year={2025}, howpublished={\url{https://arrow.apache.org/}}, note={Accessed 2026-11-02}}
modified paper/sections/applications.tex +3 −3
@@ -15,7 +15,7 @@ The applications are not forecasting studies; they show that the batched estimat
15 15 \centering\small
16 16 \caption{E2 --- runtime of HAR-RV estimation ($h=1$), milliseconds (medians of 5 repetitions).}
17 17 \label{tab:e2rt}
18 −\input{tables/tab_e2_runtime}
18 +\resizebox{\textwidth}{!}{\input{tables/tab_e2_runtime}}
19 19 \end{table}
20 20
21 21 \paragraph{E3 --- GARCH-family panel.} GARCH(1,1), GJR, EGARCH and GARCH-$t$ are fitted by QML to the daily close-to-close log returns of 888 symbols (2015--2024 daily bars, median 2\,459 training observations; the last 40 sessions of 2024 are held out). Table~\ref{tab:e3} reports convergence rates, iterations, time per fit, persistence, and the QLIKE of the fixed-parameter one-day-ahead variance forecasts against the next day's realized variance. GARCH and GARCH-$t$ converge for all 888 series, GJR for 98.4\,\% and EGARCH for 92.8\,\% (after up to two restarts; the failures are reported as such, not as estimates), in 2.9--18\,ms per fit; persistence medians are 0.956--0.973. Daily GARCH forecasts have a median QLIKE of 0.39--0.40 against 0.27--0.28 for the realized-variance random walk: a one-day-ahead forecast built from intraday data beats one built from daily returns, as the literature since \citet{AndersenBollerslevDieboldLabys2003} would predict, and the gap is not a numerical artefact. The GPU's contribution in E3 is the likelihood grid: evaluating 256 $(\omega,\alpha,\beta)$ combinations per series for all 888 series takes 23\,ms on Metal against 117\,ms on 18 CPU threads (5.1$\times$); the grid argmin is identical on both backends for all 888 series, with a maximum relative difference of $2\times10^{-3}$ in the likelihood at the least-likely grid points (near the non-stationarity boundary).
@@ -24,7 +24,7 @@ The applications are not forecasting studies; they show that the batched estimat
24 24 \centering\small
25 25 \caption{E3 --- GARCH-family QML on 888 daily return series (2015--2024); forecasts evaluated on the last 40 sessions of 2024 against realized variance.}
26 26 \label{tab:e3}
27 −\input{tables/tab_e3_fits}
27 +\resizebox{\textwidth}{!}{\input{tables/tab_e3_fits}}
28 28 \end{table}
29 29
30 30 \paragraph{E4 --- realized covariance and connectedness.} For $N \in \{10, 30, 60, 100\}$ symbols with at least 95\,\% regular-bar coverage, daily realized covariance matrices are formed from synchronised 5-minute returns (78 per day) on the days where every symbol has the full grid, and rolling Diebold--Yilmaz total connectedness is computed from a VAR(1) on the daily log-RV panel (120-day windows, $H = 10$). Table~\ref{tab:e4} shows the two constraints the charter asked for. Memory is not one of them: the rolling connectedness over 133 windows takes 0.5, 2.3, 8.9 and 29\,ms for $N = 10, 30, 60, 100$ on the CPU and never fails. Conditioning is: the median condition number of the daily realized covariance grows from 81 ($N = 10$) to 422 ($N = 30$) and $5.9\times10^3$ ($N = 60$), and the matrix is singular for $N = 100 > 78$ bins; the Ledoit--Wolf shrinkage intensity rises from 0.16 to 0.33 accordingly. Strict synchronisation also discards 70--164 of the 252 days as $N$ grows. Connectedness itself is not GPU work at these sizes; the GPU-relevant part is the realized covariance of large panels, which reduces to the batched sufficient statistics of E1.
@@ -33,5 +33,5 @@ The applications are not forecasting studies; they show that the batched estimat
33 33 \centering\small
34 34 \caption{E4 --- daily realized covariance (5-minute, synchronised) and rolling Diebold--Yilmaz connectedness, 2024.}
35 35 \label{tab:e4}
36 −\input{tables/tab_e4}
36 +\resizebox{\textwidth}{!}{\input{tables/tab_e4}}
37 37 \end{table}
modified paper/sections/architecture.tex +1 −1
@@ -5,7 +5,7 @@
5 5
6 6 \begin{figure}[t]
7 7 \centering
8 −\begin{lstlisting}[basicstyle=\ttfamily\scriptsize]
8 +\begin{lstlisting}[basicstyle=\ttfamily\tiny]
9 9 Python (nanobind, GIL released) raid.api / raid.findata CLI: raid devices|validate|estimate|data
10 10 ------------------------------------------------------------------------------------------------------
11 11 core types (Timestamp us UTC, Date, Interval, Backend, Precision) | RaidError | log (redaction)
modified paper/sections/correctness.tex +8 −3
@@ -4,11 +4,11 @@
4 4 Every Tier~A method satisfies five requirements: an independent FP64 CPU reference, an analytical or simulation truth where one exists, agreement with established software under identical conventions, GPU/CPU agreement within a documented tolerance, and adversarial tests. Table~\ref{tab:validation} summarises the reference comparisons on committed synthetic fixtures (no vendor data); every row is a test in the repository that runs on every build.
5 5
6 6 \begin{table}[t]
7 −\centering\small
7 +\centering\scriptsize
8 8 \begin{threeparttable}
9 9 \caption{Reference validation on synthetic fixtures (all tests pass).}
10 10 \label{tab:validation}
11 −\begin{tabular}{lllr}
11 +\begin{tabular}{p{3.6cm}p{3.6cm}p{5.2cm}p{3cm}}
12 12 \toprule
13 13 Method & Reference (version) & Quantity compared & Tolerance \\
14 14 \midrule
@@ -34,7 +34,12 @@ Metal vs CPU FP64 & \raid{} CPU backend & RV, BPV, RSV$^\pm$ ($n$ = 390--39\,000
34 34
35 35 \paragraph{Monte Carlo.} Table~\ref{tab:e5} (experiment E5, $R = 1\,000$ replications) reports bias, RMSE and the empirical coverage of 95\,\% intervals. For GARCH(1,1) with $(\omega,\alpha,\beta) = (0.02, 0.08, 0.90)$ and $n = 2\,000$, biases are at most $0.005$ in absolute value, coverage of the QMLE intervals is 0.93--0.97, and all 1\,000 fits converge; at $n = 500$ the familiar finite-sample downward bias of $\beta$ ($-0.026$) and under-coverage of $\alpha$ (0.90) appear. For HAR with overlapping $h = 5$ targets and HAC inference, coverage of the pseudo-true projection coefficients is 0.90--0.94 ($T = 1\,200$), the usual mild under-coverage of HAC. Realized variance converges at the $\sqrt{2/M}$ rate: the Monte Carlo RMSE is within 10\,\% of $\sqrt{2/M}\,\mathrm{IV}$ for $M \in \{39, 390, 3\,900\}$. The stationary-bootstrap interval for the mean of an AR(1) covers in 89\,\% of replications ($R = 100$, $n = 800$, $b = 10$).
36 36
37 −\input{tables/tab_e5}
37 +\begin{table}[t]
38 +\centering\small
39 +\caption{E5 --- Monte Carlo bias, RMSE and 95\,\% coverage ($R = 1\,000$; HAR coverage listed for the four coefficients).}
40 +\label{tab:e5}
41 +\resizebox{\textwidth}{!}{\input{tables/tab_e5}}
42 +\end{table}
38 43
39 44 \paragraph{Reproducibility.} With the same seed, the 2\,000 bootstrap statistics are bitwise identical when computed with 1, 4 or 18 threads; the CPU realized measures are bitwise identical with 1 or 18 threads; two Metal runs give bitwise identical RV, BPV and RQ; and the maximum relative difference between Metal and CPU FP64 realized variance on 50 segments of Student-$t(5)$ returns is $3.7\times10^{-8}$, consistent with the input-rounding bound of Section~\ref{sec:metal}.
40 45
modified paper/sections/endtoend.tex +2 −2
@@ -7,7 +7,7 @@
7 7 \centering\scriptsize
8 8 \caption{E1 --- batched realized measures (estimator path), laptop. Medians of 5 repetitions; ``real'' = 2024 FinData panel; ``synthetic'' = Student-$t(5)$ returns; max rel.\ err.\ = largest $|\RV_{\text{Metal}}-\RV_{\text{FP64}}|/\RV_{\text{FP64}}$ over segments.}
9 9 \label{tab:e1}
10 −\input{tables/tab_e1}
10 +\resizebox{\textwidth}{!}{\input{tables/tab_e1}}
11 11 \end{table}
12 12
13 13 \begin{figure}[t]
@@ -22,5 +22,5 @@
22 22 \centering\small
23 23 \caption{E6 --- end-to-end pipeline per export file (median of 4 files $\times$ 3 repetitions; 2.37 million bars per file).}
24 24 \label{tab:e6}
25 −\input{tables/tab_e6}
25 +\resizebox{\textwidth}{!}{\input{tables/tab_e6}}
26 26 \end{table}
modified paper/sections/microbenchmarks.tex +2 −2
@@ -7,7 +7,7 @@
7 7 \centering\scriptsize
8 8 \caption{Primitive kernels, laptop (M5 Max). Medians of wall-clock milliseconds over 5 repetitions; CPU MT uses 18 threads; speedup $= T_{\text{CPU MT}}/T_{\text{Metal}}$; verdict by non-overlapping bootstrap CIs.}
9 9 \label{tab:prim}
10 −\input{tables/tab_primitives}
10 +\resizebox{\textwidth}{!}{\input{tables/tab_primitives}}
11 11 \end{table}
12 12
13 13 \begin{figure}[t]
@@ -26,7 +26,7 @@ Four findings answer RQ1 at the kernel level. First, the fused realized kernel i
26 26 \centering\scriptsize
27 27 \caption{E7 --- generation sweep (3 repetitions, shuffled; speedups are CPU MT / Metal medians at the stated shape; tests = Metal test suite with the prebuilt metallib / with runtime MSL compilation).}
28 28 \label{tab:e7}
29 −\input{tables/tab_e7}
29 +\resizebox{\textwidth}{!}{\input{tables/tab_e7}}
30 30 \end{table}
31 31
32 32 \begin{figure}[t]
33 33
Menu

Theme