A mechanical momentum book, run in public.

Every rule is published. Every fill is logged. Two variants run head-to-head as a live A/B test so you can see which momentum definition actually holds up — not a backtest, a forward record starting 2026-08-09.

Get the toolkit + weekly signals — $9 Read the rules first

Already bought? Download your files here — instant, no login.

The two books

Variant A — risk-adjusted momentum

$101,207
mean(3m, 6m, 12m-1m) ÷ 20d realized vol · top 5 equal-weight
MU PANW SNOW UNH XBI

Variant B — classic 12-1 (control)

$99,650
12-month return skipping the last month · top 5 equal-weight
MU AMD CAT SMH PANW

Both books opened at $100,000 on 2026-08-09. Paper, marked to the last close. Variant B never changes — it's the control. Any rule change goes to A only, is logged with a dated hypothesis, and is judged on at least two weeks of relative equity before adoption.

The ruleset, in full

That's the whole thing. The stops and the 200dma filter are mechanical — the point of publishing them is that I can't quietly move them when a position goes against me.

This week's ranked universe

#TickerLast6mScore A
1MU861.00118.3%2.55
2SNOW334.7098.7%2.32
3PANW385.04141.7%2.25
4UNH408.7449.8%1.76
5XBI158.0326.0%1.62
6CRWD225.16127.7%1.50
7AMD469.56125.3%1.39
8LLY1,231.9416.8%1.26
9IWM299.9813.7%1.20
10MRK130.928.9%1.16

Top 10 of ~65 shown, generated 2026-08-11. The paid file has the full scored universe as CSV, plus the weekly top-5 with entry levels and stop levels already computed.

The screener code is free

The scoring logic isn't the secret — discipline is. Score any universe yourself:

import yfinance as yf, numpy as np

def score(tickers):
    px = yf.download(tickers, period="2y")["Close"]
    out = {}
    for t in tickers:
        s = px[t].dropna()
        if len(s) < 260 or s.iloc[-1] < s.rolling(200).mean().iloc[-1]:
            continue                              # 200dma absolute filter
        r3  = s.iloc[-1]/s.iloc[-63]  - 1
        r6  = s.iloc[-1]/s.iloc[-126] - 1
        r12 = s.iloc[-21]/s.iloc[-252] - 1        # 12-1: skip last month
        vol = max(np.std(np.diff(np.log(s[-21:])))*np.sqrt(252), 0.05)
        out[t] = ((r3 + r6 + r12)/3) / vol        # variant A score
    return sorted(out.items(), key=lambda kv: -kv[1])

Run that and you have variant A. What $9 buys is not the formula — it's the packaged one-file engine (screen / rebalance / mark / status with the paper book and stop tracking wired in), the full scored universe every week, and the signal file so you don't have to remember to run it.

What you get for $9

Get it — $9

After paying you land on a receipt page — your download is at smeltworks.com/momentumedge/get. Bookmark it; it is also printed on the checkout page.