The One-Percent Rule My Sizing Never Reaches
Suneet Malhotra
Jun 02, 2026
My stock engine has two rules for how big a position can be. They sit four lines apart in the config. Risk one percent of equity per trade. Cap any single position at ten thousand dollars of notional. I wrote both. For months I described the sizing of the account, out loud and in these posts, as one percent per trade. This week I did the arithmetic, and the one-percent rule has not set a position size in a single trade at the account's current equity. The flat cap wins every time, and the two rules do not even point in the same direction.
This is a Tuesday market-structure post, but the structure in question is inside my own sizing function, not out in the tape. The tape, for what it is worth, spent this week printing fresh record highs on the AI rally before pausing. The instinct in a week like that is to lean in and size up. My engine cannot size up. It turns out it has not been sizing the way I thought it was for a long time.
The arithmetic
Start the position-size calculation from the risk rule. One percent of a hundred-thousand-dollar account is a thousand dollars of risk budget per trade. The stop loss is three percent below entry. So the dollar risk per share is three percent of the share price, and the number of shares is the risk budget divided by that. Multiply back out to notional and the price cancels: notional equals risk budget divided by the stop fraction. A thousand dollars divided by three percent is thirty-three thousand dollars of notional.
Now apply the cap. Maximum position, ten thousand dollars. Thirty-three thousand is more than ten thousand, so the cap binds. Every time. The actual dollar risk on a ten-thousand-dollar position with a three-percent stop is three hundred dollars. Three hundred dollars on a hundred-thousand-dollar account is three tenths of one percent.
I have been calling it a one-percent engine. It is a three-tenths-of-one-percent engine, and the rule doing the work is not the one with the principled name.
When the one-percent rule would actually fire
The risk rule only sets the size when its notional comes in under the cap. Set the two equal and solve. One percent of equity, divided by the three-percent stop, equals ten thousand dollars. That happens at thirty thousand dollars of equity. Below thirty thousand, the one-percent rule binds and risk per trade holds at a true one percent. Above thirty thousand, the cap binds and the risk fraction falls as the account grows.
So the rule I thought was governing every trade only takes over after the account has drawn down seventy percent from where it sits today. The principled-sounding rule is, in practice, a deep-drawdown rule. In every normal state of the account it is dormant, and sizing is a flat dollar amount wearing a percentage's name.
This is not a bug, exactly
Here is the part I did not expect. The two rules are continuous at thirty thousand dollars. At that equity, the one-percent notional is exactly ten thousand, and the risk is exactly three hundred dollars, which is exactly one percent of thirty thousand. They hand off cleanly. Read together, the system is: risk a flat three hundred dollars per trade while the account is healthy, and switch to a one-percent-of-equity floor once the account has been cut to thirty thousand or less.
That is actually a defensible shape. Flat-dollar sizing up top means the risk fraction shrinks as I compound, which is conservative. The one-percent rule down at the bottom keeps the flat dollar amount from becoming reckless as a fraction of a shrunken account. The dangerous direction, risk fraction climbing during a drawdown, is bounded at one percent by the very rule I thought was running the whole show. The two rules are a piecewise risk-fraction ceiling, not a redundancy.
The problem was never the math. The problem was that I did not know this was the math. I was monitoring the wrong number.
What changes
Two things. First, I am relabeling it in my own notes and in the engine comments. The sizing is not one percent per trade. It is three hundred dollars per trade until a seventy-percent drawdown, then one percent. Naming the rule correctly changes what I watch.
Second, a decision I had been making by accident is now one I get to make on purpose. Above thirty thousand dollars of equity, my notional does not track equity at all. It is frozen at ten thousand dollars whether the account is at a hundred thousand or grows past it. If I believe sizing should compound with the account, the cap has to become a percent of equity, say ten percent of notional, not a flat number. If I believe a hard dollar ceiling is the discipline, I keep it and stop pretending the one-percent line is doing anything. Either is fine. Choosing by leaving a four-month-old constant in place is not.
The cap was not the surprise. The surprise was finding out which of my two rules had been switched off the whole time, and that I was the one who wrote the switch.
Share this post
You Might Also Like
The Check That Passes Until the Day It Does Not
Every day my engine reconciles its own record of open positions against the broker's. Almost every day the two lists match. I do not run the check for those days.
OpenClaw TutorialsThe Three-Percent Daily Stop That Freezes at $3,000
My engine has two daily loss limits: three percent of equity and a flat $3,000. They are the same number on exactly one day, the day the account opened. After that they quietly diverge.
Quantitative TradingA Retry Is Not a Trading Decision
A rejected order is a decision. Retrying it without preserving the reason can turn a risk control into a duplicate trade.
Agentic AIThe Log Is Part of the Agent's Interface
An agent that can act but cannot leave a useful decision record is not autonomous. It is an opaque process with write access.
Latest Blog Posts
A Retry Is Not a Trading Decision
A rejected order is a decision. Retrying it without preserving the reason can turn a risk control into a duplicate trade.
The Log Is Part of the Agent's Interface
An agent that can act but cannot leave a useful decision record is not autonomous. It is an opaque process with write access.
The Market Is Closed Is Not a Trading Rule
A backtest can know the exchange hours and still schedule a trade into a holiday, an early close, or a stale session. Calendar state is market data.
Related Tools & Demos
The QA Field Manual to Language Models
A free 24-chapter book. Start at “what is AI, really?” and finish with a small language model you built yourself — one that reads a failing Playwright test and proposes a fix you can run. Read it in your browser, or download the PDF or the Mac app.
View Source Code →Multi-Model LLM Harness
One interface to call any AI model — capability routing, fallback chains, budgets, circuit breakers, and a quality feedback loop. A practical architecture pattern write-up.
Automated Trading System
Multi-engine trading platform with real-time risk management, regime-based strategy selection, and automated order execution.
View Source Code →
Stay in the Loop
Get weekly insights on AI-driven QA, engineering leadership, and automation strategies.
No spam, ever. Unsubscribe anytime.