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.
Portfolios are also how you run several entries a day. A strategy opens one trade per session, so if you want to enter at 10:00 ET and 10:30 ET, make each entry its own strategy and add both here — the portfolio backtests each independently (per-entry attribution, its own $100k sleeve) and aggregates the results, no recompute.
The capital model: equal $100k sleeves
Every backtest runs on a fixed $100,000 per-session capital. A portfolio funds each member fully — one equal sleeve apiece — so its base is simply N × $100k.
Portfolio day P&L = Σ member net P&L
- Σ
- Summed across every member for that session
- net P&L
- Each member under your own fee schedule and slippage setting
The combined equity curve accumulates those daily sums from the N×$100k 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. Drag the bars below to see it move:
Three member strategies with different results coverage. The common window spans 104 sessions, from the latest start to the earliest end. Strategy C is 9 sessions behind the latest session and truncates the portfolio; Update results would recompute every member to full coverage.
Drag a bar's end — or focus a handle and use the arrow keys. The window covers only what every member covers, so one stale member truncates it. Update results recomputes every member over the full session axis, so the window fills to complete coverage.
Common window
Latest start → earliest end
Behind the frontier
Strategy C holds it back
Combined base
3 × $100k sleeves
The Update results button fixes exactly that — one click recomputes every member across the full session history, and the window grows to complete coverage 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, the members’ outcomes combine into one portfolio session:
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.
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.
While a strategy is in a portfolio, deleting it is blocked — 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.
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
Duplicate members are rejected — a deliberate 2× position is a future weights feature, not a duplicate entry.
A portfolio aggregates backtest results — it can’t be traded directly or run as a bot. A bot runs one saved strategy; to trade several side by side, create a bot per strategy.
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).