Lot sizing decision guide · 20

Subtract cumulative loss consumption, open risk and reservations before the next trade

A sequence of individually acceptable trades can still consume the day’s capacity. This article fixes a non-replenishing policy: later profits do not reduce prior realized-loss consumption. Subtract that ledger, open-stop risk and active reservations before sizing the next trade.

Three points to establish first

  • Deduct open-stop and active reserved risk as well as realized loss.
  • Move each order between reserved, open and realized states without double counting.
  • Return no new order when capacity is zero or below minimum-lot loss.

Durable reference map

A three-stage method to reuse whenever conditions change

Keep the sequence of inputs, calculation and exception testing stable instead of relying on a market forecast.

  1. Align inputs and unitsGo to equations and definitionsBudget remaining before the next trade・Next-lot ceiling
  2. Reconcile the worked exampleGo to table and calculation stepsA hypothetical ledger in which the next lot declines through the day
  3. Test exceptions and next checksGo to rules and counterexampleFreeze the budget and day boundary before trading.

Fix the opening budget and day boundary

Set the capital base, monetary daily limit, timezone and start time before trading. This non-replenishing expression accumulates the loss portion of each closed event after costs. A later realized profit does not reduce earlier consumption or automatically enlarge the limit.

A daily limit is not a guaranteed loss ceiling. Gaps, slippage, fees and simultaneous executions can produce a larger realized result.

  • Store timezone and trading-day boundary.
  • Derive and freeze the monetary limit at the start.

Keep three uses of capacity mutually exclusive

Realized-loss consumption is a non-negative cumulative ledger of losing closed events; open-stop risk is a non-negative estimate from the confirmed position and executable exit; reserved risk is a non-negative budget for active unfilled orders. Expected profit is not entered as negative consumption.

When an order fills, release its reservation and recompute open risk from confirmed fill quantity and price, current stop, value or conversion, and costs. Reconcile any difference instead of transferring the same amount. On cancellation, release only the reservation, and use event IDs so one order is not left in two states.

  • Fill: release reserved risk and recompute open risk from the confirmed fill state.
  • Cancel: release reserved.
  • Stop change: refresh open risk.
  • Close: reduce open and update realized P&L.

Convert the remainder using the next setup

Turning the remaining money into lots requires the next setup’s stop distance and loss value per lot. Do not copy the previous quantity.

A specification, account-currency or stop change can alter the lot ceiling even when the remaining dollar amount is unchanged.

Define treatment of profit and stop improvements

A separate design may replenish capacity with realized profit, but it requires an explicit replenishment variable and cap. In this article, accumulate each closed loss and never reduce L_realized with a later profit; fix the non-replenishing policy before entry.

When a favorable stop amendment reduces open risk, recompute it from current quantity and a conservative executable price. A break-even label does not automatically mean zero.

The no-new-order boundary

If remaining capacity is zero, the next ceiling is zero. A positive remainder still produces no executable new order when it is below minimum-lot stop loss and costs.

  • Remaining budget at or below zero
  • Theoretical lot below minimum lot
  • Unknown timestamp or active-order state

A checkable example

A hypothetical ledger in which the next lot declines through the day

The day starts with USD 600. The next setup uses 40 pips at USD 10 per lot per pip, USD 0 per lot of known cost and execution reserve, and a 0.01-lot step. These are teaching values, not an account or guaranteed limit.
StateDaily budgetUSDCumulative realized-loss consumption (not reduced by profit)USDOpen-stop riskUSDPending reserved riskUSDRemaining budgetUSDKnown next-trade cost and execution reserveUSD/lotNext-trade lot steplotNext-lot ceilinglot
Start60000060000.011.5
After USD 180 loss6001800042000.011.05
Open risk added600180140028000.010.7
Pending order reserved6001801408020000.010.5

Calculation steps

  1. Remaining budget is USD 600 − 180 − 140 − 80 = USD 200.

  2. Loss per lot for the next setup is 40 × USD 10 + USD 0 of known per-lot cost and execution reserve = USD 400.

  3. The raw next-lot ceiling is USD 200 / USD 400 = 0.50 lot, which remains 0.50 lot after rounding down to the 0.01-lot step.

Result: For the same forty-pip setup, the hypothetical next-lot ceiling falls from 1.50 lots at the start to 0.50 lot.

When this conclusion does not apply: Canceling the USD 80 pending reservation, with all else unchanged, restores USD 280 and a 0.70-lot ceiling.

Calculation framework

Budget remaining before the next trade

Read the role of each equation first, then follow the numerical example to check the decision path.

01

Budget remaining before the next trade

EquationB_rem = max(B_day − L_realized − L_open − L_reserved, 0)
B_day: loss budget frozen at the start of the day
L_realized: cumulative realized-loss consumption Σ max(−PnL_closed,j,net, 0) across closed events, with profit-positive PnL; realized profits never reduce it under this policy
L_open: non-negative estimated executable stop loss on open positions, including current quantity, stop, conservative fill, conversion and costs
L_reserved: non-negative loss budget assigned to active unfilled orders; cancellation returns it to zero and expected profit never makes it negative

In plain language: Move an order between states while keeping all consumption terms non-negative and realized-loss consumption monotone, showing current capacity without double counting.

When this conclusion does not apply: B_day and every consumption term are non-negative, so 0 ≤ B_rem ≤ B_day; the remainder is zero when they meet or exceed the daily budget. A profit-replenishing policy needs a separate explicit replenishment variable and cap, not negative consumption.

02

Next-lot ceiling

EquationL_next_per_lot = D_next × V_next + C_next_per_lot; Q_next = floor_step(B_rem / L_next_per_lot, step_next)
D_next: stop distance for the next setup
V_next: account-currency value per lot per distance unit
C_next_per_lot: non-negative per-lot reserve for known next-trade costs and conservative execution overrun
step_next: permitted lot step
floor_step: downward rounding to the permitted step

In plain language: Divide current capacity by the next setup’s loss per lot including known quantity-proportional costs and execution reserve, then round down to the permitted step.

When this conclusion does not apply: Calculate only when B_rem ≥ 0, D_next > 0, V_next > 0, C_next_per_lot ≥ 0 and step_next > 0. Recompute nonlinear or fixed extra costs at the rounded quantity and step down while the all-in amount exceeds B_rem. Return no order below minimum lot.

Freeze the daily budget, clock, and replenishment rule before activity

A daily capacity rule needs an opening account-currency amount, start and end times, timezone, and treatment of realized profit fixed before orders arrive. This article uses a non-replenishing policy: later gains do not reduce the cumulative consumption created by closed losing events after costs.

The policy is a planning control, not a guaranteed loss ceiling. Gaps, adverse fills, fees, simultaneous executions, and delayed state updates can produce realized loss beyond the amount. The record should preserve those residual mechanisms rather than describe the daily limit as insurance.

A different design can replenish with profit, but it needs an explicit positive replenishment variable and cap. Entering profit as negative loss consumption makes the ledger outcome-dependent and can expand capacity without a visible rule. Policy changes should take effect prospectively, not mid-session after a favorable result.

The day header should carry a policy version so every event can prove which replenishment rule applied. A switch changed during the session must not retroactively rewrite earlier consumption. A new authorized version can govern only decisions after its documented effective instant.

Keep realized, open, and reserved consumption mutually exclusive

Realized-loss consumption accumulates nonnegative losing closed events. Open risk estimates loss on confirmed positions under their current protective assumptions. Reserved risk allocates capacity to live unfilled orders. One quantity should occupy the appropriate state once, not all three.

When an order fills, release its reservation and recompute open risk from confirmed fill quantity and price, stop, value, conversion, execution allowance, and costs. Do not simply transfer the reserved number because the actual fill can change the economics. Reconcile the difference as part of the transition.

On cancellation, release only the confirmed inactive reservation. A cancel request can race with a fill, so cancel pending remains reserved until authoritative state resolves it. Unique event IDs and cumulative reconciliation prevent the same order from disappearing or consuming capacity twice.

A transition table should specify which events debit, move, or release capacity. That makes race handling testable and prevents an integration from treating every status callback as a fresh economic event. Parent quantity can then reconcile across reserved, open, closed, and inactive states.

Calculate remaining capacity with a nonnegative floor

Remaining capacity is the opening daily budget minus cumulative realized-loss consumption, open risk, and active reservations, floored at zero. Every term is nonnegative under this policy, so the result cannot exceed the opening amount or become negative for use in a later division.

The floor does not forgive an overrun. If consumption exceeds the daily budget, remaining capacity is zero and the excess should be recorded separately. Clipping without an exception field could hide how far actual or estimated exposure crossed the boundary. The exception stays visible.

Expected profit and unrealized favorable movement are not negative consumption. A favorable stop amendment can reduce open risk only after the new order is confirmed and the executable-loss estimate is recomputed. A break-even label alone should not set open risk to zero.

The zero floor preserves a nonnegative remainder, but the ledger should retain any amount by which uses exceed budget. That exception supports incident review and prevents the floor from making a small overrun look identical to a much larger one. Capacity remains zero in either case.

Replay the hypothetical sequence through four states

The day opens with USD 600 and no consumption, so all USD 600 remains. A later USD 180 closed loss makes remaining capacity USD 420. Adding USD 140 of open risk reduces it to USD 280, and reserving USD 80 for a pending order leaves USD 200. Each row is a later state of the same day.

The state progression is not four independent accounts. It is one ledger over one declared day. A later profit does not reduce the USD 180 consumption in this non-replenishing design. Canceling the pending order after confirmation would release USD 80 and restore remaining capacity to USD 280.

All amounts are hypothetical teaching inputs. They do not describe an account or guarantee that actual losses stop at USD 600. The example exists to expose state movement and the consequence of subtracting open and pending exposure before another order is sized.

An implemented table should include event IDs or a sequence key. Identical totals can conceal different transitions, including a reservation never released or a loss posted twice. State provenance is necessary even when the final subtraction happens to match the expected USD 200.

Convert the remainder using the next setup, not the prior lot

Remaining money is not itself a quantity. The next setup has a 40-pip stop and USD 10 per pip per lot, so price-distance loss is USD 400 per lot before stated additions. USD 200 divided by USD 400 gives a 0.50-lot ceiling on the 0.01 step. An account-currency replay still follows.

At the start, the same next-setup assumptions convert USD 600 to 1.50 lots; after the USD 180 loss they give 1.05; after open risk they give 0.70. The changing lots come from the ledger amount, while distance and monetary value stay fixed for the comparison. Raw results should remain beside step-aligned lots.

A different next stop, contract, currency factor, cost, or volume step would produce another quantity even if USD 200 remained. Copying the previous order size ignores setup-specific loss per lot. Each new decision must reconstruct its own denominator and replay the rounded result.

The next-setup record should preserve a no-order reason when minimum volume exceeds the remainder. A positive USD balance is not proof that an executable risk unit fits. Keeping unused money visible avoids pressure to narrow the stop or round upward merely to consume the daily allowance.

Include next-order costs and execution reserve coherently

The example sets known per-lot cost and execution reserve to zero for clarity. In an all-in model, quantity-proportional additions increase loss per lot. A genuinely fixed charge can reduce remaining money first. Nonlinear costs require replay after rounding and step-down until total fits.

An adverse-fill allowance should match the next order’s product, side, session, and method. Reusing a prior trade’s buffer can be as wrong as reusing its lot. Currency conversion should use a current loss-side factor when P&L or costs begin outside the account currency.

Unknown required costs should not be silently set to zero to preserve a positive lot. The system can return unavailable or a clearly partial estimate according to policy. A complete-looking 0.50 result from omitted inputs may cross the daily remainder once actual execution is added.

Fixed reserves and per-lot additions should be varied separately because they change the equation differently. The former shifts available money, while the latter changes loss per unit. Combining both into an unexplained buffer makes the next quantity difficult to reproduce.

Handle partial fills without releasing or duplicating capacity

A partially filled entry creates confirmed open exposure and can leave a live remainder. Release the reservation associated with filled quantity, recompute its open risk from actual fills, and keep a conditional reservation for the unfilled balance. The two amounts need not sum to the original reserve.

An IOC cancellation can release the confirmed canceled balance, while a RETURN or GTC remainder stays reserved. A cancel-pending state remains live. The parent order and unique execution IDs prevent cumulative status messages from moving the same quantity into open and reserved states twice.

If the partial fill changes VWAP or protective distance, open risk should use the confirmed position state rather than the submitted order’s assumptions. A reconciliation difference can consume more capacity and force later orders to zero. It should not be hidden by preserving the prior reservation amount.

The transition can temporarily increase total use when actual open risk exceeds the released reservation. That is not double counting if the old reservation is removed and the new estimate is independently computed. The event should show both legs so a reviewer can distinguish variance from a lifecycle bug.

Define realized-loss consumption event by event

When a position closes, calculate its net loss after applicable costs and conversion, then add only the nonnegative loss component to cumulative consumption. A profitable close adds zero under this policy; it does not subtract prior losses. Partial exits require parent or event rules that avoid counting the same loss twice.

Corrections and busted fills need append-only adjustments tied to the original event. Simply editing the cumulative total removes the explanation for a capacity change. The ledger should show prior value, correction, resulting consumption, and affected order decisions.

The day boundary determines where an overnight close belongs. Exchange time, provider server time, and local time can differ. Store the original timestamps and timezone rule so a loss is not shifted between days to restore capacity or counted in both. Daylight-saving transitions require the same instant-based treatment.

Keep favorable stop changes conditional on confirmed protection

A stop moved closer to current price can reduce modeled open risk, but only after the amendment is accepted and the new executable scenario is calculated. A requested change can fail or race with execution. The ledger should preserve the prior risk until authoritative state confirms the transition.

Moving a stop to entry does not automatically make loss zero because adverse fill and costs remain. The open-risk estimate should use remaining quantity, condition-specific execution distance, monetary value, and charges. A marketing or platform break-even label cannot override those inputs.

Open profit is not a capacity credit in the non-replenishing equation. Even if equity rises, the daily policy can remain constrained by prior loss consumption and current stop exposure. Equity-based and daily rules should be displayed separately so users can see which ceiling binds.

Attack the ledger with double counting and profit offsets

One adversarial test keeps a pending reservation after the order fills and also adds open risk; the reconciliation must remove the filled reservation. Another releases a cancel-pending order too early and then delivers a fill. A third enters realized profit as negative loss and should fail the non-replenishing invariant.

A state test moves one parent quantity through reserved, partially open, fully open, and realized events while verifying that it is never counted twice. A duplicate execution-ID test should not alter capacity. An out-of-order callback should reconcile to cumulative economic state rather than last message arrival.

Boundary cases include negative consumption, zero next-loss denominator, missing step, remaining below minimum-lot loss, and total uses beyond budget. The safe next quantity is zero or unavailable. Absolute values and clipping should not conceal the specific exception or produce a positive order.

Integrate minimum volume and the no-new-order boundary

If remaining capacity is zero, next quantity is zero. A positive remainder can also yield no order when loss at the verified minimum volume plus required costs exceeds it. Rounding a raw result upward to the minimum would break the remaining daily constraint. This boundary is explicit.

The record should show raw lot, minimum, step, minimum-lot loss, remaining capacity, and excess. This explains why USD 50 of capacity can be economically unusable for a setup whose smallest unit risks USD 100. The unused amount does not justify narrowing the valid stop.

A different product with finer units requires complete contract and cost verification. Importing only its smaller minimum creates a synthetic order. Repeated no-order outcomes can prompt a separate product review without changing the intraday budget rule after losses occur.

Build an append-only daily capacity ledger

The day header needs policy version, opening budget, capital basis, start and end instants, timezone, and replenishment rule. Event rows need order and fill IDs, state transition, realized-loss addition, open-risk value, reservation change, source inputs, timestamp, and resulting remaining capacity.

Each next-size record links to the ledger version and includes next stop, monetary value, cost and execution terms, conversion, raw lot, minimum and step, rounded ceiling, and checked all-in amount. That lineage explains why two identical setups can receive different quantities at different times.

Corrections append compensating events rather than overwrite cumulative totals. Historical snapshots remain reproducible. A current dashboard can show the latest state while retaining the sequence that produced it, including rejected and no-order decisions that consumed no new capacity.

Interpret institutional exposure controls within scope

SEC market-access material supports applying aggregate pre-set exposure thresholds before entry and monitoring consumption. CME controls illustrate real-time limits and working-order adjustments. NFA dealer risk rules support daily exposure, leverage, valuation, and concentration monitoring in their institutional contexts.

These sources do not prescribe a retail USD 600 daily budget, a non-replenishing profit rule, or the 40-pip next setup. They do not establish that this ledger is implemented in the SG Group calculator. The article adapts general control principles into a transparent educational state model.

Institutional rules and product terms can change, so citations should not be treated as current legal advice for a user account. The source-backed point is aggregate and state-aware control; the specific variables and transitions remain declared design assumptions requiring local verification.

State the next-lot result with the ledger policy attached

Under the hypothetical non-replenishing day, USD 600 minus USD 180 realized-loss consumption, USD 140 open risk, and USD 80 reservation leaves USD 200. At USD 400 loss per lot for the next setup and a 0.01 step, the ceiling is 0.50 lot. The result remains tied to this ledger state and policy version.

Confirming cancellation of the USD 80 pending order would restore capacity to USD 280 and the same setup would produce 0.70 lot. A later profit would not reduce the USD 180 consumption under this policy. Different treatment requires a separately explicit replenishment variable and cap.

This is educational control arithmetic, not a recommendation or guaranteed daily loss bound. Its decision consequence is to return zero when capacity or minimum-volume conditions fail and to prevent one order from occupying reserved, open, and realized states simultaneously.

Decision and control rules

  1. Freeze the budget and day boundary before trading.
  2. Keep each order in only one of reserved, open or realized state.
  3. Build next-trade loss per lot from its distance, value and quantity-proportional known cost and execution reserve, then round down to the permitted step.
  4. Stand aside at zero capacity or below minimum-lot loss.
  5. Do not change the profit-replenishment rule intraday.

Common failure modes

  • Subtracting realized loss while ignoring open and pending exposure.
  • Double counting one order in reserved and open states.
  • Copying the previous lot into the next trade.
  • Rounding up through the remaining budget.

Evidence and specifications

  1. SEC — FAQ on Rule 15c3-5 Risk Management Controls

    What this source supports: Aggregate pre-set exposure thresholds should be applied before entry and monitored as orders consume available capacity; the rule is institutional context, not retail advice.

  2. CME Globex Credit Controls

    What this source supports: Real-time exposure limits and working-order adjustments illustrate that positions and active orders can consume control capacity before another order is accepted.

  3. NFA Rules — Forex Dealer Member Risk Management Program

    What this source supports: Forex dealer risk programs measure market exposure daily and monitor leverage, valuation and position concentration against risk tolerances.

Questions to resolve

Does unrealized profit increase the remainder?

Under this article’s non-replenishing policy, no. A different design needs a separate explicit replenishment variable and cap.

Should an unfilled order consume capacity?

Reserve its budget while it remains active and executable, then release it on cancellation or expiry.

Does moving a stop to break-even make open risk zero?

Not automatically. Refresh it from remaining quantity, adverse executable distance and costs.

Does the ledger guarantee the daily budget will not be exceeded?

No. Gaps, slippage, costs and simultaneous fills can exceed an estimate.

Recalculate from current inputs

Enter cumulative realized-loss consumption that profits do not reduce, open-stop risk and reserved risk, then recalculate the next setup with known costs.

Important: This is an educational daily-risk ledger. Actual fills, simultaneous orders, gaps and costs can exceed the estimate, and no trade frequency or quantity is recommended.