Your library.
Production code for every paper, tested in the regimes you care about, evaluated against your bar.
Sort
IRR since publication
IRR since publication
OOS Sharpe
Years live
Criteria pass count
Solo quant preset
Solo quant preset
Conservative preset
Aggressive preset
Crisis-aware preset
No preset (show all)
Asset class
All
All asset classes
US equities
Cross-asset
Options
12 pass · 18 partial · 17 fail
#
Paper
Curve
IRR
Sharpe
Yrs
Criteria
01
14.2%
0.92
7
5/5
Quality minus junk
02
11.8%
0.71
8
5/5
Carry across asset classes
03
10.4%
0.68
12
4/5
Betting against beta
04
9.8%
0.74
12
5/5
Buffett's Alpha
05
8.2%
0.38
14
4/5
Time series momentum
06
7.6%
0.55
10
4/5
Momentum crashes
07
7.2%
0.61
11
3/5
Variance risk premiums
08
5.4%
0.32
20
2/5
Pairs trading
09
4.8%
0.41
15
3/5
Post-earnings announcement drift
10
4.1%
0.19
32
1/5
Cross-sectional momentum
11
2.7%
0.12
18
0/5
Asset growth anomaly
12
1.4%
0.08
30
0/5
Accruals anomaly
Showing 12 of 47
Citations real (click ↗ for paper) · performance figures and replication outputs illustrative · prototype demonstrating Lumiveo primitives
Replication · Journal of Financial Economics 2012
Time series momentum
Your success criteria Solo quant preset
Applied to every paper you replicate · click any threshold to edit
4/5
1 criterion fails
Out-of-sample Sharpe
post-publication, 2012–today
0.38
+27% headroom
Max drawdown
peak-to-trough, full history
−18.4%
−23% over limit
Net Sharpe at my TC
IBKR commissions + 8 bps slippage
0.31
+55% headroom
Correlation to my book
vs current 60/40 sleeve
0.12
+60% headroom
Capacity at 5% impact
estimated, my universe
$42M
8.4× threshold
Your test regimes Crisis-aware preset
Specific market regimes the strategy must survive · click any to inspect
3/5
2 regimes fail
2008 Global Financial Crisis
Jun 2007 – Mar 2009 · require Sharpe > 0
Sharpe 1.81
+44% return
2020 COVID crash
Feb – Apr 2020 · require Sharpe > 0
Sharpe 0.42
+3.8% return
2022 rate shock
Jan – Oct 2022 · require Sharpe > 0
Sharpe 2.14
+27% return
Low-vol regime 2017
full year 2017 · require DD < 10%
DD −14.2%
−42% over limit
Post-crisis recovery 2019
full year 2019 · require Sharpe > 0
Sharpe −0.12
flat/negative
Equity curve
In-sample 1985–2011
Out-of-sample
Strategy spec extracted
Signalsign(r₁₂ₘ)
Universe58 futures
Rebalancemonthly
Vol target40% / σᵢ
Sample1985–2009
DataDatabento
Decision log 5 entries
12-month lookback per spec
verbatim from §2.1
σ window: 60 days
paper unspecified · ±10d swings Sharpe by 0.04
Futures roll: OI-weighted
paper silent · Bloomberg standard applied
TC: IBKR + 8 bps slippage
from your TC profile
Databento replaces Datastream
5 minor symbols missing pre-1988
Your codebase.
Every paper you replicate becomes a tested Python module. Composable, versioned, yours to trade — not a one-off backtest notebook.
Branch
main
Last commit
2 hours ago
Tests
412 passing
Repository edge/
strategies 47
tsm.py
qmj.py
carry.py
bab.py
defensive.py
42 more
signals 18
momentum.py
quality.py
carry.py
15 more
backtest 6
data 4
tests 412
presets 3
README.md
pyproject.toml
strategies/tsm.py
# strategies/tsm.py
# Source: Moskowitz, Ooi, Pedersen (2012) — JFE 104(2)
# Replication fidelity: 4/5 user criteria, 3/5 test regimes
# Decision log: see decisions/tsm.yaml
from edge.signals import lookback_return, realized_vol
from edge.data import futures_universe
from edge.strategy import Strategy, register
import numpy as np
@register("tsm")
class TimeSeriesMomentum(Strategy):
"""Time series momentum across cross-asset futures.
Long if 12m return positive, short otherwise. Position sized
to target 40% annualized vol per instrument.
"""
lookback: str = "12M"
rebalance: str = "monthly"
vol_target_pct: float = 40.0
vol_window: int = 60 # resolved from decision log
def universe(self):
return futures_universe(asset_classes=["eq", "fi", "fx", "cm"])
def signal(self, prices):
r = lookback_return(prices, self.lookback)
return np.sign(r)
def position(self, prices, signal):
sigma = realized_vol(prices, window=self.vol_window)
return signal * (self.vol_target_pct / sigma)
Recent agent activity
23 commits this week
Added Quality minus junk replication · 5/5 criteria, 4/5 tests
Resolved σ window ambiguity in tsm.py · sensitivity test added
Refactored signals/momentum.py for cross-sectional composability
Added 2017 low-vol test regime to preset · re-evaluated all 47 strategies
Updated Databento data adapter for 5 missing futures symbols pre-1988