OU trading on Asset Embeddings

published at Aug 5, 2026

in-progress repo
#finance

This project reproduces the Gabaix et. al. Asset Embeddings framework [1] — Word2Vec run over institutional 13F portfolios to learn a data-driven characteristics space for stocks — using only free public SEC data plus CRSP, and turns the result into an Ornstein–Uhlenbeck statistical-arbitrage strategy. Raj Patel’s thesis [2] is the launch point; along the way I depart from it wherever the free-data path or the trading objective calls for it.

It’s built as a vertical slice in three stages, each written up in the dev log below:

  • Data — parse public 13F, link CUSIP-8 → CRSP PERMNO point-in-time, aggregate to the PERMCO firm level, and apply the GKRY size/breadth filters. Panel: 2014–2016.
  • Embeddings — skip-gram Word2Vec with active-weight ordering and a narrow window; a seed-vs-seed Jaccard measure of reproducibility, plus a K-seed ensemble that lifts it from ~0.5 to ~0.77.
  • Trading — Avellaneda–Lee OU s-scores residualized against embedding k-NN peers: gross Sharpe 1.24 / net 0.37 (2014–2017).

Next up is the embedding side — adapting Bambler-Mandt dynamic word embeddings [3] to tackle cross-quarter drift.

references

[1]
X. Gabaix, R. S. J. Koijen, R. J. Richmond, and M. Yogo, “Asset Embeddings.” Accessed: Jun. 17, 2026. [Online]. Available: https://www.nber.org/papers/w33651
[2]
R. Patel, “Asset Embeddings and Residual Predictiveness: A Deep Learning Approach to Statistical Arbitrage”.
[3]
R. Bamler and S. Mandt, “Dynamic Word Embeddings”.

dev log