SPB Git

spb/wp40_uqo

Public MIT
5.2 KB · 91 lines latex
1% ============================================================================2% UQO Working Paper No. 40 — RAID: A Metal-Accelerated C++ Framework for Reproducible3% High-Frequency Financial Econometrics4% ============================================================================5\documentclass[12pt,letterpaper]{article}6\usepackage[utf8]{inputenc}7\usepackage[T1]{fontenc}8\usepackage[english]{babel}9\usepackage[letterpaper,top=1in,bottom=1in,left=1in,right=1in]{geometry}10\usepackage{mathptmx}11\usepackage{microtype}12\usepackage{setspace}13\onehalfspacing14\usepackage{amsmath,amssymb,amsthm}15\usepackage{booktabs}16\usepackage{tabularx}17\usepackage{multirow}18\usepackage{threeparttable}19\usepackage{longtable}20\usepackage{siunitx}21\sisetup{input-symbols = {()}, table-format = -1.3, parse-numbers = false}22\usepackage{graphicx}23\usepackage{subcaption}24\usepackage{float}25\usepackage[dvipsnames]{xcolor}26\usepackage[colorlinks=true,linkcolor=NavyBlue,citecolor=NavyBlue,urlcolor=NavyBlue,breaklinks=true]{hyperref}27\usepackage[authoryear,round,semicolon]{natbib}28\bibliographystyle{aer}29\usepackage[font=small,labelfont=bf,labelsep=period,justification=justified,singlelinecheck=false]{caption}30\usepackage{fancyhdr}31\pagestyle{fancy}32\fancyhf{}33\renewcommand{\headrulewidth}{0pt}34\fancyfoot[C]{\thepage}35\usepackage{titlesec}36\titleformat{\section}{\large\bfseries}{\thesection.}{0.5em}{}37\titleformat{\subsection}{\normalsize\bfseries}{\thesubsection.}{0.5em}{}38\titleformat{\subsubsection}{\normalsize\itshape}{\thesubsubsection.}{0.5em}{}39\usepackage[toc,page]{appendix}40\usepackage{enumitem}41\setlist{nosep,leftmargin=*}42\usepackage{listings}43\lstset{basicstyle=\ttfamily\footnotesize,breaklines=true,columns=fullflexible,frame=single,framerule=0.2pt}44\usepackage{url}45\newtheorem{proposition}{Proposition}46\newcommand{\RV}{\mathrm{RV}}47\newcommand{\BPV}{\mathrm{BPV}}48\newcommand{\RQ}{\mathrm{RQ}}49\newcommand{\RSV}{\mathrm{RSV}}50\newcommand{\raid}{\textsc{raid}}51\newcommand{\E}{\mathbb{E}}52\newcommand{\I}{\mathbb{1}}5354% ============================================================================55% METADATA56% ============================================================================57\newcommand{\WPnumber}{40}58\newcommand{\WPtitle}{RAID: A Metal-Accelerated C++ Framework for Reproducible High-Frequency Financial Econometrics}59\newcommand{\WPsubtitle}{Batched, Fused and Streaming Estimation on Apple Silicon without Sacrificing Inference}60\newcommand{\WPdate}{November 2026}61\newcommand{\WPversion}{1.0}62\newcommand{\WPabstract}{%63  We ask whether heterogeneous high-frequency econometric workloads---realized measures, rolling and batched regressions, HAR forecasting models, GARCH-family quasi-maximum likelihood, block bootstrap inference---can be reorganised into batched, fused, streaming computation on Apple Silicon GPUs without sacrificing estimator accuracy, statistical inference, or reproducibility. Apple GPUs expose no 64-bit floating point. \raid{} answers with a C++20 library whose FP64 CPU backend is the reference, whose Metal backend accumulates every statistic in compensated ``double-float'' arithmetic and combines chunked partial sums in FP64, and whose estimators report backend, precision, convergence and provenance in every result. Tier~A methods reproduce \texttt{highfrequency}, \texttt{rugarch}, \texttt{statsmodels} and \texttt{arch} to documented tolerances; Monte Carlo experiments confirm bias, RMSE and coverage; GPU and CPU results agree to $10^{-6}$ relative and are bitwise reproducible across runs and thread counts. Using one year of 1-minute bars for a seeded universe of 1,000 US equities served by a private FirstRate Data lakehouse, we measure break-even points on an M5~Max laptop and across eleven Apple Silicon generations (M2 to M6). The GPU wins on fused realized measures beyond roughly $4\times10^4$ elements and on batched GARCH likelihood evaluation when many parameter vectors are evaluated per series; the CPU wins on rolling sums, on single-vector GARCH recursions and on small panels. Conversion and buffer traffic, not kernel time, dominate GPU wall-clock: unified memory is not free computation. We publish the negative results, the tolerances, and a reproducible benchmark protocol.%64}65\newcommand{\WPkeywords}{high-frequency econometrics, realized volatility, HAR, GARCH, GPU computing, Apple Metal, reproducibility, numerical precision}66\newcommand{\WPjel}{C58, C63, C87, G17}67\newcommand{\WPauthor}{Simon-Pierre Boucher}68\newcommand{\WPaffiliation}{Département des sciences administratives\\Université du Québec en Outaouais}69\newcommand{\WPemail}{simon-pierre.boucher@uqo.ca}70\newcommand{\WPaddress}{Gatineau -- Pavillon Alexandre-Taché\\283, boulevard Alexandre-Taché\\Gatineau, Québec, Canada J9A 1L8}7172\begin{document}73\input{sections/titlepage}74\input{sections/introduction}75\input{sections/literature}76\input{sections/architecture}77\input{sections/estimators}78\input{sections/metal}79\input{sections/correctness}80\input{sections/setup}81\input{sections/microbenchmarks}82\input{sections/endtoend}83\input{sections/applications}84\input{sections/threats}85\input{sections/reproducibility}86\input{sections/conclusion}87\newpage88\bibliography{references}89\input{appendices/appendix}90\end{document}91
Files · a9731b7fb3254b6175c7c579307f61336c22d6c8
Menu

Theme