{
  "name": "How much to risk per trade: the position size that maximizes the probability of passing an evaluation",
  "description": "A seeded Monte Carlo study of how risk-per-trade changes the probability of passing a proprietary-trading evaluation, and how the reason failures happen flips from running out of time to breaching the drawdown. Synthetic archetype; every figure model-derived and reproducible.",
  "url": "https://propsurvival.com/articles/how-much-to-risk-per-trade",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "citation": "PropSurvival — How much to risk per trade (seeded Monte Carlo study), 2026-08-10. https://propsurvival.com/articles/how-much-to-risk-per-trade",
  "datePublished": "2026-08-10",
  "dateModified": "2026-08-10",
  "_generated_by": "tools/build-how-much-to-risk-per-trade.js",
  "_reproduce": "node tools/build-how-much-to-risk-per-trade.js",
  "_subject_is_synthetic": true,
  "method": {
    "engine": "src/lib/state-conditional-mc.js simulateFromState — the same Monte Carlo kernel the PropSurvival app runs — driven through src/lib/case-file-sections.js safeRisk (the app Rule-Fit sweep).",
    "subject": "A synthetic evaluation archetype. NOT any named firm. No pass rate here is a claim about a real firm’s business.",
    "prng": {
      "algorithm": "xoshiro128** (PSBoot rngFor)",
      "seedBase": 20260810,
      "seedFormula": "seedBase + levelIndex * 7919 (each risk level independently seeded)"
    },
    "pathsPerLevel": 40000,
    "riskSweep": {
      "minPct": 0.1,
      "maxPct": 2.5,
      "stepPct": 0.1,
      "levels": 25
    },
    "tradeModel": "Each day: Poisson(mean 4) trades. Each trade wins with probability 0.5 for +1.2R or loses for −1R, minus 0.05R cost. Equity compounds; one R = the risk-per-trade percentage of current balance.",
    "evidenceClass": "Model-derived result with disclosed assumptions. Not an empirical fact about the real world.",
    "validation": {
      "directionalInvariants": 9,
      "reconciliationsExact": 36,
      "note": "The engine passes its directional invariants (tests/engine.invariants.test.js: a trailing floor is never easier than a static one, the regimes differ by a measurable margin, results are seed-deterministic and bounded) and reconciles exactly against hand-derived worked examples (tests/rules-reconciliation.test.js), including intraday-trailing, end-of-day-trailing, static-floor and trailing-lockout breach cases."
    }
  },
  "referenceProfile": {
    "balance": 50000,
    "winRatePct": 50,
    "avgWinR": 1.2,
    "avgLossR": 1,
    "costR": 0.05,
    "tradesPerDay": 4,
    "expectancyRPerTrade": 0.05
  },
  "archetype": {
    "profitTargetPct": 8,
    "maxDrawdownPct": 6,
    "dailyLossCap": null,
    "minTradingDays": 1,
    "maxTradingDays": 20,
    "variants": {
      "trailing": "The drawdown floor trails the intraday high-water mark (it rises as the account rises, and never falls).",
      "static": "The drawdown floor is fixed at the starting balance for the whole evaluation."
    }
  },
  "results": {
    "trailing": {
      "ddMode": "trail_intraday",
      "optimalRiskPct": 1.1,
      "peakPassPct": 36.1,
      "peakSePct": 0.24,
      "peakSeDisplayPct": 0.2,
      "crossoverRiskLoPct": 0.5,
      "crossoverRiskHiPct": 0.6,
      "curve": [
        {
          "riskPct": 0.1,
          "passPct": 0,
          "sePct": 0,
          "timeoutPct": 100,
          "drawdownPct": 0
        },
        {
          "riskPct": 0.2,
          "passPct": 0,
          "sePct": 0.01,
          "timeoutPct": 99.9,
          "drawdownPct": 0
        },
        {
          "riskPct": 0.3,
          "passPct": 1.8,
          "sePct": 0.07,
          "timeoutPct": 95.3,
          "drawdownPct": 2.9
        },
        {
          "riskPct": 0.4,
          "passPct": 8.1,
          "sePct": 0.14,
          "timeoutPct": 80,
          "drawdownPct": 11.9
        },
        {
          "riskPct": 0.5,
          "passPct": 16.6,
          "sePct": 0.19,
          "timeoutPct": 58.5,
          "drawdownPct": 24.9
        },
        {
          "riskPct": 0.6,
          "passPct": 24.8,
          "sePct": 0.22,
          "timeoutPct": 37.4,
          "drawdownPct": 37.8
        },
        {
          "riskPct": 0.7,
          "passPct": 30.1,
          "sePct": 0.23,
          "timeoutPct": 21.3,
          "drawdownPct": 48.6
        },
        {
          "riskPct": 0.8,
          "passPct": 33.9,
          "sePct": 0.24,
          "timeoutPct": 10.8,
          "drawdownPct": 55.4
        },
        {
          "riskPct": 0.9,
          "passPct": 35.9,
          "sePct": 0.24,
          "timeoutPct": 5.1,
          "drawdownPct": 59.1
        },
        {
          "riskPct": 1,
          "passPct": 34.7,
          "sePct": 0.24,
          "timeoutPct": 1.9,
          "drawdownPct": 63.4
        },
        {
          "riskPct": 1.1,
          "passPct": 36.1,
          "sePct": 0.24,
          "timeoutPct": 0.9,
          "drawdownPct": 63
        },
        {
          "riskPct": 1.2,
          "passPct": 33.4,
          "sePct": 0.24,
          "timeoutPct": 0.2,
          "drawdownPct": 66.3
        },
        {
          "riskPct": 1.3,
          "passPct": 35,
          "sePct": 0.24,
          "timeoutPct": 0.1,
          "drawdownPct": 65
        },
        {
          "riskPct": 1.4,
          "passPct": 33.9,
          "sePct": 0.24,
          "timeoutPct": 0,
          "drawdownPct": 66.1
        },
        {
          "riskPct": 1.5,
          "passPct": 30.9,
          "sePct": 0.23,
          "timeoutPct": 0,
          "drawdownPct": 69.1
        },
        {
          "riskPct": 1.6,
          "passPct": 31.9,
          "sePct": 0.23,
          "timeoutPct": 0,
          "drawdownPct": 68.1
        },
        {
          "riskPct": 1.7,
          "passPct": 34.3,
          "sePct": 0.24,
          "timeoutPct": 0,
          "drawdownPct": 65.7
        },
        {
          "riskPct": 1.8,
          "passPct": 32.9,
          "sePct": 0.23,
          "timeoutPct": 0,
          "drawdownPct": 67.1
        },
        {
          "riskPct": 1.9,
          "passPct": 29.1,
          "sePct": 0.23,
          "timeoutPct": 0,
          "drawdownPct": 70.9
        },
        {
          "riskPct": 2,
          "passPct": 26.5,
          "sePct": 0.22,
          "timeoutPct": 0,
          "drawdownPct": 73.5
        },
        {
          "riskPct": 2.1,
          "passPct": 28.3,
          "sePct": 0.23,
          "timeoutPct": 0,
          "drawdownPct": 71.7
        },
        {
          "riskPct": 2.2,
          "passPct": 30.9,
          "sePct": 0.23,
          "timeoutPct": 0,
          "drawdownPct": 69.1
        },
        {
          "riskPct": 2.3,
          "passPct": 33.7,
          "sePct": 0.24,
          "timeoutPct": 0,
          "drawdownPct": 66.3
        },
        {
          "riskPct": 2.4,
          "passPct": 33.2,
          "sePct": 0.24,
          "timeoutPct": 0,
          "drawdownPct": 66.8
        },
        {
          "riskPct": 2.5,
          "passPct": 33.2,
          "sePct": 0.24,
          "timeoutPct": 0,
          "drawdownPct": 66.8
        }
      ]
    },
    "static": {
      "ddMode": "static",
      "optimalRiskPct": 1.4,
      "peakPassPct": 50.1,
      "peakSePct": 0.25,
      "peakSeDisplayPct": 0.3,
      "crossoverRiskLoPct": 0.8,
      "crossoverRiskHiPct": 0.9,
      "curve": [
        {
          "riskPct": 0.1,
          "passPct": 0,
          "sePct": 0,
          "timeoutPct": 100,
          "drawdownPct": 0
        },
        {
          "riskPct": 0.2,
          "passPct": 0,
          "sePct": 0.01,
          "timeoutPct": 99.9,
          "drawdownPct": 0
        },
        {
          "riskPct": 0.3,
          "passPct": 1.8,
          "sePct": 0.07,
          "timeoutPct": 96.8,
          "drawdownPct": 1.4
        },
        {
          "riskPct": 0.4,
          "passPct": 8.1,
          "sePct": 0.14,
          "timeoutPct": 86.5,
          "drawdownPct": 5.4
        },
        {
          "riskPct": 0.5,
          "passPct": 16.7,
          "sePct": 0.19,
          "timeoutPct": 72.4,
          "drawdownPct": 10.9
        },
        {
          "riskPct": 0.6,
          "passPct": 25.2,
          "sePct": 0.22,
          "timeoutPct": 57.8,
          "drawdownPct": 17
        },
        {
          "riskPct": 0.7,
          "passPct": 31.8,
          "sePct": 0.23,
          "timeoutPct": 44.7,
          "drawdownPct": 23.6
        },
        {
          "riskPct": 0.8,
          "passPct": 38.2,
          "sePct": 0.24,
          "timeoutPct": 33.4,
          "drawdownPct": 28.4
        },
        {
          "riskPct": 0.9,
          "passPct": 42.9,
          "sePct": 0.25,
          "timeoutPct": 24.2,
          "drawdownPct": 33
        },
        {
          "riskPct": 1,
          "passPct": 45.1,
          "sePct": 0.25,
          "timeoutPct": 17.5,
          "drawdownPct": 37.4
        },
        {
          "riskPct": 1.1,
          "passPct": 47.4,
          "sePct": 0.25,
          "timeoutPct": 12.1,
          "drawdownPct": 40.5
        },
        {
          "riskPct": 1.2,
          "passPct": 48.9,
          "sePct": 0.25,
          "timeoutPct": 8.5,
          "drawdownPct": 42.5
        },
        {
          "riskPct": 1.3,
          "passPct": 49.2,
          "sePct": 0.25,
          "timeoutPct": 5.5,
          "drawdownPct": 45.3
        },
        {
          "riskPct": 1.4,
          "passPct": 50.1,
          "sePct": 0.25,
          "timeoutPct": 3.9,
          "drawdownPct": 46
        },
        {
          "riskPct": 1.5,
          "passPct": 49.1,
          "sePct": 0.25,
          "timeoutPct": 2.3,
          "drawdownPct": 48.6
        },
        {
          "riskPct": 1.6,
          "passPct": 48.6,
          "sePct": 0.25,
          "timeoutPct": 1.5,
          "drawdownPct": 49.9
        },
        {
          "riskPct": 1.7,
          "passPct": 49,
          "sePct": 0.25,
          "timeoutPct": 1,
          "drawdownPct": 50
        },
        {
          "riskPct": 1.8,
          "passPct": 48.1,
          "sePct": 0.25,
          "timeoutPct": 0.6,
          "drawdownPct": 51.3
        },
        {
          "riskPct": 1.9,
          "passPct": 49.2,
          "sePct": 0.25,
          "timeoutPct": 0.4,
          "drawdownPct": 50.4
        },
        {
          "riskPct": 2,
          "passPct": 46.7,
          "sePct": 0.25,
          "timeoutPct": 0.2,
          "drawdownPct": 53.1
        },
        {
          "riskPct": 2.1,
          "passPct": 45.5,
          "sePct": 0.25,
          "timeoutPct": 0.1,
          "drawdownPct": 54.3
        },
        {
          "riskPct": 2.2,
          "passPct": 45.9,
          "sePct": 0.25,
          "timeoutPct": 0.1,
          "drawdownPct": 54
        },
        {
          "riskPct": 2.3,
          "passPct": 46.5,
          "sePct": 0.25,
          "timeoutPct": 0,
          "drawdownPct": 53.5
        },
        {
          "riskPct": 2.4,
          "passPct": 46.3,
          "sePct": 0.25,
          "timeoutPct": 0,
          "drawdownPct": 53.7
        },
        {
          "riskPct": 2.5,
          "passPct": 45.8,
          "sePct": 0.25,
          "timeoutPct": 0,
          "drawdownPct": 54.2
        }
      ]
    }
  },
  "comparison": {
    "trailingOptimalRiskPct": 1.1,
    "staticOptimalRiskPct": 1.4,
    "trailingPeakPassPct": 36.1,
    "staticPeakPassPct": 50.1,
    "trailingPenaltyPoints": 14,
    "trailingFailAtOptimumPct": 63.9,
    "staticFailAtOptimumPct": 49.9,
    "trailingPassAtHalfOptimumPct": 24.8,
    "trailingPassAtDoubleOptimumPct": 26.5,
    "trailingDrawdownShareAtDoubleOptimumPct": 73.5,
    "staticPassAtTrailingOptimumPct": 47.4,
    "sameSizeGapPoints": 11.3
  },
  "axisTicks": {
    "riskPct": [
      0.5,
      1,
      1.5,
      2,
      2.5
    ],
    "passPct": [
      0,
      10,
      20,
      30,
      40,
      50,
      60
    ]
  },
  "display": {
    "balance": "50,000",
    "avgWinR": "1.2",
    "avgLossR": "1.0",
    "costR": "0.05",
    "pathsPerLevel": "40,000",
    "trailingOptimalRiskPct": "1.1",
    "staticOptimalRiskPct": "1.4",
    "trailingPeakPassPct": "36.1",
    "staticPeakPassPct": "50.1"
  },
  "disclaimer": "Model-derived and illustrative. The archetype is synthetic and does not represent any specific proprietary-trading firm. A real evaluation may add rules (a daily loss limit, a consistency rule, minimum trading days) that only tighten these results. Your own edge, cost and trade frequency change every number; this study shows the SHAPE of the relationship, not a target to copy."
}
