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{mathtools}16\usepackage{bm}17\usepackage{tikz}18\usetikzlibrary{positioning,arrows.meta,fit,backgrounds,calc}19\usepackage{booktabs}20\usepackage{tabularx}21\usepackage{multirow}22\usepackage{threeparttable}23\usepackage{longtable}24\usepackage{siunitx}25\sisetup{input-symbols = {()}, table-format = -1.3, parse-numbers = false}26\usepackage{graphicx}27\usepackage{subcaption}28\usepackage{float}29\usepackage[dvipsnames]{xcolor}30\usepackage[colorlinks=true,linkcolor=NavyBlue,citecolor=NavyBlue,urlcolor=NavyBlue,breaklinks=true]{hyperref}31\usepackage[authoryear,round,semicolon]{natbib}32\bibliographystyle{aer}33\usepackage[font=small,labelfont=bf,labelsep=period,justification=justified,singlelinecheck=false]{caption}34\usepackage{fancyhdr}35\pagestyle{fancy}36\fancyhf{}37\renewcommand{\headrulewidth}{0pt}38\fancyfoot[C]{\thepage}39\usepackage{titlesec}40\titleformat{\section}{\large\bfseries}{\thesection.}{0.5em}{}41\titleformat{\subsection}{\normalsize\bfseries}{\thesubsection.}{0.5em}{}42\titleformat{\subsubsection}{\normalsize\itshape}{\thesubsubsection.}{0.5em}{}43\usepackage[toc,page]{appendix}44\usepackage{enumitem}45\setlist{nosep,leftmargin=*}46\usepackage{listings}47\lstset{basicstyle=\ttfamily\footnotesize,breaklines=true,columns=fullflexible,frame=single,framerule=0.2pt}48\usepackage{url}49\newtheorem{proposition}{Proposition}50% ---- notation ----51\DeclareMathOperator{\RV}{RV}52\DeclareMathOperator{\BPV}{BPV}53\DeclareMathOperator{\RQ}{RQ}54\DeclareMathOperator{\RSV}{RSV}55\DeclareMathOperator{\TriPV}{TriPV}56\DeclareMathOperator{\RCov}{RCov}57\DeclareMathOperator{\Var}{Var}58\DeclareMathOperator{\diag}{diag}59\DeclareMathOperator{\tr}{tr}60\DeclareMathOperator*{\argmin}{arg\,min}61\newcommand{\raid}{\textsc{raid}}62\newcommand{\E}{\mathbb{E}}63\newcommand{\I}[1]{\mathbb{1}\{#1\}}64\newcommand{\abs}[1]{\lvert #1 \rvert}65\newcommand{\norm}[1]{\lVert #1 \rVert}66\newcommand{\bbeta}{\bm{\beta}}67\newcommand{\btheta}{\bm{\theta}}68\newcommand{\bSigma}{\bm{\Sigma}}69\newcommand{\bPhi}{\bm{\Phi}}70\newcommand{\bA}{\bm{A}}71\newcommand{\bX}{\bm{X}}72\newcommand{\by}{\bm{y}}73\newcommand{\bu}{\bm{u}}74\newcommand{\be}{\bm{e}}75\newcommand{\ulp}{\operatorname{ulp}}76\newcommand{\fl}{\operatorname{fl}}77\allowdisplaybreaks7879% ============================================================================80% METADATA81% ============================================================================82\newcommand{\WPnumber}{40}83\newcommand{\WPtitle}{RAID: A Metal-Accelerated C++ Framework for Reproducible High-Frequency Financial Econometrics}84\newcommand{\WPsubtitle}{Batched, Fused and Streaming Estimation on Apple Silicon without Sacrificing Inference}85\newcommand{\WPdate}{November 2026}86\newcommand{\WPversion}{1.0}87\newcommand{\WPabstract}{%88 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.%89}90\newcommand{\WPkeywords}{high-frequency econometrics, realized volatility, HAR, GARCH, GPU computing, Apple Metal, reproducibility, numerical precision}91\newcommand{\WPjel}{C58, C63, C87, G17}92\newcommand{\WPauthor}{Simon-Pierre Boucher}93\newcommand{\WPaffiliation}{Département des sciences administratives\\Université du Québec en Outaouais}94\newcommand{\WPemail}{simon-pierre.boucher@uqo.ca}95\newcommand{\WPaddress}{Gatineau -- Pavillon Alexandre-Taché\\283, boulevard Alexandre-Taché\\Gatineau, Québec, Canada J9A 1L8}9697\begin{document}98\input{sections/titlepage}99\input{sections/introduction}100\input{sections/literature}101\input{sections/architecture}102\input{sections/estimators}103\input{sections/metal}104\input{sections/correctness}105\input{sections/setup}106\input{sections/microbenchmarks}107\input{sections/endtoend}108\input{sections/applications}109\input{sections/threats}110\input{sections/reproducibility}111\input{sections/conclusion}112\newpage113\bibliography{references}114\input{appendices/appendix}115\end{document}116