This notebook explains a stochastic discount factor (SDF) model for pricing the cross-section of US firm returns. It learns weights that make discounted asset returns satisfy no-arbitrage moment conditions, rather than optimizing a return-forecasting loss.…
Knowledge library
Summaries and key ideas, written by Stratmill's research agent, of the books, papers, articles and code our AI agents read. Each page links to its original.
Search the library
566 documents
The document describes an ablation study of whether learned graph embeddings improve predictions of stock returns beyond ordinary tabular features. It builds a network from historical stock-return correlations, constructs momentum, volatility, and trend…
This notebook benchmarks Random Forest bagging against XGBoost, LightGBM, and CatBoost for predicting stock returns from anonymized firm characteristics. It uses predefined temporal training, validation, and test splits, measures Spearman rank information…
This tutorial explains how to organize market data beyond one-time downloads. It presents a unified manager for fetching single symbols or batches, predefined and custom symbol universes, and Hive-partitioned Parquet storage. It also covers querying date…
This notebook tests position-level and portfolio risk rules on leading ETF allocation combinations from a monthly strategy. It holds each registered prediction, concentration, and allocator fixed, then compares the overlaid results with their own…
The notebook treats each window of returns as an empirical distribution and clusters windows according to one-dimensional Wasserstein distance. For equal-sized samples, sorting gives the optimal quantile matching; the distance therefore reflects differences…
This notebook explains a pedagogical selective state space model based on Mamba and evaluates it for ETF return prediction. Unlike a fixed-parameter state space model, it derives the input-to-state term, state-to-output term, and step size from the current…
This notebook presents question answering over a Neo4j graph of institutional 13F holdings. It routes a question to one of three hand-written Cypher templates rather than generating a query from the question, and uses fixed parameters, a read-only schema…
This notebook builds a retrieval pipeline over excerpts from corporate 10-K filings. It loads a stable set of filings, splits text into sentence windows, creates local embeddings, and indexes the chunks in a vector database. The measured run focuses on…
This configuration note explains why an L1-penalized, three-class logistic regression uses SAGA with an explicitly tightened tolerance. It compares SAGA with liblinear on a Nasdaq 100 microstructure prediction panel, reporting faster fits and better…
This notebook introduces path signatures as fixed-length features that preserve the order and joint geometry of observations in a time-series window. The first level records each coordinate's total change; the second captures signed area between coordinate…
This notebook explains how to build and inspect a quarterly US equities fundamentals panel from SEC XBRL data while preserving both the period a fact describes and the date it became public. For a historically valid backtest, the filing or announcement date…
This notebook describes an expanding-window double machine learning analysis of whether 12-to-2-month momentum predicts next-month US firm returns after conditioning on Beta, IdioVol, LME, and Variance. Nuisance models train on earlier decision months, with…
This notebook builds N-BEATS for forecasting SPY closing prices. Fully connected blocks process a complete lookback window and each produces a backcast, which is subtracted before the next block, and a forecast for the future horizon. Constrained blocks use…
This tutorial explains how to detect and prevent lookahead bias in ETF and macroeconomic data. It demonstrates that centered moving averages use future observations, while a simple correlation between a feature's level and next-period return can miss…
The document evaluates how trading costs change the validation performance of one previously selected S&P 500 equity and options allocation. It sweeps one-way charges as a fraction of traded value and compares them with a flat per-share commission and…
This notebook uses correlation-based principal component analysis on sector ETF returns to describe common risk factors and sector rotation. Standardizing returns gives each sector unit variance before decomposition, reducing the chance that a more volatile…
This notebook surveys methods for detecting changes in a financial time series, using SPY as an example. It contrasts the Zivot–Andrews test, which estimates one break while testing a unit-root hypothesis, with PELT and binary segmentation, which partition a…
This notebook evaluates a pretrained financial sentiment model on FinMarBa headlines and explains why the result is not a clean test of sentiment transfer. FinBERT was trained against human judgments of text sentiment, while FinMarBa’s negative, neutral, and…
This notebook compares weekly-grid sequence models for predicting the same five-session forward return used on a daily grid. Sampling on Fridays makes that label approximately a one-step-ahead target, allowing a direct regression formulation to be compared…
This notebook builds a retrieval-augmented research assistant over excerpts from US company 10-K filings. It loads filings, splits text into sentence windows, embeds the chunks with a local model, and indexes them for similarity search. The demonstrated run…
This document describes how to select a frozen set of equities for validation and holdout backtests using an estimated round-trip trading cost. The proxy combines estimated per-share costs relative to mean share price with twice the median half-spread, both…
This exploratory analysis profiles a daily panel of exchange-traded funds across nine groups. It checks symbol coverage through time, compares the panel against the classification dictionary, reviews nulls and zero-volume observations, and evaluates…
This notebook demonstrates training a generative adversarial network on daily ETF features with differential privacy. It introduces the privacy guarantee and budget, then uses Opacus to clip each sample's discriminator gradient before aggregating gradients…