Position count & diversification
Wheel Trading automatically suggests a sensible number of concurrent positions based on your portfolio size. This page explains the formula and how it interacts with your subscription cap.
Rationale
Each Wheel position (cash-secured put or covered call) ties up capital. Too few positions and a single assignment mistake is very expensive. Too many and capital per position drops below the tradable range (many classic US options have strikes above 40 USD, i.e. at least 4,000 USD of tied capital).
Rule of thumb:
Capital per position stays in the 5,000 – 25,000 USD range, diversification grows with the portfolio.
Auto-scaling by portfolio size
As long as auto_scale_by_nlv is enabled in your strategy (default), the following curve applies:
| Portfolio from | Positions | Cap per symbol | Capital / pos. (approx.) |
|---|---|---|---|
| 0 EUR | 2 | 40 % | – |
| 10,000 EUR | 3 | 30 % | ~3,500 USD |
| 20,000 EUR | 5 | 22 % | ~4,200 USD |
| 35,000 EUR | 8 | 15 % | ~4,600 USD |
| 60,000 EUR | 10 | 12 % | ~6,300 USD |
| 100,000 EUR | 14 | 9 % | ~7,500 USD |
| 200,000 EUR | 18 | 7 % | ~11,700 USD |
| 500,000 EUR | 25 | 5 % | ~21,000 USD |
Example: 50,000 EUR portfolio → bracket "from 35,000 EUR" → suggested 8 positions, cap 15 % per symbol.
All values are recommendations. You can override them under Account → Strategy, e.g. to trade more concentrated.
Interaction with your plan (open_positions_max)
Your subscription additionally caps the number of concurrent open positions (counted per underlying — Long Stock + Short Call + Short Put on the same ticker = one position):
| Plan | open_positions_max |
|---|---|
| Wheel Starter | 5 |
| Wheel Master | 15 |
| Wheel Premium | unlimited |
If auto-scaling suggests more positions than your plan allows, the plan limit wins — the effective cap is min(auto-scale, plan-cap).
Example: Wheel Starter with a 100,000 EUR portfolio. Auto-scaling suggests 14 positions, the plan caps at 5. Effective: 5. The send button for a 6th position blocks with an upgrade hint.
What you see in the UI
- Pricing page (`/pricing`): full bracket table with plan coverage
so you can pick the right plan for your portfolio before signing up.
- Account → Strategy: current NLV, active bracket, suggested and
effective value.
- Send blocker: reaching the plan limit results in a 403 with an
"upgrade to Master/Premium unlocks position X" hint.
Manual override
If you don't want auto-scaling:
- Account → Strategy
- Set
max_positionsto your desired value - Optionally disable
auto_scale_by_nlv, otherwise the value gets
overwritten on NLV changes
Important: the subscription cap open_positions_max still applies — it is enforced server-side by require_open_positions_limit().