Related:
Requires: Trade Reports (Trades menu, or Alt+Z) has no edition restriction, and neither do strategy series. Only the alerts on a series' capital pool (the Pool rules button) need the Regular edition or above (or the Free Trial).
Status: new and lightly tested. Nothing in this guide changes a trade, an order or a figure of your account: a series is a way of reading your trades, and everything it does to your data is something you click.
Many traders run the same strategy over and over: a new put spread every month, a weekly iron condor, a standing "SleepEasy" position that is rolled when it gets old. Each round is a separate trade in SOAP2, with its own number, its own legs and its own P&L. That is correct, but it hides the question you actually care about:
Is my Rhino strategy working, month after month, and how much money does it really need?
A strategy series answers it. It lets Trade Reports treat the many trades of one strategy as one continuing strategy, shown cycle by cycle, with statistics (average per cycle, best and worst cycle, losing streaks, drawdown) and with the capital it truly uses.
A series is deliberately light. It is a tag plus a definition:
Rhino) is what marks a trade as belonging to the strategy. It is the same kind of tag you already know from the Trade Reports journal;If you have not read it yet, "SOAP2 Categories, Tags and Capital Pools" explains tags, categories and pools. This guide builds on it.
There are three ways to start. They all open the same window, Define a strategy series.
A. From a trade. In Trade Reports, right-click a trade row and choose Make a strategy series from this trade... The window opens already filled in from that trade: its symbol, category, account and days to expiry at entry, and a name taken from its tags or trade name. If the trade is already in a series, the menu reads Edit strategy series "Rhino"... instead and opens the stored definition.
B. From the list. Right-click anywhere in the report grid, choose Strategy series... to open the manager, then New series..., or choose Define a strategy series... directly.
C. From a tag you already use. If you already tagged some trades Rhino, open the window blank, pick the tag in Or start from a tag you already use, and click Fill in from its trades. SOAP2 reads those trades and proposes the symbol, the usual categories and accounts, the range of days to expiry, and the cycle (from the median gap between their openings). Nothing is saved: you review and change everything before going on. If the tagged trades span several symbols, you are asked which one; the others are not included.
| Field | What it means | Required? |
|---|---|---|
| Series name (the tag) | The strategy's name and the tag its trades carry. One word or a short phrase, no commas. | Yes |
| Symbol | The one symbol of the strategy (SPX, NDX...). | Yes |
| A cycle is a | Week, Month, or Every n days. How often the strategy starts a new round. One row per cycle in the report. | Yes (Month by default) |
| Days in a cycle | Only for "every n days". Cycles are counted from the first trade of the series. | If n days |
| A trade belongs to the cycle of its | Opening date (suits most strategies), Expiry date (for "the June trade"), or Closing date. A trade with no closing date yet sits in an "in progress" bucket. | Yes (Opening) |
| Suggest trades opened in the last (days) | How far back SOAP2 looks when suggesting trades that are already closed (default 90). Trades still open are always considered. | Yes (90) |
| Usual categories | Tick the kinds of trade the strategy uses. Used only to suggest. Unticked = any. | Optional |
| Usual accounts | Accounts it is run in, comma-separated. Used only to suggest. Blank = any. | Optional |
| Days to expiry at entry (at least / at most) | The range of days between opening a trade and its nearest expiry. Used only to suggest. | Optional |
| Other words in trade names | Short forms you use in trade names (RHN for Rhino). A trade whose name contains the series name or one of these words is proposed. | Optional |
| Capital pool | The pot of money the strategy draws on. Pick one, or type a new name to create it. | Optional |
| Planned capital | The money you earmark for the whole series (for example 60000 for Rhino). Never enforced. Ignored when the series has a pool: the pool's amount is the budget then. | Optional |
How loose or tight to be. The optional fields only decide what SOAP2 suggests. A definition with just a name and symbol suggests every trade of that symbol; the more you fill in, the fewer, better suggestions. If two of your series could both claim a trade, the one that sets more criteria wins, so a loose series cannot take trades away from a tight one.
Next > checks the definition and lists your existing trades that look like members. Each row says why ("name contains Rhino", or "SPX, Put credit spread, account U1, 45 DTE at entry"). All are ticked; untick any that do not belong. This list is not limited by the look-back, so an old closed trade of the same symbol may appear: untick it if it is not part of the strategy.
Save the series saves the definition and puts the tag on the ticked trades. If the series has a pool, you are then asked, once, whether to put those trades in it. Saying no still tags them. Cancel changes nothing.
You can come back any time: the manager's Edit... reopens the same window on the stored series (the name is locked, because it is the tag).
You do not have to tag every future trade by hand.
When some trades look like members of a series, a link appears in the Trade Reports status bar:
3 trade(s) look like members of a series (Fox 1, Rhino 2): review
It is hidden when there is nothing to suggest. A trade is suggested only if it:
Each trade is suggested for one series: a name match beats a structural one, and between two structural matches the more specific definition wins.
Click the link to open the list. Each row gives the reason. Trades whose name carries the series start ticked; structural ones start unticked, because a name is your own declaration and structure is only a guess.
If you rename a trade in the Trade List to something like SPX Rhino Dec 26, and a series Rhino on SPX exists, SOAP2 asks one question: Tag it as part of the series? Yes tags it (then asks about the pool, if any). No is remembered, so you are not asked again for that trade. Trades named in other ways (Commit, the trade editor, imports) do not ask; the suggestion link still catches them by name.
Any of the usual ways still works: the Tags cell of a trade in Trade Reports, or right-click rows > Add a tag to selected trades... (which tags many trades at once). Tagging into a series follows the same rules: one symbol, one series, and the pool question.
Right-click in the report grid > Strategy series... lists every series with its symbol, cycle rule, pool, number of trades and how many are open. Select a series to see its trades underneath. New series..., Edit... (or double-click) and Delete are at the bottom. Delete asks for a Yes and says how many trades carry the tag; they keep it as an ordinary tag.
If a trade carries the tag but counts under another series (from before the one-series rule), the Note column says so.
In Trade Reports choose Group by > Series > Cycle > Trade. Each series becomes a row; under it, one row per cycle (a week such as 2026-W43, a month such as 2026-10, or a span of days); under each cycle, its trades. The totals add up: a series' row is the sum of its cycles.
Hover a series row for its statistics:
Only complete cycles feed the averages, the best and worst, the streak and the drawdown, because an open trade's unrealised figure is not a result yet. If a cycle's total is unknown (for example mixed currencies), the sequence figures read n/a rather than guess.
A series row is measured on exactly one of three things, in this order:
| The series has | Its P&L % is measured on | Capital used shows |
|---|---|---|
| A capital pool | The pool's amount | What the pool's open trades use now |
| No pool, but its own planned capital | That amount | The peak capital at work; the hover gives the headroom |
| Neither | The peak capital at work | The same peak |
The row's Basis cell says which of the three applies: "Pool amount", "Series planned" or "At work (peak)". Nothing is ever enforced: a series over its amount is only shown, never stopped.
What "capital at work" means. Adding each trade's largest risk would count a roll twice (A closes, B opens: the same money moved). SOAP2 instead follows time: each trade contributes its capital only while it holds something, and the series figure is the sum at each moment. The P&L % uses the peak. Hover the series row to see the peak and when it was reached, the time-weighted average, what adding the trades up would have said, and the most trades open at once.
What each trade contributes follows the Risk basis list in the toolbar (default Planned capital):
| Risk basis | What a trade contributes while it holds something |
|---|---|
| Planned capital (default) | Its own planned capital (or its category's default); with none, the margin it carried at that moment; with none, its risk |
| Max margin | Its largest margin, for as long as it holds something (planned capital is ignored) |
| Current margin | Its margin after each execution (planned capital is ignored) |
| Max absolute risk / Current risk | Its replayed risk (planned capital is ignored) |
A trade whose figure is unknown under the chosen basis makes the series figure n/a, and the hover names that trade. SOAP2 never fills in zero. Under the default basis a naked short option is sized by its margin, so it no longer makes the figure n/a.
Where to look. The columns that show all of this, Risk, P&L %, Capital used and Basis, are journal columns: they are hidden until you press the Journal columns button (or choose the Journal grouping). The Return on cost column is always visible but is measured on cost and never follows the basis; P&L % is your return on the chosen yardstick. Hover a P&L % cell for the exact denominator.
A pool with a single trade. When you put a trade in a pool that has no amount and the trade is the pool's only trade, Reports offers to use the trade's own planned capital as the pool amount. You can decline, and either value stays editable afterwards.
Say you open a put credit spread on SPX each month at about 45 days to expiry, in account U1, and you sometimes still have the previous one open when the next starts.
Rhino. Cycle: Month, by Opening date. Tick Put credit spread, set accounts to U1, days to expiry 30 to 60. Capital pool: type Income if you want a budget, or leave it blank.SPX Rhino Jan. SOAP2 offers to tag it. Or leave it, and the status-bar link will list it.Because the September and October trades overlap, Rhino's capital is not the two risks added up: it is the most money Rhino had at work at once.
| You see | Likely reason |
|---|---|
| No Risk, P&L %, Capital used or Basis column | They are journal columns: press Journal columns |
| The series P&L % is n/a | A trade of the series is unknown under the chosen basis (for example unlimited risk under Max absolute risk): hover the row, it names the trade; or switch to Planned capital |
| The series is measured on a different amount than you typed | A series with a pool uses the pool's amount and ignores its own planned capital |
| Return on cost does not follow the Risk basis | Correct: it is measured on cost; P&L % follows the basis |