This notebook explains how searching across many factors or strategies inflates the apparent performance of the selected winner, even when individual estimates are computed correctly. A simulated set of noise factors illustrates that the largest information…
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
1,124 documents
This case study compares sequence models on an S&P 500 equity and options feature panel. It pairs an LSTM, which carries gated state through a lookback window, with an N-Linear baseline that removes the latest level and fits a linear mapping. The baseline…
This notebook explains TimeGAN’s five-part architecture: an embedder and recovery network map between raw observations and latent space, a supervisor learns temporal transitions, and a generator and discriminator train adversarially. It describes staged…
This notebook demonstrates connecting a shared ETF momentum strategy interface to Alpaca, with a simulated offline path available by default. It explains how broker and market-data adapters can change while the strategy, order log, and shadow-mode wrapper…
This notebook compares gross and net Sharpe across strategy cost sweeps drawn from case-study backtests. For each deployed strategy configuration, it reads the assumed per-leg cost and rebalance cadence from recorded artifacts, interpolates Sharpe at the…
This record documents a multi-agent research run on whether the United States would enter a recession by the end of 2026 under a specified resolution rule based on consecutive quarterly GDP contractions or an NBER recession date. Three agents searched for…
This notebook converts rolling ETF return windows into two-channel images for a convolutional neural network. The Gramian Angular Summation Field rescales values within each window, maps them to angles, and records trigonometric relationships between pairs…
This notebook explains why a generic target-weight risk overlay is unsuitable for the described S&P 500 short-straddle engine. The engine assigns fixed capital shares to weekly cohorts and normalizes weights within each cohort to sum to one. Scaling those…
This document develops features for studying whether crowded positioning in crypto perpetual futures predicts relative returns. It explains the funding payment’s direction, the role of the premium index, and why raw funding or premium values may need…
Risk-Premium PCA modifies the covariance matrix by adding a weighted outer product of the training mean-return vector. Its leading eigenvectors define static factor portfolios: ordinary PCA is recovered when the weight is zero, while positive weights tilt…
This notebook measures how a selected US firm-characteristics strategy’s validation performance changes as assumed commissions and slippage vary. It re-runs the same configuration across a declared cost grid, splitting each total charge evenly between…
This notebook describes how to produce predictions for an untouched holdout period after choosing a configuration on validation data. It resolves the selected configuration, rebuilds its training specification for the holdout, and derives the training window…
This configuration describes an intraday study of order-flow signals across a point-in-time NASDAQ-100 universe. It defines a cost-screened subset using liquidity information available before each evaluation period, specifies decision schedules for several…
This notebook uses a Gaussian mixture model to group months by the joint behavior of nine factor and asset-class return series. It standardizes monthly observations, drops months with missing values, and compares candidate cluster counts using BIC, AIC, and…
This notebook builds a forecasting agent that alternates between reasoning and actions in a ReAct loop. Its action space is deliberately small: the agent can search for evidence or submit a probability forecast. A shared two-method interface lets the loop…
This notebook examines the ADIA Lab causal discovery challenge as a benchmark for learning patterns within a known simulator family. Its task supplies many synthetic datasets paired with known directed acyclic graphs, then evaluates models on classifying…
This notebook describes how to produce holdout predictions for a selected CME futures model configuration. The configuration is chosen using validation results, then refitted on data ending before the holdout window opens. A label buffer separates training…
This notebook explains Tail-GAN, a generative adversarial approach for creating financial return scenarios while targeting value at risk (VaR) and expected shortfall (ES). It uses differentiable sorting so gradients can pass through quantile estimates, and…
This feature-engineering notebook explains how slower information can condition faster trading signals through fundamentals, macroeconomic data, and calendar context. It outlines value ratios such as book-to-market and earnings yield, quality measures such…
This notebook describes how to produce holdout predictions for a selected NASDAQ-100 microstructure configuration after model and strategy choices have been made on validation folds. It reconstructs the selected training specification, derives a holdout fold…
This guide introduces the public CFTC Commitment of Traders reports as a source of weekly futures positioning data. It distinguishes the Traders in Financial Futures report, which categorizes participants such as dealers, asset managers, and leveraged money,…
This Python module describes methods for quantifying uncertainty in strategy backtests using daily out-of-sample returns. It combines stationary block bootstrap intervals for return-series statistics, a Sharpe standard error adjusted for autocorrelation and…
This notebook synthesizes registered validation results for five latent-factor estimators across a set of case studies. It first maps which estimators have results for each panel, then identifies the leading estimator by mean daily Spearman rank information…
This notebook explains how a volume participation limit constrains the quantity of a parent order that can fill during each market interval. A broker calculates the allowed slice from observed traded volume and carries any unfilled remainder forward. Lower…