CFTC Rule 4.41(b)(1)(i) — Hypothetical performance disclosure
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
The capital ladder
Most tools give you a strategy and leave the size to you, at the exact moment when you are least equipped to choose it. The ladder replaces that decision with a rule: the amount of capital a strategy is allowed to touch is a function of the evidence behind it, and nothing else. Not the last week. Not how convincing the reasoning sounded. Not how much you happen to want it to work.
It is a product mechanism, not a price list. None of these rungs is a plan you can buy.
The five rungs
| Rung | Entry condition | Capital | When it arrives |
|---|---|---|---|
SANDBOX | The walk-forward does not beat the benchmark, or the holdout degrades severely | None — simulation only, with the diagnosis attached | Same session |
PAPER | The walk-forward passes, but the synthetic probability of meeting the goal sits below paper threshold: 55% | None — it runs forward and accumulates evidence with nothing at stake | Same session |
LIVE_MICRO | Synthetic probability between paper threshold: 55% and scaling threshold: 70% | Between micro allocation floor: 5% and micro allocation ceiling: 10% of the capital you assign; micro contracts are the natural vehicle | Same session |
LIVE_SCALED | Synthetic probability above scaling threshold: 70%, and a survivable stress test | Scaled continuously, then re-adjusted by the posterior built from real results | Same session, adjusted afterwards |
LIVE_FULL | A stable posterior accumulated from real executed sessions | The full allocation you assigned | Weeks or months — never on synthetic evidence alone |
Why the top rung is unreachable here
LIVE_FULL is the rung that most products would quietly hand out on a good backtest. It requires
something a simulation cannot produce: a posterior built from executed orders, in a real market,
over enough sessions to mean something. No synthetic result assigns it — and in this codebase that
is not a policy note, it is enforced in the type system, so a path that would grant it does not
compile.
Both thresholds — the paper threshold: 55% that separates paper from a micro allocation, and the scaling threshold: 70% that unlocks scaling — are calibrable parameters rather than constants of nature. They are published for the same reason they are named: a threshold you cannot see is a threshold you cannot argue with, and if we move one, you should be able to notice.
The decision, written out
The engine's walk-forward runs first. If it does not beat the benchmark with a deflated Sharpe
above zero, the strategy stops at SANDBOX with a diagnosis of why. If it passes, the sealed
holdout is compared against it: severe degradation means the strategy works in design and does not
generalize, and it drops back to SANDBOX or PAPER. Only if degradation is moderate or absent
does the posterior get to speak, and what it produces is a probability with a credible interval
of credible interval width: 90% — not a
verdict, a distribution.
That is the rung you start on. It is the ceiling for that strategy until real evidence exists.
Capital breathes
The ladder is not a ratchet. Every executed session feeds a second posterior, and that posterior gradually replaces the synthetic one as the basis for the level. A strategy that performs climbs. A strategy that degrades falls, and it falls on measurement rather than on a bad afternoon. Underneath all of it, the risk guardian keeps its own cascade running:
- A drawdown of daily drawdown limit: 2% in a day stops new positions.
- A drawdown of weekly drawdown limit: 4% in a week halves size.
- A drawdown of monthly drawdown limit: 8% in a month pauses everything for a manual review.
And every move up the ladder still needs your approval. The engine can lower a level on its own; it cannot raise the amount of your money at risk without you saying so.
What is real in this build
The ladder does not run yet. The validation engine that scores a strategy and assigns it a rung is
built in a later phase, so nothing above is operating today: what exists is the specification, the
types that make LIVE_FULL unreachable, and the interface. Every LIVE_* rung is blocked besides,
with the reason written on it — requires broker connection. There is no broker, no capital and no
exchange market data here, and when numbers do exist they will be computed on synthetic data and
labeled SYNTHETIC.