Portfolios
Combine saved strategies into one aggregated results view with equal $100k sleeves.
A portfolio combines one or more of your saved strategies into a single aggregated results view: one equity curve, one set of headline metrics, one daily P&L calendar — computed across all the members' backtest results. It answers the question a single strategy page can't: what would running these together have looked like?
Diversification is the point. Two strategies that are individually choppy can produce a much smoother combined curve when their losing days don't line up — and that shows up exactly where it should: in the portfolio's Sharpe ratio and max drawdown, not in inflated return numbers.
The capital model: equal $100k sleeves
Every backtest runs on a fixed $100,000 per-session capital. A portfolio funds each member fully:
- Starting capital = N × $100k for N member strategies — three members means a $300k combined base.
- Daily portfolio P&L is simply the sum of the members' net P&L for that session, each under your own fee schedule and slippage setting.
- The combined equity curve accumulates those daily sums from the N×$100k base; the SPX benchmark is normalized to the same base.
Because each sleeve is fully funded, returns stay honest: adding a member never multiplies your return — it can only smooth (or roughen) the combined series. There are no per-member weights yet; every member is one equal sleeve.
The common window
Results are shown only for the period every member has computed: from the latest start to the earliest end of the members' coverage — the intersection window. The combined curve never mixes sessions where one member has results and another doesn't.
A consequence worth knowing: one stale member truncates the whole portfolio. If one strategy is 9 sessions behind, the portfolio ends 9 sessions early, and the page tells you which member is holding it back. The Update results button fixes exactly that — it updates every stale member in one click, and the window extends as each one catches up. A member with no results at all is excluded from the fold entirely (and flagged on its card) until it computes.
How a day combines
For each session in the window:
| Member sessions | Portfolio session | Counted in metrics? |
|---|---|---|
| All completed | completed | yes — sum of member P&L |
| Completed + skipped mix | completed | yes — skipped sleeves add $0 (they didn't trade) |
| All skipped | skipped | no |
| Any failed | failed | no — the true combined result is unknown, not zero |
| Any halted (none failed) | halted | no |
The calendar tooltip breaks each day down per member, and clicking a day opens the combined day view: the same stat tiles, market chart, and strategy log as a single strategy's day view, with every member's orders and log lines merged in time order and tagged by strategy. Recomputing a combined day replays each traded member through the engine, so the first view of a day can take a while at high member counts — repeat views are fast.
Nothing is stored — everything is live
A portfolio persists only its name and member list. Every metric you see is recomputed from the members' existing backtest results at read time, under your fee schedule and slippage. Change your fees in Settings and every portfolio reflects them immediately; update a member strategy and every portfolio containing it extends automatically.
Two consequences:
- Deleting a member strategy is blocked while it's in a portfolio — you'll get the list of portfolios containing it; remove it from them first. This keeps a portfolio's composition (and results) from changing as a side effect.
- Privacy is enforced in both directions. A portfolio can only go public when every member strategy is public (the portfolio page lists its members), and a member can't go private while it's inside a public portfolio. Public portfolios are unlisted, like public strategies — reachable only by someone you hand the link to.
Practical limits
- 1–20 members per portfolio. Duplicate members are rejected (a deliberate 2× position is a future weights feature, not a duplicate entry).
- A portfolio aggregates backtest results only — it is not a tradable unit and can't be run as a bot.
Create one from Portfolios → New portfolio in the Research tab: as you pick strategies, a live preview of the combined results — metrics, equity curve, daily P&L — updates beside the selection, so you can see the blend before saving it. Name it, done. See the Portfolios API to drive the same flow with curl (the preview is POST /portfolios/preview).