From 957b9a50fea02c93630fc8c101c5a33805741753 Mon Sep 17 00:00:00 2001 From: Brandon Li Date: Sat, 26 Sep 2026 18:46:04 -0500 Subject: [PATCH] Sizing: no financing floor when a trade costs nothing (zero commission and spread) Co-Authored-By: Claude Opus 5.5 --- lib/trading-logic.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/trading-logic.ts b/lib/trading-logic.ts index 7a301c3..24a0534 100644 --- a/lib/trading-logic.ts +++ b/lib/trading-logic.ts @@ -1431,7 +1431,9 @@ export function sizeNotional(o: { for (let pass = 0; pass < 4; pass++) { const { a, b } = distances(n); const nTime = Math.sqrt((a * b) / (sigma * sigma * hold)); - const nCost = fh > 0 ? Math.sqrt((fh * a * b) / (sigma * sigma * (2 * c + s))) : 0; + // No per-trade cost (a zero-commission firm on a zero spread): no + // floor — there is nothing for a bigger position to save. + const nCost = fh > 0 && 2 * c + s > 0 ? Math.sqrt((fh * a * b) / (sigma * sigma * (2 * c + s))) : 0; n = Math.max(nTime, nCost); } if (!Number.isFinite(n) || n <= 0) return null;