Every approach under each prop firm¶

Date: 2026-10-11

Six ways of holding a futures position are run under six firms' rules: FundedNext Flex, Topstep, Take Profit Trader, Purdia, Earn2Trade and Traders Launch. One method produces the same three tables and two figures for every firm. Section 1 stacks every firm's Table A, which is the table to choose a position from. Section 2 is the method, and it is all a reader needs to read any firm's section.

In [1]:
import os
from pathlib import Path

REPO = next(p for p in [Path.cwd(), *Path.cwd().parents] if (p / "trading_framework").is_dir())
os.chdir(REPO)
In [2]:
import json

from src.notebooks.reports.topics.firm_plans.modules import core as F
from src.notebooks.reports.topics.firm_plans.modules import firm_plans as R

Configuration¶

In [3]:
ACCOUNTS = 2000          # accounts a cell
WORKERS  = 3             # processes a grid
ALL      = F.NAMES + F.LATER

GRIDS  = {name: F.grid(name, ACCOUNTS, WORKERS) for name in ALL}              # minutes on the first run, cached after
CHOSEN = {name: F.chosen(name, GRIDS[name], ACCOUNTS, WORKERS) for name in ALL}
PICKS  = {name: c[0] for name, c in CHOSEN.items()}
READS  = {name: c[1] for name, c in CHOSEN.items()}

EXPECTED = {("FundedNext Flex", "medium"): "1 MNQ above the average on the 150K at the cap, $2,000 to $4,000",
            ("Topstep", "low"): "decision nights alone or one ZN, $1,000 to $3,000",
            ("Topstep", "medium"): "a note or everything cell on the 100K or 150K at the cap, $5,000 to $9,000",
            ("Take Profit Trader", "low"): "about $1,000",
            ("Take Profit Trader", "medium"): "at most $2,500",
            ("Purdia", "low"): "under $1,500",
            ("Purdia", "medium"): "under $1,500",
            ("Earn2Trade", "low"): "under $1,000",
            ("Earn2Trade", "medium"): "$1,000 to $3,000 on the 100K with the request cap",
            ("Traders Launch", "low"): "1 or 2 MNQ on the 200K or 300K, $1,500 to $3,500",
            ("Traders Launch", "medium"): "3 to 6 MNQ on the 200K or 300K, $4,000 to $9,000"}

1. The answer¶

Every firm's Table A. Each row is the cell the first half of the record chose under one bound on turnover, and what that cell nets on the second half. Dollars are net of fees, a year, for one account slot. Every cell was scored on the whole record before the halves were cut, so the second half is not held out. Section 2 names every column.

In [4]:
R.answer(READS)
firm               bound   account position                                                                                  request  first half  acc/yr second half  acc/yr  kept  paid  coin flip    record  declared
FundedNext Flex    low     150K    1 MNQ above the 200-day average, 2 MNQ on decision nights                                 cap          $2,691    0.59      $3,113    0.87  116%   42%      -$372    $5,649       yes
FundedNext Flex    three   150K    2 MNQ above the 200-day average, 4 MNQ on decision nights                                 cap          $4,019    2.28      $5,210    2.86  130%   34%      -$779   $10,062        no
FundedNext Flex    medium  150K    3 MNQ above the 200-day average, 6 MNQ on decision nights                                 cap          $5,212    3.88      $6,386    4.79  123%   29%    -$1,266   $12,399       yes
FundedNext Flex    any     150K    3 MNQ every night, 6 MNQ on decision nights                                               cap          $6,341    5.72      $5,364    5.99   85%   26%    -$2,289   $12,279       yes
Topstep            low     150K    3 ZN, month-end                                                                           cap          $4,750    0.66      $3,176    0.47   67%   42%       $557    $3,176       yes
Topstep            three   150K    2 MNQ every night, 4 MNQ on decision nights, 2 ZN, month-end and auction                  cap          $7,715    2.39     $11,473    3.93  149%   28%       -$12   $17,613        no
Topstep            medium  100K    2 MNQ above the 200-day average, 4 MNQ on decision nights, 2 ZN, month-end and auction    cap          $8,206    3.94     $10,924    5.90  133%   29%     $1,803   $16,074       yes
Topstep            any     150K    12 MNQ every night, 24 MNQ on decision nights                                             cap         $19,039    9.88     $16,783   11.11   88%   16%     $5,215   $34,813       yes
Take Profit Trader low     50K     1 ZN, month-end                                                                           cap          $1,280    0.50        $780    0.38   61%   43%       -$26      $780       yes
Take Profit Trader three   50K     4 MNQ on decision nights                                                                  cap          $1,692    1.84      $2,112    1.15  125%   27%      -$152    $2,559        no
Take Profit Trader medium  50K     1 MNQ above the 200-day average, 2 MNQ on decision nights, 1 ZN, month-end and auction    cap          $2,754    3.48      $4,023    5.26  146%   27%    -$1,367    $6,893       yes
Take Profit Trader any     50K     32 MNQ on decision nights                                                                 cap          $9,483    7.21      $2,978    7.48   31%    8%       $252    $3,156       yes
Purdia             no cell nets above zero on the first half at 2 bp
Earn2Trade         low     200K    1 MNQ above the 200-day average                                                           cap          $1,218    0.85      $1,409    1.33  116%   66%      -$113    $2,705       yes
Earn2Trade         three   200K    1 MNQ every night, 2 MNQ on decision nights, 1 ZN, month-end and auction                  cap          $2,071    2.04      $2,059    2.67   99%   58%      -$588    $3,670       yes
Earn2Trade         medium  200K    2 MNQ every night, 4 MNQ on decision nights, 1 ZN, month-end and auction                  cap          $3,708    3.82      $3,513    5.08   95%   56%      -$191    $5,369       yes
Earn2Trade         any     200K    4 MNQ every night, 8 MNQ on decision nights, 1 ZN, month-end and auction                  cap          $4,330    6.45      $1,080    8.48   25%   42%    -$2,520    $3,849       yes
Traders Launch     low     300K    4 MNQ on decision nights                                                                  cap          $1,014    0.79      $1,842    0.41  182%   52%    -$1,277    $2,308       yes
Traders Launch     three   300K    16 MNQ on decision nights                                                                 cap          $5,008    2.90      $5,201    2.81  104%   34%    -$2,051    $5,055       yes
Traders Launch     medium  200K    16 MNQ on decision nights                                                                 soon         $7,820    3.73      $6,460    3.86   83%   35%     $1,635    $7,562       yes
Traders Launch     any     200K    32 MNQ on decision nights                                                                 cap         $11,886    5.60      $5,647    5.82   48%   17%      -$272    $5,757       yes

2. The method¶

Every firm is run the same way. The firm's rules change the account simulator and the cost of a funded account. Nothing else changes.

Concepts used in this section¶

Cell. One account size, one position and one withdrawal request. A firm's grid is every cell its contract limit allows.

Approach. One way of holding a position. Six are run.

approach position
nights 1 to 16 MNQ from 18:05 to 09:25 New York, every night or only above the 200-day average
fed nights 2 to 32 MNQ on the night before a Federal Reserve decision, flat otherwise
nights and fed the nights position, doubled on a decision night
month-end note 1 to 5 ZN long over the last three trading days of a month
both note trades the same, and ZN short over the three days before a 10-year auction
everything 1, 2 or 4 MNQ, doubled on a decision night, with 1 or 2 ZN in both note trades

Request. When a cell withdraws. soon withdraws at a small amount and cap at a large one. Each firm's section gives the two amounts, because the firms' payout rules differ.

Scenario. An assumption about what a held night pays. record leaves the nights as they happened, net of financing at the federal funds rate of each night. 2 bp adds one constant to every night so that all nights together average 2 basis points. Nights above the 200-day average and decision nights keep their whole advantage over the other nights, and the note trades keep their record mean. So 2 bp lowers the plain index night and leaves the three selected effects at the size the record measured. The cell under this section prints what each group of nights averages. coin moves every group of nights and note days to a mean of zero, so only the firm's rules pay.

Account. 2,000 funded accounts a cell. Each draws nights in blocks from the QQQ record, 2000 to 2026, until the firm's loss limit ends it or the record's cap on nights is reached. The record is daily bars and has no path inside a night. Each night's low is modelled: it is drawn from the 654 MNQ futures nights of 2024 to 2026 whose end fell in the same fifth, and scaled by the night's own spread. Every breach inside a night rests on that model. For a limit that follows the highest close and stops at the start:

$$f_t = \max\left(f_{t-1},\ \min(b_t - D,\ 0)\right)$$

$b_t$ is the balance above the start after night $t$. $D$ is the loss limit. $f_t$ is the balance that ends the account. Each firm's section says where its limit differs.

Funded account cost. A challenge is passed with no-edge bets of 10 MNQ. Each bet pays one tick of spread and the firm's own commission, $15 to $27 by firm. With pass rate $q$:

$$\text{cost} = \frac{\text{fee}}{q} + \text{activation}$$

Fees. One MNQ pays one tick of spread and the firm's round-trip commission each night: $1.90 at FundedNext Flex, $1.22 at Topstep, $1.50 at Take Profit Trader, $1.82 at Purdia, $2.16 at Earn2Trade, $1.00 at Traders Launch. One ZN pays one tick and $2.62 at Topstep, $4.50 at Take Profit Trader, $2.92 at Earn2Trade, each day it is held.

Net a year. One slot's income:

$$\text{net a year} = 365.25\cdot\frac{\text{cash}-\text{cost}}{\text{days}}$$

cash is the mean paid to one funded account. days is the account's life plus the time its challenge attempts took.

Turnover. Funded accounts one slot uses in a year:

$$\text{accounts a year} = \frac{365.25}{\text{days}}$$

It matters because each firm has a clause against losing many funded accounts in a short time.

Bound. The most accounts a year a choice may use: low 1, three 3, medium 4, any no bound.

Two halves. The record is cut in two by date. On the first half at 2 bp, the cell with the most net a year is chosen under each bound, and that cell is then read on the second half. Every cell was scored on the whole record before the halves were cut, so neither half is held out and the second half is an in-sample split-check. declared says whether the bound was in the firm's declaration before its halves were run.

What each firm's section holds¶

item rows read it for
Table A one bound the position to hold: what the first half chose and what it nets on the second half
Table B one approach in one turnover band, whole record which approaches earn at this firm, and whether they still earn as a coin flip
Table C one account size the pass rate of the challenge and the cost of one funded account
Figure 1 every cell whether income stays high to the left of the dashed lines at 1, 3 and 4 accounts a year
Figure 2 six accounts of the choice under the bound of three whether accounts end before a first withdrawal

Table A columns. first half and its acc/yr are the half that chose the cell, at 2 bp. second half and its acc/yr are the other half at 2 bp. kept is the second over the first. coin flip and record are the second half under those scenarios.

Table B columns. band is low up to 1 account a year, medium up to 4, high above. paid is the share of funded accounts paid at least once. days is the mean of days above. The last three columns are net a year under each scenario. A band with no row has no cell with a positive net.

Choosing from Table A. Take the row whose bound is the turnover to be accepted. Prefer a row whose coin flip is near zero or above it, because that income does not need the nights to keep paying. A second half far above first half is luck in the other direction, not a larger edge.

In [5]:
R.scenario_means()
nights                              count  record bp  2 bp scenario
all                                  6680       4.64           2.00
no decision, above the average       4766       5.29           2.65
no decision, under the average       1702       0.64          -2.00
decision nights                       212      22.18          19.54
financing a night on the record: 0.82 bp, taken from the federal funds rate of each night
In [6]:
def tables(name):
    R.choice_table(READS[name])
    R.approach_table(GRIDS[name])
    R.size_table(GRIDS[name])
    R.expected(name, READS[name], EXPECTED)

3. The declarations¶

Each is committed before any cell of its firms is run on half of the record. The first covers FundedNext Flex, Topstep, Take Profit Trader and Purdia. The second covers Earn2Trade and Traders Launch, and adds the bound of three.

In [7]:
print(F.PREREG)
PRE-REGISTRATION -- every approach under each firm, with the choice held out (declared 2026-10-10)

WHAT IS ALREADY SEEN. night_futures sections 29 and 34 to 36: the night plan under FundedNext
Flex, Topstep and Purdia on the whole record, 1 to 4 MNQ (to 8 on Flex), with the best cell
taken from the same nights that scored it. rates_calendar: the two note trades, $126 and $175 a
trade. By hand before this declaration: decision nights alone and the note trades under Flex and
Topstep. While this module was written, at 500 to 1,000 accounts on the whole record at 2 bp:
Topstep's note and everything cells with the trade's cost paid once, and Take Profit Trader's
50K cells. Those reads showed note cells at Topstep netting several thousand dollars a year at
1 to 3 accounts a year, and Take Profit Trader near zero outside decision nights and one note.
No cell has been run on half of the record.

THE OPERATOR'S QUESTION. What each approach nets at each firm, and which cell to hold when few
funded accounts a year is preferred to the most income.

FIRMS, each from its own pages read 2026-10-09 and 2026-10-10 and pinned in a rules file.
  FundedNext Flex   rules_fundednext_plans.json. 30 / 50 / 80 micros. No rate product listed.
  Topstep           rules_topstep.json. The Scaling Plan's first tier: 20 / 30 / 30 micros. ZN listed.
  Purdia            rules_purdia.json. 50 / 100 micros. No rate product listed. Two stages, one prize.
  Take Profit Trader rules_takeprofittrader.json. 50K only: the other sizes' Test prices were not
                    readable. The 50K price of $170 is inferred from the firm's promotion pages.
                    PRO account: $2,000 limit that trails the highest point inside the day and
                    stops at the start; withdrawals of all balance above a $2,000 buffer at 80%;
                    $130 to activate; resets at $99 in the Test. 60 micros. ZN listed.
  TradeDay          rules_tradeday.json. Its page lists Indonesia among the countries it cannot
                    accept, so it is not simulated.

APPROACHES.
  nights            1, 2, 3, 4, 6, 8, 12, 16 MNQ from 18:05 to 09:25, every night or only above the
                    200-day average, the same position on a decision night
  fed nights        2, 4, 8, 16, 32 MNQ on the night before a Federal Reserve decision, flat otherwise
  nights and fed    the nights cells with twice the position on a decision night
  month-end note    1, 2, 3, 5 ZN long over the last three trading days of a month
  both note trades  the same with 1, 2, 3, 5 ZN short over the three days before a 10-year auction
  everything        1, 2, 4 MNQ with twice that on a decision night, and 1 or 2 ZN in both note trades
A cell above the firm's contract limit is left out, one ZN counting as ten micros.
Each with a request as soon as allowed or at the cap, on each account size.

MODEL. night_futures' plan.lives for Flex and Topstep, plan.purdia_cell for Purdia, tpt_lives
here for Take Profit Trader. What is new:
  Note days. One ZN's dollars from daily settlements, and the day's worst point from the daily
    low or high. Every firm closes positions at the end of its trading day, so the note trade
    is entered again each day and pays one tick and two commissions each day. The two hours
    between a firm's close and the reopen are not seen. The note's worst point is added to the
    night's, as if both came at once.
  Cells with the auction short draw from the nights since 2014-01-01, where that trade was
    declared. Other cells draw from the whole record, 2000 to 2026.
  Take Profit Trader. A night's high is attached as its low was in night_futures section 29,
    drawn apart from the low. Whether the high or the low comes first is a coin flip. A flat
    week pays $1.50 for a placeholder trade. Withdrawal at $500 or at $2,000 above the buffer.
  Purdia. A cell has no request. A funded account is one prize.

SCENARIOS. The record's own nights; ordinary nights moved to a mean of 2 bp; a coin flip, with
decision nights, nights above and under the average, long note days and short note days each
moved to a mean of zero. At 2 bp the note trades keep their own mean.

TURNOVER. Funded accounts a slot a year = 365.25 over the days one account and its challenge
attempts take. Low is at most 1. Medium is at most 4. High is above 4.

THE CHOICE, fixed here. The record a cell draws from is cut in two by date. On the first half at
2 bp, for each firm and each of low, medium and any turnover: the cell with the most net a year
among cells with a positive net. Each chosen cell is then run once on the second half at the
three scenarios. The firm's plan is the medium choice.

REPORTED. Every cell on the whole record at the three scenarios. For each approach and band the
best whole-record cell at 2 bp. The chosen cells on both halves. 2,000 accounts a cell.
This is a read under four rulebooks with one held-out choice. It is not a test and has no
t-statistic. A second-half figure under the first-half figure by more than half says the choice
was fitted to its nights.

NOT IN THE MODEL. Topstep's higher Scaling Plan tiers, its call-up to a live account, its
Focused Trader Program. Flex's price after the first purchases and its Disciplined Trader
Program. Take Profit Trader's rule to be flat one minute around payrolls and CPI at 08:30, its
PRO+ account, its ban on automated orders. Any refused payout at any firm.

EXPECTED, written before scoring.
  Topstep, medium: a note or everything cell on the 100K or 150K requested at the cap, $5,000 to
    $9,000 a year at 2 bp on the first half, and 40% to 80% of that on the second half.
  Topstep, low: decision nights alone or one ZN, $1,000 to $3,000.
  Flex, medium: 1 MNQ above the average on the 150K at the cap, $2,000 to $4,000.
  Take Profit Trader: at most $2,500 in the medium band and about $1,000 in the low band.
  Purdia: under $1,500 in every band.
  As a coin flip every low choice nets within $500 of zero.

SCORED ONCE. No cell, band, limit or rule is changed after looking.

In [8]:
print(F.PREREG_2)
PRE-REGISTRATION 2 -- Earn2Trade and Traders Launch, and a bound of three accounts a year (declared 2026-10-11)

WHAT IS ALREADY SEEN. Everything in the first declaration and its results: the four firms' cells
on the whole record and on both halves. For the two firms here: pass rates and funded-account
costs, and the count of cells. No cell of either firm has been run on any nights.

FIRMS, each from its own pages read 2026-10-11 and pinned in a rules file.
  Earn2Trade        rules_earn2trade.json. Gauntlet Mini 50K, 100K, 150K, 200K, monthly fee, on a
                    LiveSim funded account. Limit follows the highest close and stops at the
                    start. A daily loss limit ends the account. Weekly withdrawals: 50% of a
                    withdrawal under a threshold, 80% at or above it. $139 from the first
                    withdrawal. A new account holds the ladder's first tier: 20 / 30 / 40 / 50
                    micros. ZN is named in its commission chart. Flat 16:50 to 18:00 New York.
  Traders Launch    rules_traderslaunch.json. Standard plan at 80%, 100K, 200K, 300K, one fee.
                    Limit of $1,000 / $2,000 / $3,000 follows the highest close and stops at
                    the start. Payout once the balance is 1% above the start, any day, no cap.
                    20 / 40 / 60 micros. No rate product is listed. Hours 18:00 to 16:00.
  Not simulated     Blue Guardian Futures and AquaFunded list Indonesia among the countries
                    they cannot accept (rules_blueguardian.json, rules_aquafutures.json). E8's
                    futures rule pages did not load (rules_e8futures.json): no hours, contract
                    limits or payout rules were read.

MODEL. eod_lives here, for both firms. Approaches, cells, scenarios, turnover bands, the cut of
the record and the rule of choice are the first declaration's. What is assumed:
  Earn2Trade. The $5,000 'Max Withdrawal' is the most one account ever pays, and the account
    ends there. The page does not say whether it is that or a cap on one request. Request
    'cap': one withdrawal of $5,000 when the balance reaches it. Request 'soon': the loss limit
    stays in the account, and all above it is withdrawn once that reaches the 80% threshold.
    Challenge: four no-edge bets of 29%, 29%, 29% and 13% of the target, because no day may
    reach 30% of the profit, each risking the daily loss limit. A failed attempt costs the reset
    where a price was read (100K, 150K, 200K) and a new month on the 50K.
  Traders Launch. The 1% stays in the account. Request 'soon': withdraw at $500 above it.
    Request 'cap': withdraw at one loss limit above it. The limit is checked against a night's
    worst point, as at the other firms. Its page does not say whether it is. Challenge: three
    bets of 40%, 40%, 20%, one fee an attempt.
  Both. A flat week pays $1.50 for a placeholder trade. $1.50 a round turn for one MNQ.

THE CHOICE. As in the first declaration: on the first half at 2 bp, for each firm and each of
low, medium and any turnover, the cell with the most net a year among cells with a positive net.
Each chosen cell is run once on the second half at the three scenarios.

A BOUND OF THREE, a read after the fact. The first declaration's medium choices used 4.8 to 6.5
funded accounts a year on the second half against a bound of 4. For Flex, Topstep and Take
Profit Trader the first-half cell with the most net at no more than 3 accounts a year is run on
the second half. Those cells' first-half figures are already seen: Topstep $7,939, Flex $4,616,
Take Profit Trader $1,699. The second half has been scored once already, so this is not a
hold-out. For the two firms here the bound of three is chosen and scored with the other bands.

NOT IN THE MODEL. Earn2Trade's Live account, its Trader Career Path, its higher ladder tiers,
the partner firm's and broker's approval. Traders Launch's scaling to 15 minis, its pause at
$100,000 paid, its 60-day limit on a challenge. Any refused payout. Traders Launch's terms call
payouts discretionary.

EXPECTED, written before scoring.
  Traders Launch, low: 1 or 2 MNQ on the 200K or 300K, $1,500 to $3,500 a year on the first half.
  Traders Launch, medium: 3 to 6 MNQ on the 200K or 300K, $4,000 to $9,000.
  Earn2Trade, low: under $1,000. Medium: $1,000 to $3,000 on the 100K with the request 'cap'.
  Earn2Trade nets less than Topstep in every band.
  Each second-half figure is at least half of its first-half figure.
  As a coin flip every low choice nets within $500 of zero.
  Bound of three: second-half accounts a year stay under 4 at Flex and Topstep.

SCORED ONCE. No cell, band, limit or rule is changed after looking.

4. The note trades as days¶

The note trades come from rates_calendar. Every firm here closes positions at the end of its trading day, so the trade is entered again each day and pays its cost each day. rates_calendar paid the cost once, and read $175 and $126 a trade.

In [9]:
NOTE = F.note_check()
print(f"long into month-end      n={NOTE['long_n']:>4}   mean ${NOTE['long_mean']:>6.0f} a trade, one ZN, cost paid each day")
print(f"short before an auction  n={NOTE['short_n']:>4}   mean ${NOTE['short_mean']:>6.0f} a trade")
print(f"one day held             sd ${NOTE['day_sd']:.0f}   worst point ${NOTE['day_worst']:,.0f}   {NOTE['days_a_year']:.0f} days a year")
long into month-end      n= 278   mean $   139 a trade, one ZN, cost paid each day
short before an auction  n= 155   mean $    95 a trade
one day held             sd $423   worst point $-2,673   50 days a year

5. The firms that are run, and the firms that are not¶

A firm is run when a resident of Indonesia can open an account and its rule pages can be read.

In [10]:
RUN = (("FundedNext Flex", "first", "2026-10-09", 5, "plan.lives"), ("Topstep", "first", "2026-10-09", 5, "plan.lives"), ("Take Profit Trader", "first", "2026-10-10", 5, "core.tpt_lives"),
       ("Purdia", "first", "2026-10-10", 3, "plan.purdia_cell"), ("Earn2Trade", "second", "2026-10-11", 3, "core.eod_lives"), ("Traders Launch", "second", "2026-10-11", 5, "core.eod_lives"))
print(f"{'run':<20}{'declaration':<13}{'rules read':<12}{'slots':>6}  simulator")
for name, declaration, read, slots, simulator in RUN:
    print(f"{name:<20}{declaration:<13}{read:<12}{slots:>6}  {simulator}")
print()
for label, file in (("TradeDay", "rules_tradeday.json"), ("Blue Guardian Futures", "rules_blueguardian.json"), ("AquaFunded futures", "rules_aquafutures.json"), ("E8 Markets futures", "rules_e8futures.json")):
    r = json.loads((F.TOPIC / file).read_text())["indonesia"]
    print(f"{'not run: ' + label:<32}Indonesia accepted: {str(r['allowed']):<7}{r['url']}")
print("\nE8: the one list read is the footer of its futures site. Its futures help centre sits behind a Cloudflare check, and no hours, contract limits or payout rules are read.")
run                 declaration  rules read   slots  simulator
FundedNext Flex     first        2026-10-09       5  plan.lives
Topstep             first        2026-10-09       5  plan.lives
Take Profit Trader  first        2026-10-10       5  core.tpt_lives
Purdia              first        2026-10-10       3  plan.purdia_cell
Earn2Trade          second       2026-10-11       3  core.eod_lives
Traders Launch      second       2026-10-11       5  core.eod_lives

not run: TradeDay               Indonesia accepted: False  https://tradeday.freshdesk.com/en/support/solutions/articles/103000123294-prohibited-countries
not run: Blue Guardian Futures  Indonesia accepted: False  https://helpfutures.blueguardian.com/en/articles/15805753-introduction-to-blue-guardian-futures
not run: AquaFunded futures     Indonesia accepted: False  https://intercom.help/aquafutures-help-center/en/articles/15692184-restricted-territories
not run: E8 Markets futures     Indonesia accepted: True   https://e8futures.com/

E8: the one list read is the footer of its futures site. Its futures help centre sits behind a Cloudflare check, and no hours, contract limits or payout rules are read.

6. FundedNext Flex¶

  • Account. The limit follows the end-of-day balance and stops $100 above the start. A reward needs five days of $200 or more, is at most half the balance up to a cap, and pays 95%. The account ends after five rewards.
  • Funded account cost. three bets of 40%, 40% and 20% of the target; one fee, at the price that holds from the third purchase ($79.99 / $149.99 / $289.99). The first two purchases cost $10 to $40 less.
  • Commission. $0.95 a side on MNQ, read from a rate table image in the firm's help article, not from text.
  • Contracts. 30 / 50 / 80 micros on the 50K / 100K / 150K.
  • Products. No rate product is listed, so the note approaches are absent.
In [11]:
tables("FundedNext Flex")
Table A. The choice under each bound
  bound   account position                                                                                  request  first half  acc/yr second half  acc/yr  kept  paid  coin flip    record  declared
  low     150K    1 MNQ above the 200-day average, 2 MNQ on decision nights                                 cap          $2,691    0.59      $3,113    0.87  116%   42%      -$372    $5,649       yes
  three   150K    2 MNQ above the 200-day average, 4 MNQ on decision nights                                 cap          $4,019    2.28      $5,210    2.86  130%   34%      -$779   $10,062        no
  medium  150K    3 MNQ above the 200-day average, 6 MNQ on decision nights                                 cap          $5,212    3.88      $6,386    4.79  123%   29%    -$1,266   $12,399       yes
  any     150K    3 MNQ every night, 6 MNQ on decision nights                                               cap          $6,341    5.72      $5,364    5.99   85%   26%    -$2,289   $12,279       yes

Table B. Each approach on the whole record
  approach          band    account position                                                                                  request   paid   days accounts/yr net/yr 2 bp  coin flip    record
  nights            low     150K    1 MNQ above the 200-day average                                                           cap        41%    527        0.67      $2,298      -$361    $3,853
  nights            medium  150K    2 MNQ every night                                                                         cap        25%     81        3.68      $3,387      -$811    $7,229
  nights            high    150K    3 MNQ every night                                                                         cap        23%     43        5.95      $4,282    -$1,617    $9,032
  fed nights        low     150K    8 MNQ on decision nights                                                                  soon       41%    563        0.63      $2,319      -$157    $2,525
  fed nights        medium  150K    32 MNQ on decision nights                                                                 soon       19%    312        1.11      $1,802    -$1,077    $2,004
  nights and fed    low     150K    1 MNQ above the 200-day average, 2 MNQ on decision nights                                 cap        46%    491        0.72      $3,072      -$273    $4,636
  nights and fed    medium  150K    2 MNQ every night, 4 MNQ on decision nights                                               cap        28%     82        3.66      $4,635      -$998    $8,006
  nights and fed    high    150K    4 MNQ above the 200-day average, 8 MNQ on decision nights                                 cap        24%     43        5.99      $5,747    -$1,657   $10,195

Table C. One funded account
  account   pass rate     cost  cells
  50K           27.2%     $294     68
  100K          23.9%     $626     74
  150K          24.2%   $1,197     74

Expected before scoring, against found
  medium  expected  1 MNQ above the average on the 150K at the cap, $2,000 to $4,000
          found     150K, 3 MNQ above the 200-day average, 6 MNQ on decision nights, cap: $5,212 first half

Figure 1. Every whole-record cell at 2 bp. Look at how far left the cloud stays high. A cloud that only rises to the right earns from ending accounts.

In [12]:
R.frontier("FundedNext Flex", GRIDS["FundedNext Flex"])
No description has been provided for this image

Figure 2. Six accounts of the choice under the bound of three, on the second half at 2 bp. The line is the balance, the dashed line the balance that ends the account, a dot a withdrawal. Look for accounts that end before a first withdrawal.

In [13]:
R.account_paths("FundedNext Flex", PICKS["FundedNext Flex"])
No description has been provided for this image

7. Topstep¶

  • Account. The limit follows the end-of-day balance and stops at the start. A payout needs five days of $150 or more, is at most half the balance up to a cap, and pays 90% less $30.
  • Funded account cost. three bets of 40%, 40% and 20%; a monthly fee, a reset for each failed attempt, $149 to activate.
  • Contracts. 20 / 30 / 30 micros, the Scaling Plan's first tier, so at most 2 or 3 ZN.
  • Products. ZN is listed.
In [14]:
tables("Topstep")
Table A. The choice under each bound
  bound   account position                                                                                  request  first half  acc/yr second half  acc/yr  kept  paid  coin flip    record  declared
  low     150K    3 ZN, month-end                                                                           cap          $4,750    0.66      $3,176    0.47   67%   42%       $557    $3,176       yes
  three   150K    2 MNQ every night, 4 MNQ on decision nights, 2 ZN, month-end and auction                  cap          $7,715    2.39     $11,473    3.93  149%   28%       -$12   $17,613        no
  medium  100K    2 MNQ above the 200-day average, 4 MNQ on decision nights, 2 ZN, month-end and auction    cap          $8,206    3.94     $10,924    5.90  133%   29%     $1,803   $16,074       yes
  any     150K    12 MNQ every night, 24 MNQ on decision nights                                             cap         $19,039    9.88     $16,783   11.11   88%   16%     $5,215   $34,813       yes

Table B. Each approach on the whole record
  approach          band    account position                                                                                  request   paid   days accounts/yr net/yr 2 bp  coin flip    record
  nights            low     150K    1 MNQ above the 200-day average                                                           cap        45%    956        0.38      $2,786        $90    $4,549
  nights            medium  150K    3 MNQ above the 200-day average                                                           cap        27%    100        3.10      $6,898       $528   $10,485
  nights            high    150K    12 MNQ every night                                                                        soon       19%     16       10.65     $18,157     $5,323   $26,112
  fed nights        low     150K    8 MNQ on decision nights                                                                  soon       48%   1007        0.36      $3,340       $380    $3,524
  nights and fed    low     150K    1 MNQ above the 200-day average, 2 MNQ on decision nights                                 cap        50%    910        0.39      $3,622       $184    $5,461
  nights and fed    medium  150K    3 MNQ above the 200-day average, 6 MNQ on decision nights                                 cap        28%     92        3.31      $8,441       $666   $13,389
  nights and fed    high    150K    12 MNQ above the 200-day average, 24 MNQ on decision nights                               soon       23%     42        6.08     $24,340     $7,655   $32,683
  month-end note    low     150K    3 ZN, month-end                                                                           cap        40%    657        0.54      $3,932       $894    $3,932
  month-end note    medium  100K    3 ZN, month-end                                                                           soon       50%    236        1.44      $3,931     $1,503    $3,931
  both note trades  low     150K    2 ZN, month-end and auction                                                               cap        40%    578        0.61      $3,797       $201    $3,797
  both note trades  medium  150K    3 ZN, month-end and auction                                                               cap        30%    210        1.60      $5,177       $240    $5,177
  both note trades  high    50K     2 ZN, month-end and auction                                                               soon       49%     76        4.04      $3,664     $1,158    $3,664
  everything        low     150K    1 MNQ above the 200-day average, 2 MNQ on decision nights, 1 ZN, month-end and auction    cap        48%    564        0.63      $5,680        $48    $8,539
  everything        medium  150K    2 MNQ above the 200-day average, 4 MNQ on decision nights, 2 ZN, month-end and auction    cap        33%    123        2.60      $9,227        $38   $14,335
  everything        high    150K    4 MNQ above the 200-day average, 8 MNQ on decision nights, 2 ZN, month-end and auction    cap        27%     51        5.33     $13,394       $891   $21,262

Table C. One funded account
  account   pass rate     cost  cells
  50K           30.5%     $310     84
  100K          24.3%     $556    104
  150K          24.4%     $963    104

Expected before scoring, against found
  low     expected  decision nights alone or one ZN, $1,000 to $3,000
          found     150K, 3 ZN, month-end, cap: $4,750 first half
  medium  expected  a note or everything cell on the 100K or 150K at the cap, $5,000 to $9,000
          found     100K, 2 MNQ above the 200-day average, 4 MNQ on decision nights, 2 ZN, month-end and auction, cap: $8,206 first half

Figure 1. Every whole-record cell at 2 bp. Look at how far left the cloud stays high. A cloud that only rises to the right earns from ending accounts.

In [15]:
R.frontier("Topstep", GRIDS["Topstep"])
No description has been provided for this image

Figure 2. Six accounts of the choice under the bound of three, on the second half at 2 bp. The line is the balance, the dashed line the balance that ends the account, a dot a withdrawal. Look for accounts that end before a first withdrawal.

In [16]:
R.account_paths("Topstep", PICKS["Topstep"])
No description has been provided for this image

8. Take Profit Trader¶

  • Account. The limit follows the highest point inside the day, open profit included, and stops at the start. Whether a night's high or low comes first is a coin flip. Withdrawals come from the balance above a $2,000 buffer at 80%.
  • Funded account cost. three bets of 40%, 40% and 20%; a monthly fee, a reset for each failed attempt, $130 to activate.
  • Contracts. 60 micros on the 50K, the one size whose price is read.
  • Products. MNQ and ZN are listed. Automated orders are banned, so this firm is traded by hand.
In [17]:
tables("Take Profit Trader")
Table A. The choice under each bound
  bound   account position                                                                                  request  first half  acc/yr second half  acc/yr  kept  paid  coin flip    record  declared
  low     50K     1 ZN, month-end                                                                           cap          $1,280    0.50        $780    0.38   61%   43%       -$26      $780       yes
  three   50K     4 MNQ on decision nights                                                                  cap          $1,692    1.84      $2,112    1.15  125%   27%      -$152    $2,559        no
  medium  50K     1 MNQ above the 200-day average, 2 MNQ on decision nights, 1 ZN, month-end and auction    cap          $2,754    3.48      $4,023    5.26  146%   27%    -$1,367    $6,893       yes
  any     50K     32 MNQ on decision nights                                                                 cap          $9,483    7.21      $2,978    7.48   31%    8%       $252    $3,156       yes

Table B. Each approach on the whole record
  approach          band    account position                                                                                  request   paid   days accounts/yr net/yr 2 bp  coin flip    record
  nights            medium  50K     1 MNQ above the 200-day average                                                           cap        25%    125        2.62      $1,395      -$609    $2,905
  nights            high    50K     16 MNQ above the 200-day average                                                          soon       13%      7       17.26      $2,948     $1,219    $3,894
  fed nights        low     50K     2 MNQ on decision nights                                                                  cap        38%    743        0.48      $1,133      -$178    $1,272
  fed nights        medium  50K     8 MNQ on decision nights                                                                  cap        17%     84        3.70      $2,460       $131    $2,683
  fed nights        high    50K     32 MNQ on decision nights                                                                 cap        11%     36        7.31      $6,809     $2,845    $6,876
  nights and fed    medium  50K     1 MNQ above the 200-day average, 2 MNQ on decision nights                                 cap        26%    109        2.97      $1,820      -$760    $3,512
  nights and fed    high    50K     16 MNQ above the 200-day average, 32 MNQ on decision nights                               soon       12%      6       17.71      $3,561     $1,839    $4,122
  month-end note    low     50K     1 ZN, month-end                                                                           cap        44%    803        0.45        $998         $2      $998
  month-end note    medium  50K     2 ZN, month-end                                                                           cap        26%    151        2.20      $1,622      -$321    $1,622
  month-end note    high    50K     3 ZN, month-end                                                                           cap        18%     67        4.47      $1,160    -$1,299    $1,160
  both note trades  medium  50K     1 ZN, month-end and auction                                                               cap        33%    280        1.24      $1,247      -$391    $1,247
  both note trades  high    50K     2 ZN, month-end and auction                                                               cap        20%     62        4.78      $1,321    -$1,152    $1,321
  everything        high    50K     1 MNQ above the 200-day average, 2 MNQ on decision nights, 1 ZN, month-end and auction    cap        25%     63        4.75      $2,369    -$1,702    $4,752

Table C. One funded account
  account   pass rate     cost  cells
  50K           30.4%     $527    114

Expected before scoring, against found
  low     expected  about $1,000
          found     50K, 1 ZN, month-end, cap: $1,280 first half
  medium  expected  at most $2,500
          found     50K, 1 MNQ above the 200-day average, 2 MNQ on decision nights, 1 ZN, month-end and auction, cap: $2,754 first half

Figure 1. Every whole-record cell at 2 bp. Look at how far left the cloud stays high. A cloud that only rises to the right earns from ending accounts.

In [18]:
R.frontier("Take Profit Trader", GRIDS["Take Profit Trader"])
No description has been provided for this image

Figure 2. Six accounts of the choice under the bound of three, on the second half at 2 bp. The line is the balance, the dashed line the balance that ends the account, a dot a withdrawal. Look for accounts that end before a first withdrawal.

In [19]:
R.account_paths("Take Profit Trader", PICKS["Take Profit Trader"])
No description has been provided for this image

9. Purdia¶

  • Account. Two stages end in one prize, so a cell has no request, and paid is the share of second-stage accounts that reach the prize. The drawdown follows the end-of-day balance.
  • Funded account cost. a monthly subscription that renews until the evaluation is passed and then stops, a reset for each failed attempt, $130 to activate. The price of the second month and after is on no page, and the first month's price is used for every month. The evaluation is simulated at the cell's own position, not as three bets.
  • Contracts. 50 / 100 micros on the 50K / 100K.
  • Products. No rate product is listed, so the note approaches are absent.
In [20]:
tables("Purdia")
Table A. The choice under each bound
  no cell nets above zero on the first half at 2 bp, so there is no choice under any bound

Table B. Each approach on the whole record
  approach          band    account position                                                                                  request   paid   days accounts/yr net/yr 2 bp  coin flip    record
  no cell nets above zero on the whole record at 2 bp

Table C. One funded account
  account   pass rate     cost  cells
  50K           29.1%     $676     37
  100K          20.8%   $1,555     37

Expected before scoring, against found
  low     expected  under $1,500
          found     no cell with a positive net
  medium  expected  under $1,500
          found     no cell with a positive net

Figure 1. Every whole-record cell at 2 bp. Look at how far left the cloud stays high. A cloud that only rises to the right earns from ending accounts.

In [21]:
R.frontier("Purdia", GRIDS["Purdia"])
No description has been provided for this image

Figure 2. Six accounts of the choice under the bound of three, on the second half at 2 bp. The line is the balance, the dashed line the balance that ends the account, a dot a withdrawal. Look for accounts that end before a first withdrawal.

In [22]:
R.account_paths("Purdia", PICKS["Purdia"])
Purdia: no choice under any bound, so no figure is drawn.

10. Earn2Trade¶

  • Account. The limit follows the highest close and stops at the start. A night that loses the daily loss limit ends the account. One account pays at most $5,000 of profit in its life, at 80% for a withdrawal at or above a threshold and 50% under it. cap takes all of it in one withdrawal.
  • Funded account cost. four bets of 29%, 29%, 29% and 13%, because no day may reach 30% of the profit; a monthly fee, a reset for each failed attempt, $139 from the first withdrawal.
  • Contracts. 20 / 30 / 40 / 50 micros on the 50K / 100K / 150K / 200K.
  • Products. ZN is in the commission chart.
  • Commission. The page gives micros at $0.82 to $1.08 a side and no figure for MNQ. $1.08 is used. ZN is $1.46 a side on Rithmic.
In [23]:
tables("Earn2Trade")
Table A. The choice under each bound
  bound   account position                                                                                  request  first half  acc/yr second half  acc/yr  kept  paid  coin flip    record  declared
  low     200K    1 MNQ above the 200-day average                                                           cap          $1,218    0.85      $1,409    1.33  116%   66%      -$113    $2,705       yes
  three   200K    1 MNQ every night, 2 MNQ on decision nights, 1 ZN, month-end and auction                  cap          $2,071    2.04      $2,059    2.67   99%   58%      -$588    $3,670       yes
  medium  200K    2 MNQ every night, 4 MNQ on decision nights, 1 ZN, month-end and auction                  cap          $3,708    3.82      $3,513    5.08   95%   56%      -$191    $5,369       yes
  any     200K    4 MNQ every night, 8 MNQ on decision nights, 1 ZN, month-end and auction                  cap          $4,330    6.45      $1,080    8.48   25%   42%    -$2,520    $3,849       yes

Table B. Each approach on the whole record
  approach          band    account position                                                                                  request   paid   days accounts/yr net/yr 2 bp  coin flip    record
  nights            low     200K    1 MNQ above the 200-day average                                                           soon       53%    564        0.61        $346      -$592      $798
  nights            medium  200K    2 MNQ every night                                                                         cap        51%     62        3.96      $2,024        $44    $3,493
  nights            high    200K    3 MNQ above the 200-day average                                                           cap        50%     57        4.17      $1,925      -$431    $3,200
  fed nights        low     200K    4 MNQ on decision nights                                                                  cap        66%    341        0.98      $1,043      -$189    $1,144
  fed nights        medium  200K    8 MNQ on decision nights                                                                  cap        55%    150        2.02      $1,297      -$747    $1,494
  fed nights        high    100K    16 MNQ on decision nights                                                                 cap        29%     50        4.26        $415    -$1,987      $662
  nights and fed    low     200K    1 MNQ above the 200-day average, 2 MNQ on decision nights                                 soon       56%    477        0.72        $488      -$649      $932
  nights and fed    medium  200K    2 MNQ above the 200-day average, 4 MNQ on decision nights                                 cap        58%     85        3.16      $2,418      -$377    $3,502
  nights and fed    high    200K    2 MNQ every night, 4 MNQ on decision nights                                               cap        55%     59        4.11      $2,610       -$31    $4,184
  month-end note    low     200K    2 ZN, month-end                                                                           cap        74%    387        0.87      $1,210       $165    $1,210
  month-end note    medium  200K    3 ZN, month-end                                                                           cap        66%    207        1.54      $1,657       $204    $1,657
  both note trades  low     200K    1 ZN, month-end and auction                                                               cap        87%    625        0.56      $1,043       -$20    $1,043
  both note trades  medium  200K    3 ZN, month-end and auction                                                               cap        57%    101        2.77      $2,022      -$134    $2,022
  both note trades  high    200K    5 ZN, month-end and auction                                                               cap        51%     42        5.04      $2,559      -$714    $2,559
  everything        medium  200K    2 MNQ above the 200-day average, 4 MNQ on decision nights, 1 ZN, month-end and auction    cap        62%     64        3.86      $3,512       $267    $5,218
  everything        high    200K    2 MNQ above the 200-day average, 4 MNQ on decision nights, 2 ZN, month-end and auction    cap        60%     54        4.32      $3,670        $48    $5,613

Table C. One funded account
  account   pass rate     cost  cells
  50K           11.7%   $1,459     84
  100K          12.2%   $1,032    104
  150K          12.4%   $1,290    110
  200K          14.4%   $1,475    114

Expected before scoring, against found
  low     expected  under $1,000
          found     200K, 1 MNQ above the 200-day average, cap: $1,218 first half
  medium  expected  $1,000 to $3,000 on the 100K with the request cap
          found     200K, 2 MNQ every night, 4 MNQ on decision nights, 1 ZN, month-end and auction, cap: $3,708 first half

Figure 1. Every whole-record cell at 2 bp. Look at how far left the cloud stays high. A cloud that only rises to the right earns from ending accounts.

In [24]:
R.frontier("Earn2Trade", GRIDS["Earn2Trade"])
No description has been provided for this image

Figure 2. Six accounts of the choice under the bound of three, on the second half at 2 bp. The line is the balance, the dashed line the balance that ends the account, a dot a withdrawal. Look for accounts that end before a first withdrawal.

In [25]:
R.account_paths("Earn2Trade", PICKS["Earn2Trade"])
No description has been provided for this image

11. Traders Launch¶

  • Account. The limit follows the highest close and stops at the start, and is checked against a night's worst point. A payout needs the balance 1% above the start, has no cap, and pays 80%. soon withdraws at $500 above the 1%, cap at one loss limit above it.
  • Funded account cost. three bets of 40%, 40% and 20%; one fee, no activation.
  • Contracts. 20 / 40 / 60 micros on the 100K / 200K / 300K.
  • Products. No Treasury future is listed, so the note approaches are absent.
  • Buying again. The terms say a trader who fails the funded stage "may be ineligible to reapply unless expressly stated otherwise". No other page settles it. Every row here replaces an ended account with a new one, so every row is an upper case under that clause.
In [26]:
tables("Traders Launch")
Table A. The choice under each bound
  bound   account position                                                                                  request  first half  acc/yr second half  acc/yr  kept  paid  coin flip    record  declared
  low     300K    4 MNQ on decision nights                                                                  cap          $1,014    0.79      $1,842    0.41  182%   52%    -$1,277    $2,308       yes
  three   300K    16 MNQ on decision nights                                                                 cap          $5,008    2.90      $5,201    2.81  104%   34%    -$2,051    $5,055       yes
  medium  200K    16 MNQ on decision nights                                                                 soon         $7,820    3.73      $6,460    3.86   83%   35%     $1,635    $7,562       yes
  any     200K    32 MNQ on decision nights                                                                 cap         $11,886    5.60      $5,647    5.82   48%   17%      -$272    $5,757       yes

Table B. Each approach on the whole record
  approach          band    account position                                                                                  request   paid   days accounts/yr net/yr 2 bp  coin flip    record
  nights            medium  300K    1 MNQ above the 200-day average                                                           cap        36%    315        1.10        $278    -$3,309    $2,291
  nights            high    100K    16 MNQ every night                                                                        soon       19%      2       18.06      $5,509     $4,413    $5,486
  fed nights        low     300K    4 MNQ on decision nights                                                                  cap        48%    617        0.58      $1,561    -$1,476    $1,853
  fed nights        medium  200K    16 MNQ on decision nights                                                                 soon       36%     76        3.87      $6,943     $1,726    $7,596
  fed nights        high    200K    32 MNQ on decision nights                                                                 cap        20%     45        5.77      $8,034     $2,649    $8,672
  nights and fed    medium  300K    1 MNQ above the 200-day average, 2 MNQ on decision nights                                 cap        40%    298        1.16        $910    -$3,519    $2,920
  nights and fed    high    200K    16 MNQ every night, 32 MNQ on decision nights                                             soon       26%      2       18.01      $3,704     $1,585    $5,529

Table C. One funded account
  account   pass rate     cost  cells
  100K          23.7%     $670     64
  200K          24.2%   $1,235     74
  300K          24.4%   $2,458     74

Expected before scoring, against found
  low     expected  1 or 2 MNQ on the 200K or 300K, $1,500 to $3,500
          found     300K, 4 MNQ on decision nights, cap: $1,014 first half
  medium  expected  3 to 6 MNQ on the 200K or 300K, $4,000 to $9,000
          found     200K, 16 MNQ on decision nights, soon: $7,820 first half

Figure 1. Every whole-record cell at 2 bp. Look at how far left the cloud stays high. A cloud that only rises to the right earns from ending accounts.

In [27]:
R.frontier("Traders Launch", GRIDS["Traders Launch"])
No description has been provided for this image

Figure 2. Six accounts of the choice under the bound of three, on the second half at 2 bp. The line is the balance, the dashed line the balance that ends the account, a dot a withdrawal. Look for accounts that end before a first withdrawal.

In [28]:
R.account_paths("Traders Launch", PICKS["Traders Launch"])
No description has been provided for this image

12. Expectations across firms¶

The declarations also state four expectations that span firms.

In [29]:
low = {n: r[r.band == "low"] for n, r in READS.items()}
print("expected  every low choice within $500 of zero as a coin flip")
print("found     " + ",  ".join(f"{n} {R.money(x['test coin'].iloc[0])}" for n, x in low.items() if len(x)))
print("\nexpected  Earn2Trade nets less than Topstep under every bound, on the second half")
for b, _ in F.BOUNDS:
    e, t = (READS[n][READS[n].band == b] for n in ("Earn2Trade", "Topstep"))
    show = lambda x: R.money(x['test 2 bp'].iloc[0]) if len(x) else "no choice"
    print(f"found     {b:<7} Earn2Trade {show(e)}   Topstep {show(t)}")
print("\nexpected  Earn2Trade and Traders Launch: each second-half figure at least half of its first-half figure")
print("found     " + ",  ".join(f"{n} {x.band} {x['test 2 bp'] / x.train_net_year:.0%}" for n in F.LATER for _, x in READS[n].iterrows()))
print("\nexpected  the bound of three uses under 4 accounts a year on the second half at Flex and Topstep")
print("found     " + ",  ".join(f"{n} {r[r.band == 'three'].test_accounts_year.iloc[0]:.2f}" for n, r in READS.items() if len(r) and (r.band == "three").any()))
expected  every low choice within $500 of zero as a coin flip
found     FundedNext Flex -$372,  Topstep $557,  Take Profit Trader -$26,  Earn2Trade -$113,  Traders Launch -$1,277

expected  Earn2Trade nets less than Topstep under every bound, on the second half
found     low     Earn2Trade $1,409   Topstep $3,176
found     three   Earn2Trade $2,059   Topstep $11,473
found     medium  Earn2Trade $3,513   Topstep $10,924
found     any     Earn2Trade $1,080   Topstep $16,783

expected  Earn2Trade and Traders Launch: each second-half figure at least half of its first-half figure
found     Earn2Trade low 116%,  Earn2Trade three 99%,  Earn2Trade medium 95%,  Earn2Trade any 25%,  Traders Launch low 182%,  Traders Launch three 104%,  Traders Launch medium 83%,  Traders Launch any 48%

expected  the bound of three uses under 4 accounts a year on the second half at Flex and Topstep
found     FundedNext Flex 2.86,  Topstep 3.93,  Take Profit Trader 1.15,  Earn2Trade 2.67,  Traders Launch 2.81

13. Corrected inputs (2026-10-11)¶

Six reviewers, one a firm, checked the papers against the rule files and the simulators. They worked 34 short accounts by hand and the simulators matched 31. The inputs below were wrong or unread, and are corrected in this run. published_09ad177.json holds Table A as published in research 09ad177, and the cell prints it beside Table A now.

input published now
Federal Reserve decision list 210 days, without 2024-01-31 and 2026-07-29 212 days, with a count for each year beside the scheduled count
FundedNext Flex challenge price the discounted price for every purchase the price from the third purchase
MNQ commission, a round trip $1.00 at every firm $1.90 Flex, $1.22 Topstep, $1.50 Take Profit Trader, $2.16 Earn2Trade, $1.00 Traders Launch
ZN commission, a round trip $1.60 at every firm $2.62 Topstep, $4.50 Take Profit Trader, $2.92 Earn2Trade
Purdia MNQ cost $1.82 and no spread $1.82 and one tick
Purdia subscription charged once charged each month until the evaluation is passed
financing in the record column none the federal funds rate of each night
cache files named by firm and account count named also by a hash of the rule files, the decision list and the code

The 2 bp scenario, the modelled lows and the choice of bounds are as published. Table A's last column is declared in place of held out.

In [30]:
PUBLISHED = json.loads((F.TOPIC / "published_09ad177.json").read_text())
R.corrections(READS, PUBLISHED)
firm               bound   published choice                                               2nd half    coin   choice now                                                     2nd half    coin acc/yr
FundedNext Flex    low     150K, 1 MNQ above the 200-day average, 2 MNQ on decision nig     $3,469     $53   150K, 1 MNQ above the 200-day average, 2 MNQ on decision nig     $3,113   -$372   0.87
FundedNext Flex    three   150K, 2 MNQ above the 200-day average, 4 MNQ on decision nig     $6,083    $133   150K, 2 MNQ above the 200-day average, 4 MNQ on decision nig     $5,210   -$779   2.86
FundedNext Flex    medium  150K, 3 MNQ above the 200-day average, 6 MNQ on decision nig     $7,736    -$21   150K, 3 MNQ above the 200-day average, 6 MNQ on decision nig     $6,386 -$1,266   4.79
FundedNext Flex    any     150K, 3 MNQ every night, 6 MNQ on decision nights                $6,856   -$720   150K, 3 MNQ every night, 6 MNQ on decision nights                $5,364 -$2,289   5.99
Topstep            low     150K, 3 ZN, month-end                                            $3,286    $566   150K, 3 ZN, month-end                                            $3,176    $557   0.47
Topstep            three   150K, 2 MNQ every night, 4 MNQ on decision nights, 2 ZN, mon    $12,240    $405   150K, 2 MNQ every night, 4 MNQ on decision nights, 2 ZN, mon    $11,473    -$12   3.93
Topstep            medium  100K, 2 MNQ above the 200-day average, 4 MNQ on decision nig    $11,957  $2,420   100K, 2 MNQ above the 200-day average, 4 MNQ on decision nig    $10,924  $1,803   5.90
Topstep            any     150K, 12 MNQ above the 200-day average, 24 MNQ on decision n    $21,785  $7,701   150K, 12 MNQ every night, 24 MNQ on decision nights             $16,783  $5,215  11.11
Take Profit Trader low     50K, 1 ZN, month-end                                               $850     $17   50K, 1 ZN, month-end                                               $780    -$26   0.38
Take Profit Trader three   50K, 4 MNQ on decision nights                                    $2,366   -$104   50K, 4 MNQ on decision nights                                    $2,112   -$152   1.15
Take Profit Trader medium  50K, 1 MNQ every night, 2 MNQ on decision nights, 1 ZN, mont     $3,279 -$2,055   50K, 1 MNQ above the 200-day average, 2 MNQ on decision nigh     $4,023 -$1,367   5.26
Take Profit Trader any     50K, 32 MNQ on decision nights                                   $3,143    $263   50K, 32 MNQ on decision nights                                   $2,978    $252   7.48
Purdia             low     100K, 1 MNQ every night, 2 MNQ on decision nights                  $530   -$209   no cell nets above zero on the first half
Purdia             three   50K, 1 MNQ every night, 2 MNQ on decision nights                   $657   -$276   no cell nets above zero on the first half
Purdia             medium  50K, 1 MNQ every night, 2 MNQ on decision nights                   $657   -$276   no cell nets above zero on the first half
Purdia             any     50K, 1 MNQ every night, 2 MNQ on decision nights                   $657   -$276   no cell nets above zero on the first half
Earn2Trade         low     200K, 1 MNQ above the 200-day average                            $1,543      $0   200K, 1 MNQ above the 200-day average                            $1,409   -$113   1.33
Earn2Trade         three   200K, 1 MNQ every night, 2 MNQ on decision nights, 1 ZN, mon     $2,249   -$396   200K, 1 MNQ every night, 2 MNQ on decision nights, 1 ZN, mon     $2,059   -$588   2.67
Earn2Trade         medium  200K, 2 MNQ every night, 4 MNQ on decision nights, 1 ZN, mon     $3,934    $326   200K, 2 MNQ every night, 4 MNQ on decision nights, 1 ZN, mon     $3,513   -$191   5.08
Earn2Trade         any     200K, 4 MNQ every night, 8 MNQ on decision nights, 1 ZN, mon     $1,573 -$2,364   200K, 4 MNQ every night, 8 MNQ on decision nights, 1 ZN, mon     $1,080 -$2,520   8.48
Traders Launch     low     300K, 4 MNQ on decision nights                                   $2,159 -$1,202   300K, 4 MNQ on decision nights                                   $1,842 -$1,277   0.41
Traders Launch     three   300K, 16 MNQ on decision nights                                  $5,552 -$2,235   300K, 16 MNQ on decision nights                                  $5,201 -$2,051   2.81
Traders Launch     medium  200K, 16 MNQ on decision nights                                  $6,499  $1,443   200K, 16 MNQ on decision nights                                  $6,460  $1,635   3.86
Traders Launch     any     200K, 32 MNQ on decision nights                                  $5,506   -$407   200K, 32 MNQ on decision nights                                  $5,647   -$272   5.82
In [31]:
OUT = dict(note=NOTE, picks=PICKS, slugs=R.SLUGS, drawn={n: R.drawn(p) for n, p in PICKS.items()},
           reads={n: json.loads(r.to_json(orient="records")) for n, r in READS.items()},
           sizes={n: json.loads(F.sizes(g).to_json(orient="records")) for n, g in GRIDS.items()},
           approaches={n: json.loads(F.by_approach(g).to_json(orient="records")) for n, g in GRIDS.items()},
           cells={n: json.loads(F.wide(g).to_json(orient="records")) for n, g in GRIDS.items()})
(F.TOPIC / "results.json").write_text(json.dumps(OUT, indent=1, default=float))
print("results.json written:", {n: len(c) for n, c in OUT["cells"].items()})
results.json written: {'FundedNext Flex': 216, 'Topstep': 292, 'Take Profit Trader': 114, 'Purdia': 74, 'Earn2Trade': 412, 'Traders Launch': 212}

What this doesn't show¶

  • A refused payout. Every firm keeps the right to refuse an account or a payout. None is modelled.
  • Five slots at once. All slots hold the same trade, so a bad night reaches all of them. The mean a slot is unchanged. The spread of a year's total is wider than separate accounts would give.
  • The note trade inside the day. A daily bar has no path. The note's worst point and the night's are added as if they came together, and the two hours between a firm's close and the reopen are not seen.
  • Topstep beyond its first tier. The Scaling Plan lets a larger position on after profit. The call-up to a live account closes every Express Funded Account. Neither is modelled.
  • Take Profit Trader's news rule. The position must be flat one minute around payrolls and CPI at 08:30 New York. The model holds through. Its other account sizes are not run. A night's high is attached from the futures ledger, not observed.
  • Purdia's account path. The two-stage simulator keeps no path, so Purdia has no Figure 2.
  • Earn2Trade after the maximum. The firm's page gives a $5,000 "LiveSim Max Withdrawal" and does not say what it bounds. Three review sites read it as the account's total: $4,000 paid, then a move to a Live account. The model ends the account there. The $50 fee on each withdrawal outside the United States is not in the model.
  • Traders Launch inside the day. Its page does not say whether the limit is checked inside the day. The model checks it against a night's worst point. Its terms call payouts discretionary.
  • The selected effects at a lower size. 2 bp lowers the plain index night only. The 200-day rule, the decision night and the note trades enter at the size the record measured. No scenario here sets each to the lower end of its own interval.
  • A held-out half. Every cell was scored on the whole record before the halves were cut.
  • A night's path. Every low inside a night is drawn from 654 futures nights of 2024 to 2026. The nights of 2000 to 2002 and 2008 may have run deeper than any of those.
  • The auction short as declared. rates_calendar declared one statistic for the auction and scored t 2.27. The short traded here is one of its three legs, read at t 3.54 after the three were seen.
  • Purdia's renewal price, and FundedNext's commission as text. The first is on no page. The second is read from an image.
  • Take Profit Trader's news rule on the note trades, and exchange fees on top of its commissions. Neither is in the model.
  • The firms' pages today. Each rules file carries the date it was read. Nothing here re-reads them.
  • A test. This is a read. Nothing here has a t-statistic.

Verification. jupyter nbconvert --execute on this notebook, clean, 2026-10-11. Grids are cached in reports/_cache/firm_plans/.