Research charter
The rules every strategy is held to. Most of them are enforced in code, not left to judgment.
Mission: find investment strategies that are systematic (explicit rules, no discretion at run time), repeatable (same data → same decisions), and real (they survive honest out-of-sample testing, costs and different market regimes). Think like both a fundamental hedge fund (deep research into what drives a business or an economy, using unusual data) and a quant fund (turning that insight into rules, testing them ruthlessly, and combining many small edges).
1. Inspirations (what we take from each — not copies)
| Firm | Lesson for the lab |
|---|---|
| Renaissance Technologies | Data cleanliness is the moat. They famously spent years collecting and cleaning historical data before trading on it. Many small, statistically robust signals beat one big story. |
| Two Sigma / D.E. Shaw | Treat investing as a data-science problem: large, varied datasets, rigorous experimentation, engineering discipline. |
| AQR | Academic rigor: every strategy has a documented economic reason (value, momentum, carry, defensive) and is tested across decades and asset classes before use. |
| Man AHL / Winton | Trend following across many markets, sized by risk. Unexciting most years, invaluable in crises. |
| Bridgewater | Understand "the economic machine": growth and inflation regimes drive asset returns. Build portfolios that hold up in all four (All Weather). |
| Citadel / Millennium (multi-manager "pods") | Many independent strategies, each with strict risk limits and a stop-out rule; capital flows to what works. |
| Fundamental funds using alternative data | Satellite counts of parking lots, flight tracking, shipping and card-spend data: measure the real economy before it shows up in official reports or earnings. |
2. Data doctrine
- Provenance or it doesn't exist. Every dataset has a manifest entry: source, URL, fetch time, coverage, checksum and quality findings (
data/manifest.json). - Point-in-time only. A value is usable only after it was public. Every economic series carries a publication lag (claims +6 days, CPI +45, rail carloads +95). The engine applies it automatically.
- Know your revisions. Revised series (payrolls, GDP, claims) look cleaner in hindsight than they were live. They are flagged. Upgrade path: ALFRED vintages.
- Coverage matters as much as accuracy. A series that starts in 2023 silently disables any rule that relies on it before then. (Found on day one: FRED's ICE credit spreads only go back 3 years; we use Moody's Baa spread instead.)
- Survivorship. Testing today's index members over history ignores the failures. Until we have point-in-time constituents, single-stock research is limited to clearly stated, survivorship-aware designs.
- Alternative data is a research program, not a shortcut. Each new source (positioning, insider trades, attention, physical activity, imagery) needs the same treatment: lag, revisions, coverage, and a hypothesis for why it should predict returns. See
python -m amberlab catalogfor the roadmap.
3. Research protocol (enforced in code)
- Periods: train 2007–2015 · validation 2016–2021 · holdout 2022–today, sealed.
- Every evaluation is a logged trial (
research/ledger.jsonl). The number of attempts per idea ("family") feeds the deflated Sharpe ratio, which discounts results for how hard we searched. - Look-ahead detector: every evaluation recomputes the strategy on truncated history; any difference means it peeked at the future, and it is rejected.
- Stability over peaks: report parameter grids. Accept broad plateaus, reject lone spikes.
- Walk-forward: judge the selection process out of sample, not the best backtest.
- The holdout is opened once per final strategy, with a written reason, and the unsealing is logged.
- Costs always on: trading costs, financing on leverage and borrow on shorts.
- Realistic bar: after costs, a Sharpe of 0.5–1.0 is good. Above 2 on daily data means a bug or overfitting until proven otherwise.
- Paper-trade before capital: strategies that pass go to live paper trading (e.g. as a sleeve in Amber Terminal) for months, with pre-agreed shutdown rules.
4. Every strategy must state
- Hypothesis: the economic or behavioral reason it should work, and who is on the other side of the trade.
- Data: sources, lags and coverage.
- Rules: exact, with parameters.
- Expected failure modes: when it should lose money.
- Results: train, validation, stability grid, walk-forward, deflated Sharpe, correlation to SPY and 60/40, and costs.
5. What's feasible here (and what isn't)
- Strong fit: daily and weekly multi-asset systematic strategies (trend, rotation, carry proxies, risk-based allocation, macro-regime models), economic and alternative-data signals, combining strategies into a portfolio.
- Later, with paid data: options strategies (needs historical option chains), single-stock factors (needs point-in-time fundamentals and constituents), intraday (needs minute data with history).
- Out of scope: high-frequency trading (requires tick data, co-location and microsecond execution).
6. Roadmap
- ✅ Milestone 1: clean data layer, honest engine, research protocol, baselines.
- ✅ Milestone 2: agent research team, using only the lab's tools (agents never edit the engine or see the holdout):
- Researcher: proposes hypotheses from the literature and the data catalog.
- Data scientist: profiles a new dataset (coverage, lag, revisions, predictive power).
- Engineer: writes the strategy file.
- Skeptic: attacks every result (leakage, overfitting, cost sensitivity, regime dependence).
- Portfolio constructor: combines survivors.
- Milestone 3: alternative-data integrations (CFTC positioning, SEC insider buying, EIA energy, Wikipedia attention), each as a profiled dataset.
- Milestone 4: a strategy portfolio (pods with risk budgets), paper-traded through Amber Terminal.
Tradable universe
Liquid ETFs across asset classes, dividend-adjusted daily prices.
| ETF | Exposure | Class |
|---|---|---|
| SPY | US large-cap equities | equity |
| IWM | US small-cap equities | equity |
| EFA | Developed ex-US equities | equity |
| EEM | Emerging-market equities | equity |
| VNQ | US real estate (REITs) | equity |
| SHY | US Treasuries 1–3y | bond |
| IEF | US Treasuries 7–10y | bond |
| TLT | US Treasuries 20y+ | bond |
| TIP | US inflation-protected Treasuries | bond |
| LQD | US investment-grade corporates | bond |
| HYG | US high-yield corporates | bond |
| GLD | Gold | commodity |
| DBC | Broad commodities | commodity |
| UUP | US dollar index (long USD) | fx |
Economic data
From FRED. Each series is delayed by its publication lag before any strategy can use it.
| Series | Name | Frequency | Lag | Revisions |
|---|---|---|---|---|
DTB3 | 3-month T-bill rate | daily | 1d | final |
DGS2 | 2-year Treasury yield | daily | 1d | final |
DGS10 | 10-year Treasury yield | daily | 1d | final |
T10Y2Y | 10y minus 2y Treasury spread | daily | 1d | final |
T10Y3M | 10y minus 3m Treasury spread | daily | 1d | final |
DFII10 | 10-year real yield (TIPS) | daily | 1d | final |
T5YIE | 5-year breakeven inflation | daily | 1d | final |
BAA10Y | Baa corporate minus 10y Treasury spread | daily | 1d | final |
BAMLH0A0HYM2 | High-yield credit spread (OAS) | daily | 1d | final |
BAMLC0A0CM | Investment-grade credit spread (OAS) | daily | 1d | final |
VIXCLS | VIX | daily | 1d | final |
NFCI | Chicago Fed financial conditions | weekly | 6d | revised |
ICSA | Initial jobless claims | weekly | 6d | revised |
WEI | NY Fed Weekly Economic Index | weekly | 6d | revised |
UNRATE | Unemployment rate | monthly | 38d | revised |
PAYEMS | Nonfarm payrolls | monthly | 38d | revised |
CPIAUCSL | CPI (index) | monthly | 45d | final |
INDPRO | Industrial production | monthly | 48d | revised |
RSAFS | Retail sales | monthly | 46d | revised |
UMCSENT | Consumer sentiment (UMich) | monthly | 30d | revised |
HOUST | Housing starts | monthly | 50d | revised |
RAILFRTCARLOADSD11 | Rail freight carloads | monthly | 95d | revised |
TRUCKD11 | Truck tonnage index | monthly | 95d | revised |
TOTALSA | Vehicle sales (SAAR) | monthly | 35d | revised |
Alternative-data roadmap
Sources under consideration, from positioning data to physical-economy signals.
| Source | Status | Notes |
|---|---|---|
| FRED physical-economy series | live | Rail carloads, truck tonnage, vehicle sales, NY Fed WEI — free, long history |
| CFTC Commitments of Traders | next | Weekly positioning of hedge funds vs commercials in futures (crowding / contrarian signals). Free, back to 2006, released Fridays for Tuesday data |
| SEC EDGAR insider trades (Form 4) | next | Cluster insider buying has documented predictive power. Free, point-in-time by filing date |
| SEC 13F holdings | next | Quarterly institutional holdings (45-day lag) — crowding and 'smart money' following |
| EIA energy data | next | Weekly crude/gasoline inventories, refinery utilization — energy fundamentals (free API key) |
| Wikipedia pageviews | next | Daily attention data per company/topic back to 2015 (free API) — retail attention, hype cycles |
| TSA checkpoint throughput | idea | Daily air-travel volumes since 2019 — airlines, travel, consumer demand nowcast |
| OpenSky flight data | idea | Aircraft movements, including corporate jets (the classic M&A-scouting idea). Research API, heavy to process |
| Satellite imagery (Sentinel-2 / Landsat) | idea | Free imagery at 10m resolution: parking lots, oil-tank shadows, crop health (NDVI). Big engineering lift |
| Google Trends | idea | Search interest — no official API; sampling noise needs care |
| GDELT news tone | idea | Global news events and sentiment, 15-minute updates, free |
| Job postings / app downloads / card spend | idea | Commercial data vendors — what large funds buy; costly but the real edge |