{"slug":"how-long-a-losing-streak-is-normal","qid":"longest_losing_run_distribution","label":"How long the worst losing run of a 200 trade series usually is, at a 70 percent win rate","post_title":"How Long a Losing Streak Is Normal","post_url":"/blog/how-long-a-losing-streak-is-normal#q-longest_losing_run_distribution","columns":["longest_losing_run","pct_of_series_exactly","pct_of_series_at_least"],"rows":[{"longest_losing_run":"2 losses","pct_of_series_exactly":1.79,"pct_of_series_at_least":100},{"longest_losing_run":"3 losses","pct_of_series_exactly":29.91,"pct_of_series_at_least":98.21},{"longest_losing_run":"4 losses","pct_of_series_exactly":39.67,"pct_of_series_at_least":68.3},{"longest_losing_run":"5 losses","pct_of_series_exactly":19.11,"pct_of_series_at_least":28.63},{"longest_losing_run":"6 losses","pct_of_series_exactly":6.59,"pct_of_series_at_least":9.52},{"longest_losing_run":"7 losses","pct_of_series_exactly":2.05,"pct_of_series_at_least":2.94},{"longest_losing_run":"8 losses","pct_of_series_exactly":0.62,"pct_of_series_at_least":0.88}],"shape":"ranking","sql":"SELECT\n    concat(toString(run_length), ' losses') AS longest_losing_run,\n    round(100 * (no_run_of_longer - no_run_of_this), 2) AS pct_of_series_exactly,\n    round(100 * (1 - no_run_of_this), 2) AS pct_of_series_at_least\nFROM\n(\n    SELECT\n        run_length,\n        arraySum(arrayFold(\n            (run_mass, trade) -> arrayPushFront(\n                arrayMap(mass -> mass * 0.30, arrayPopBack(run_mass)),\n                0.70 * arraySum(run_mass)),\n            range(200),\n            arrayMap(slot -> if(slot = 0, 1.0, 0.0), range(run_length)))) AS no_run_of_this,\n        arraySum(arrayFold(\n            (run_mass, trade) -> arrayPushFront(\n                arrayMap(mass -> mass * 0.30, arrayPopBack(run_mass)),\n                0.70 * arraySum(run_mass)),\n            range(200),\n            arrayMap(slot -> if(slot = 0, 1.0, 0.0), range(run_length + 1)))) AS no_run_of_longer\n    FROM\n    (\n        SELECT arrayJoin([2, 3, 4, 5, 6, 7, 8]) AS run_length\n    )\n)\nORDER BY run_length","computed_at":"2026-08-17T15:25:34.120911+00:00","elapsed":0.023426133}