Memory-Bound Elastic Net Over Dense Matrices with Applications in Quantitative Trading

Authors: Ben Young (Case Western Reserve University), Atanas Dinev (Princeton University), Jacob Feitelberg (Johns Hopkins University), Gerson C. Kroiz (UMBC)

Work Summary: Quantitative analysis of U.S equity trading frequently involves processing large datasets whose predictive features often have very weak correlations with their target variables. One common method for regression analysis in quantitative trading is elastic net, a regularized form of least squares estimation. This project aims to solve elastic net using limited amounts of computational power. To overcome memory limitations when processing arbitrarily large data, we implement matrix batching methods whereby correlations between features are calculated per batch and combined into an overall result. Similarly, we introduce MiniCD, a general framework to estimate coefficients across subsets of samples and combine them into a prediction for the whole input. We compare several methods of ensembling estimated batch coefficients. We also explore several strategies to speed up Coordinate Descent. We compare cyclic, random, greedy, and adaptive methods for choosing update axes. We explore computationally cheap ways to determine convergence and several applications of a warm start. We study the effect on runtime of reducing iterations to convergence via data preconditioning. Our improvements achieve significant speedups relative to and can process larger datasets than out-of-the-box elastic net solvers such as Python’s Sci-Kit Learn.

Tools Used: C++, Python, LaTeX, OpenMP, Pytorch

Final Report



Other Research