Zimmër Trading · Working paper 02
How an 88% Win Rate Lost Money
A live trading study on position size, early exits, and what a simulated fill is worth.
Abstract
By October 11, my V3 commodity strategy had won 88.1% of its 42 completed live trades and lost $38.82. I wanted to know whether the next dollar belonged in the strategy. I examined the recorded fills, reconstructed the cash flows on two positions that had exits, and tested the trading rule on a held-out slice of historical market data. Larger fills carried more of the losses. Exit accounting changed the sign of two individual results. And once I grouped simulated trades that settled at the same time, the apparent advantage was too small to distinguish from noise. I could explain why the desk lost money in this sample. I couldn’t justify increasing its size.
1. What a win was worth
I built Zimmër because I wanted to find out whether I could price risk well enough to put my own money behind it. V3 gave me an early reason to think I might. It placed resting buy orders on the favored side of short-dated commodity event contracts. At settlement a correct contract paid a dollar. That last detail changes what a good win rate looks like.
Take a contract bought for 90 cents and held to settlement. A win earns 10 cents. A loss costs 90 cents. It takes nine winners to pay for one loser before fees, and that math assumes I buy the same number every time. Once I vary the size, which positions are largest can determine whether I make or lose money.
I took two averages from the October 11 ledger. First, I divided each trade’s net profit or loss by its filled quantity and gave every trade an equal vote. The result was +4.4 cents per contract. Then I summed the dollars I actually made and lost and divided by all the contracts I actually filled. That came to −3.9 cents per contract. Both numbers describe the same 42 trades. The second one tells me what happened to the money. The gap prompted me to look at which trades carried the size.
2. What size cost on October 7 and 8
On October 7 and 8 the strategy won three markets and lost three. I went back to the recorded fills and asked a narrow question. If I kept the same prices and outcomes but capped each filled market at ten contracts, how much would those two days have cost?
| Period | Wins / losses | Actual net | Capped at ten |
|---|---|---|---|
| Oct 7 | 2 / 2 | −$82.52 | −$14.30 |
| Oct 8 | 1 / 1 | −$21.78 | −$5.80 |
| Both days | 3 / 3 | −$104.30 | −$20.10 |
For a fill larger than ten contracts, I multiplied its recorded net result by ten divided by the filled quantity. Smaller fills kept their original result. That holds the fill price, outcome and proportional fees fixed. I chose these days to examine the loss after it happened, so the $84.20 difference measures how much the larger sizes cost on those fills. It gives me no basis for assuming that a new ten-contract order would get the same price or even fill.
The detail that stayed with me was the last column. Both days still lost money. The cap would have reduced those losses. I still had to ask whether the entry was worth taking.
3. Two apparent losses that were actually wins
Before drawing a conclusion about the signal, I needed to know what counted as a completed trade. A position can be reduced before a contract settles. In that case, the settlement row only tells part of the story. The earlier exit has already moved cash.
That happened twice on October 6. The settlement-only figures added to −$45.00, rounded. Once the exits and remaining settlement were accounted for, the same two positions added to +$8.00. A $53 difference on an experiment this small can change what I decide to build next. Adding another $53 to the full-position ledger would make the opposite mistake by counting the exits twice.
An early 37-market summary used settlement records. I can identify the two discrepancies, but I don’t have a row-by-row reconciliation between that entire summary and the later 42-trade ledger. I therefore use the October 11 ledger for the headline and the separately documented October 7–8 fills for the sizing example. The two-day result and the lifetime result answer different questions and should never be added together.
4. Would the rule have worked again?
The desk’s Python implementation reproduced all 291 V3 decisions recorded by the production worker in our check. That mattered because an earlier version of the analysis used a related rule with a different filter. It made a lower-priced group of contracts look promising. When I used the rule V3 actually ran, that finding reversed in the later period. I dropped the proposed change.
The full historical replay covered 3,109 market recordings from July 31 through September 25, 2026. I used the chronological split at September 15. In the last ten calendar days of that archive, V3 produced 309 qualifying decisions. With a 15-second submission delay, the model filled 137 contracts across 93 distinct closing times. Averaged over filled contracts, the result was +1.26 cents per contract. When I first averaged within each closing time and then gave each close equal weight, the result was −1.17 cents, with a standard error of 3.71 cents.
Several markets can settle on the same move. A close with more fills gets more votes in the first average. The second tells me whether the result held across closes. That uncertainty leaves me with too little evidence to say the average close was profitable. Even that standard error assumes different closing times behave independently, which can be optimistic on a day when several commodities move together. The replay also had trade prints without a full record of my place in the order queue. A buyer waiting at a price has to find a seller, and the seller gets to choose when to trade. I treat those 137 fills as modeled executions.
5. What would earn the next dollar?
My original ambition for Zimmër is still to build a firm that can put meaningful capital to work. That makes capacity an immediate question, even for a small desk. Of 28 historical entry reviews, only seven had a recorded quantity on the opposite side at the best price. Those snapshots were taken around fills. They couldn’t tell me how many additional resting orders would have been executed when I made the decision.
For the next study I would freeze one rule, record every qualifying decision before the outcome, and keep the rejected and unfilled orders alongside the winners and losers. I would record available size at submission and reconcile every entry, exit, fee and settlement. Then I could ask how much the next increment of size earned after costs, and what happened when several contracts closed together. A second strategy would have to add profit when both compete for the same capital and the same orders.
For now, I’m keeping the proposed size increase off the table. If a future sample supports putting more money to work, I want to be able to point to the fills that changed my mind. This sample gave me a reason to wait.
Sources and scope
- Live accounting. Zimmër Trading’s October 6, 2026 position reconciliation, October 9 drawdown review, and October 11 completed-trade ledger. These internal records use different units of observation. Dollar figures above are rounded to the nearest cent. The October 11 cutoff applies to the lifetime figures in this paper.
- Historical execution. Zimmër Trading’s October 11 production-rule replay and later-period results. The 291 recorded decisions were a check on the implementation. The 309 later-period decisions supplied the statistical test. Historical fills depend on the execution assumptions.
- Market microstructure. Lawrence R. Glosten and Paul R. Milgrom (1985) formalize why the information held by the other side of a trade can affect a quoted market. Journal of Financial Economics, 14(1), 71–100.
- Earlier working paper. De’Mondre Zimmerman (September 21, 2026). Building a Research Process for Energy Markets.