Methodology

How it is computed
and what it cannot tell you.

Every number on the live pages can be traced to a rule written down in an issue, a price history and a check anyone can repeat.

What this is

AlgoEdge Research re-runs the strategies published in AlgoEdge Insights on every close, with each issue's own rules, universe and trading costs. Each strategy is a fixed rule written down in the issue: nothing here is fitted, tuned or chosen after the fact, and no language model writes a stance.

It is research software. It does not know your situation, does not give personal advice, and does not place, route or hold trades. Every decision stays yours.

Data and freshness

US ETFs use daily closing prices; the crypto issues use the daily candle that closes at 00:00 UTC; the factor and industry issues use Kenneth French's data library, which publishes monthly, a month or two behind.

Every issue is re-run after the US close (21:50 UTC) and after the crypto candle (00:20 UTC). An hourly watchdog rebuilds anything that has fallen behind. Each page says how fresh its data is: fresh, one close behind, or behind. If a download fails, the last good result is kept and labelled as carried forward — and no change of stance is ever recorded or emailed from data that is not the latest.

The issue's numbers, reproduced

Every figure an issue printed (annual return, Sharpe, worst drawdown, hit rate) is recomputed on the issue's own window from this platform's price history and shown side by side, matched or not.

Robustness checks

Three checks the newsletter runs before publishing: the same trades one bar late, the trading cost at which the edge disappears (measured on the most recent third of history), and the Sharpe ratio in each third of history.

Risk score

A 0–100 description of how exposed a strategy is now: its recent volatility ranked against its last five years (40%), its current drawdown as a share of its worst ever (35%), and how much of the book is in the market (25%). The weights are ours and shown in full. It describes the present; it is not a forecast.

Research Lab: rules first, results on record

Before an issue goes out, its own backtest fixes what a normal stretch looks like: the 5th to 95th percentile of the strategy's return over every window of 21 sessions (30 days for crypto, one month for monthly data) up to the publication day. After it goes out, the program checks each completed window against that range and records the result once. The range is never moved, and misses stay on the record. A standing check compares the deepest fall since publication with the worst in the backtest.

A strategy can be inside its range and still lose money; the check asks only whether it is behaving like its own history said it would.

The sealed record

Every change of stance and every Research Lab result is sealed into a per-issue SHA-256 hash chain: each seal covers the entry and the seal before it, so editing, removing or reordering any past entry breaks every seal after it. The Verify button on each issue re-walks the chain from the stored entries.

Once a day the head of every chain is written into a short text manifest whose hash is submitted to public OpenTimestamps calendars, which commit it to a Bitcoin transaction. The manifest and its .ots proof can be downloaded and checked with the OpenTimestamps client or at opentimestamps.org, without trusting this site. Only a 32-byte hash leaves the server; Bitcoin serves as a public clock.

For your assistant

A read-only MCP server at https://algoedgeresearch.com/mcp gives Claude, ChatGPT or any MCP client the same public view as this site: every strategy's stance, levels for the free issues, Research Lab results, stance history and record checks. Add it as a custom connector with that URL; no account is needed.

Limits

Backtests describe the past under the rules as written. Execution, slippage, taxes and data revisions can make real results differ. Short live records say almost nothing about a strategy. Past performance does not guarantee future results.

The strategies

System status, data freshness and the daily timestamps: /status.