Report each account's future payout chain with closed-form reach probabilities
projectPerfectPath prices every projected withdrawal as min(withdrawalPct × equity profit, cap) × profit split, and tracks the cumulative probability of reaching it under the fair-walk ruin model — room/(room + dayTarget) per day (the per-leg product telescopes), trailing threshold locked at breakeven after the first withdrawal, no obfuscation branches. The reporter attaches the first 6 payouts per account so the master's payout calendar renders real amounts and probabilities instead of one static expectedPayout. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
50a5eb4713
commit
52d51afebb
+27
-2
@@ -47,6 +47,16 @@ export interface AccountTypeStats {
|
||||
* after the 5 PM CT roll a day booked on tomorrow's trade date is
|
||||
* already counted in `days`. */
|
||||
lastDay?: string;
|
||||
/** This account's projected payout chain on the perfect path: one
|
||||
* entry per future withdrawal, with the gross amount
|
||||
* (min(withdrawalPct × balance, cap)), the net received
|
||||
* (gross × profitSplit), and prob = the CUMULATIVE probability of
|
||||
* reaching that payout under the fair-walk ruin model. Optional so
|
||||
* an older master simply ignores it. */
|
||||
futurePayouts?: {
|
||||
date: string; gross: number; net: number; prob: number;
|
||||
stage: number; drain?: boolean;
|
||||
}[];
|
||||
}[];
|
||||
}
|
||||
|
||||
@@ -131,8 +141,23 @@ export interface CatalogAccountType {
|
||||
/** Per-stage config after the Nth withdrawal; the last stage repeats.
|
||||
* drain=true marks a spam-withdraw stage: no profit target — book
|
||||
* minTradingDays qualifying days of ~minDayPnL (default $5, randomized
|
||||
* $5–$15, traded as tiny MNQ legs), then wait for the next withdrawal. */
|
||||
withdrawalStages: { profit: number; consistency: number; minTradingDays: number; drain?: boolean; minDayPnL?: number }[];
|
||||
* $5–$15, traded as tiny MNQ legs), then wait for the next withdrawal.
|
||||
* withdrawalPct/payoutCap override the type's payout defaults per stage. */
|
||||
withdrawalStages: { profit: number; consistency: number; minTradingDays: number; drain?: boolean; minDayPnL?: number; withdrawalPct?: number; payoutCap?: number }[];
|
||||
/** Payout-projection settings, owned by the master's payout calendar but
|
||||
* consumed here to compute each account's future payout chain. Optional:
|
||||
* an older master doesn't send them. */
|
||||
payoutable?: boolean;
|
||||
/** Trailing drawdown in dollars for ruin-model probabilities. 0 = unset. */
|
||||
trailingDrawdown?: number;
|
||||
/** Legacy static payout estimate — superseded by the computed chain. */
|
||||
expectedPayout?: number;
|
||||
/** Share of the balance withdrawn when a cycle completes (default 0.5). */
|
||||
withdrawalPct?: number;
|
||||
/** Cap on the gross withdrawal in dollars. 0 = no cap. */
|
||||
payoutCap?: number;
|
||||
/** Share of the gross the person actually receives (default 0.9). */
|
||||
profitSplit?: number;
|
||||
/** ISO. Ties between two matching account types are broken by this. */
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user