PerformanceMetrics

Realized outcomes of past signals, measured against subsequent market data. Every number on this page traces to recorded pipeline output — when there isn't enough history yet, we say so instead of showing simulations.

Understanding Our Metrics

How We Measure Performance

Definitions of every aggregate shown above, so each number can be reconstructed from the chart data.

Win Rate

The share of trading days on which the strategy return (equal-weight across active signals) was positive. Computed only from realized, historical outcomes.

Average Daily Return

The arithmetic mean of the daily strategy returns shown in the chart, in percent. Days with no active signal count as 0% (cash).

Sharpe Ratio

Mean daily return divided by the standard deviation of daily returns, annualized by √252, with the risk-free rate assumed to be zero. Higher is better; small samples make it noisy.

Maximum Drawdown

The largest percentage decline from a historical peak in portfolio value. This metric helps assess the risk and volatility of our signals.

Performance Methodology

How every series on this page is computed, in enough detail to reconstruct it. The implementation lives in service/performance.py and this description is kept in sync with it.

Equal Weighting

Each active signal is given equal weight on each day: the daily strategy return is the simple average of (signal direction × that ticker's close-to-close return) across all signals active that day.

Signal Timing

A signal is followed from the first trading day after it fired until its stated expiration, using close-to-close returns. No intraday execution or fills are modeled.

No Costs Modeled

Transaction costs, slippage and taxes are NOT modeled — real-world results following the same signals would be lower. This is a research measurement, not a track record.

Benchmark

SPY close-to-close returns over the same trading days when SPY exists in the research database. When it doesn't, the benchmark falls back to the equal-weight average daily return of the entire research universe, and every chart labels it as exactly that — the label always states which benchmark you are looking at.

Work In Progress

Backtesting Process

How model training runs are evaluated today — and what still has to happen before any output should be treated as validated.

Historical Training Data

Models are trained on historical market data with forward-return labels. Each run's exact training window and ticker set are recorded in the model registry above.

Held-Out Test Split

Each training run reports a single evaluation on a chronologically held-out test split (the metrics shown in Model Backtesting). This limits — but does not eliminate — overfitting risk.

Independent Validation: Pending

The system has NOT yet been independently validated. Until it is, signals and forecasts should be treated as experimental research output, not as a basis for trading.

Academic research platform — not investment advice.