PositionSizeTool
Forex · Stocks · Crypto — size every trade from your risk, not from hope

Futures Position Size Calculator

How many contracts the money you accept losing buys, when the distance to your stop is counted in points and one point is worth a fixed amount per contract.

At a glance

Account
The trade
Contract and costs

No price feed and no upload. Every row in the reference dataset quotes in USD, so the rate is 1 on a dollar account; anything else comes from the number you type.

Contract specification (editable, if your venue quotes it differently)
Position size
—
—
Risk budget—
Stop distance, with spread—
One point is worth—
Loss if stopped—
Notional at entry—
Exposure as share of balance—
Contracts before rounding—
Budget stranded by the step—
Whole contracts in the step—
The same 51.00 effective stop at four risk percentages, rounded down to whole contracts.
RiskContractsLoss if stoppedNotional at entry

How a budget turns into a contract count

People reach this from either word order — futures position size calculator, and position size calculator futures — and both arrive at the same one line of arithmetic. The money you accept losing, less the cost of getting in and out, divided by what one contract loses between your entry and your stop. Nothing in that sentence is specific to futures; what is specific is that the size comes back as a whole number of contracts.

risk budget = balance x risk %, in YOUR currency budget in quote = risk budget / quote-to-account rate stop distance = |entry price - stop price| + spread, in POINTS loss per contract = stop distance x value per point per contract contracts = (budget in quote - commission) / loss per contract tradable size = floor(contracts / unit step) x unit step notional = tradable size x value per point x entry price
  1. The budget is the only number chosen without looking at price. It comes from the balance and the percentage decided in advance, and it is measured in your own currency.
  2. The stop distance is measured in points, not in percent. A US30 stop fifty points below the entry is fifty points whether the index prints 40,000 or 20,000, and the spread is added because the exit crosses it just as the entry did.
  3. The value per point per contract converts points into money. Every index row in the reference dataset publishes 1.00 per index point per unit of size; an exchange-traded contract publishes its own multiplier, and that figure belongs in the field above — it is not something this page can assume.
  4. The division gives contracts, and rounding happens last, downwards. Contracts are integers on these rows, so a computed 1.8431 is sent as 1, and the unused 0.8431 of a contract is money that stays in the account rather than risk that creeps back in.

The last two lines of the formula are where futures differ most from forex. In forex the step is a thousand units out of a hundred thousand, so rounding is invisible. Here the step is the whole unit, and on the examples below it silently eats nearly half of a small budget.

Worked example: 1% of 10,000 against a 50-point stop on US30

Every price below is an input you type, not a quote — the page has no feed. US30 in the reference dataset quotes in USD with a pip size of 1, a contract size of 1 and a unit step of 1, so one unit of size gains or loses 1.00 for every index point the price moves.

Inputs for the worked example.
InputValue
Account balance10,000.00 USD
Risk per trade1% = 100.00 USD
Entry price40,000.00
Stop price39,950.00
Spread1.00 point
Commission, round turn6.00 USD
Quote → account rate1.00 (USD account, USD quote)
Value per point / unit step1.00 per point / 1 contract
  1. Risk budget: 10,000.00 × 1% = 100.00 USD.
  2. Stop distance: 40,000.00 − 39,950.00 = 50.00 points, which is 0.125% of the entry price.
  3. Effective stop distance: 50.00 + 1.00 = 51.00 points.
  4. Loss per contract: 51.00 × 1.00 = 51.00 USD for one contract held to the stop.
  5. Budget left after commission: 100.00 − 6.00 = 94.00 USD.
  6. Contracts: 94.00 ÷ 51.00 = 1.8431 contracts.
  7. Round down to the step: floor to 1 contract, and 0.8431 of a contract — 43.00 USD of the budget — is never put at risk.
  8. Check the worst case: 1 × 51.00 = 51.00, plus 6.00 commission = 57.00 USD. Inside the 100.00 budget with 43.00 to spare.
  9. Check the notional: 1 × 1.00 × 40,000.00 = 40,000.00 USD, which is 400% of the account while the risk is 1%.

Step 8 is worth doing by hand even when the tool has already printed it: recompute the loss from the size you are actually sending. It is 57.00 here, not 100.00, and the difference is the contract count refused to carry.

94.00 net budget, 1.00 per point per contract, floored to whole contracts 10 pts — 11.00 8 ct 15 pts — 16.00 5 ct 25 pts — 26.00 3 ct 50 pts — 51.00 1 ct 75 pts — 76.00 1 ct 100 pts — 101.00 0 ct At 100 points the computed size is 0.9307, which floors to nothing at all
Holding the net budget fixed and widening the stop from ten to one hundred points takes the size from eight contracts to none. The step is one whole contract, so everything below one contract disappears.

Twelve index contracts, three identical numbers

Forex traders carry a mental table of contract sizes: 100,000 units to a lot, 100 ounces of gold, 1,000 barrels of WTI. Index contracts in this dataset do not need one. Below is every index row the site publishes, and the three columns that decide the money are the same on every single one.

All 12 index rows in data/contract-specifications.csv, columns as published. A pip size of 1 is one index point; a contract size of 1 means one unit of size gains or loses 1.00 per point; a unit step of 1 means sizes are whole contracts.
SymbolClassQuotePip sizeContract sizeUnit step
US30indexUSD111
US500indexUSD111
USTECindexUSD111
DE40indexUSD111
UK100indexUSD111
JP225indexUSD111
AUS200indexUSD111
FRA40indexUSD111
EU50indexUSD111
SPA35indexUSD111
HK50indexUSD111
CHINA50indexUSD111

Because the three columns are identical, the size a given budget buys on any of these twelve rows is the same number of contracts. What differs between them is the entry price, and therefore how much notional those contracts represent — which is the subject of the next table.

One contract is a lot of notional

The worked example above is the honest version of a small futures account: the size is one contract, and the notional is four times the equity. Below is the same 94.00 net budget put to work at six stop distances on the same 40,000.00 entry.

Same 100.00 budget less 6.00 commission, entry 40,000.00, 1.00 per point per contract. Notional is shown as a share of a 10,000.00 balance.
StopEffective distanceComputed contractsSentLoss if stoppedNotionalShare of balanceBudget stranded
10 points11.008.5455894.00320,000.003,200%6.00
15 points16.005.8750586.00200,000.002,000%14.00
25 points26.003.6154384.00120,000.001,200%16.00
50 points51.001.8431157.0040,000.00400%43.00
75 points76.001.2368182.0040,000.00400%18.00
100 points101.000.93070—0.000%94.00

Two things in that table are worth reading twice. The notional column is three to thirty-two times the account while the risk stays at one hundred — that is not leverage in the sense of borrowing, it is simply what one index contract costs to hold. And the last row is not a rounding error waiting to be fixed: at a hundred-point stop this budget buys less than one contract, so the honest answer is that the trade cannot be sized, exactly as it would be printed by a small-account check.

The step is what binds

Rounding down to whole contracts strands part of the budget, and how much depends entirely on how big the account is. Here is the same 50-point stop, the same 1.00 per point and the same 6.00 commission, run across five balances at 1% risk.

Same 51.00 effective distance and 6.00 commission. "Stranded" is budget left after commission that no whole contract can use.
BalanceRisk budgetComputed contractsSentWorst-case lossNotionalStrandedStranded share
10,000.00100.001.8431157.0040,000.0043.0045.7%
25,000.00250.004.78434210.00160,000.0040.0016.4%
50,000.00500.009.68639465.00360,000.0035.007.1%
100,000.001,000.0019.490219975.00760,000.0025.002.5%
200,000.002,000.0039.0980391,995.001,560,000.005.000.3%

The stranded share falls from 45.7% to 0.3% as the balance grows, because the same fixed cost per contract becomes a smaller fraction of a larger budget. Nothing about the edge changed — only the granularity. On small futures accounts that granularity is the binding constraint, not the risk percentage, and no amount of conviction recovers the 43.00.

This page and its neighbours, side by side

All four work from the same division, and they split the subject at the product line.

If you arrived looking for a forex, gold or stock equivalent of the same arithmetic, the position size calculator on the home page runs the identical formula against every instrument in the dataset.

Questions traders ask

How do I calculate futures position size?

Divide the money you accept losing, after commission, by what one contract loses between your entry and your stop. On the example above: budget 100.00 less 6.00 commission is 94.00, the stop is 50.00 points plus 1.00 of spread = 51.00, and one contract loses 51.00 at 1.00 per point, so 94.00 ÷ 51.00 = 1.8431, floored to 1 contract. Recompute the loss from what you actually send — 1 × 51.00 + 6.00 = 57.00 — to confirm it sits inside the budget.

Why can I only trade one contract when the maths says 1.84?

Because the unit step on these index rows is one whole contract, and the size always rounds down. Sending 2 would risk 2 × 51.00 + 6.00 = 108.00 against a 100.00 budget, which is an 8% overshoot of the risk you chose. The unused 0.8431 of a contract strands 43.00 of the budget; it does not license rounding up.

Risk is 1%, so why is four times my account in the trade?

Because exposure and risk are different quantities. One US30 contract at a 40,000.00 entry is 40,000.00 of notional — 400% of a 10,000.00 account — while a 51.00-point move against it costs 51.00, because one point is worth 1.00 and the stop is only 0.125% of the price. Nothing is borrowed to make that true; it is simply what one contract is.

What do I type in "value per point per contract"?

The amount one unit of size gains or loses when the price moves one full point. Every index row in the site's dataset publishes 1.00, and that is the default here. An exchange-traded contract publishes its own figure — for example a multiplier quoted in dollars per index point — and that number belongs in this field, because nothing on this page can assume it for you.

The calculator returns zero contracts. What changed?

The computed size fell below one whole contract, so the page returned zero instead of rounding up. On the table above that happens between a 75-point and a 100-point stop: 94.00 ÷ 101.00 = 0.9307. The choices are a tighter stop, a larger risk percentage, a larger account, or an instrument whose step is smaller than one contract — not a size typed in by hand.

Do I have to convert anything on these index rows?

Only if your account is not in dollars. All twelve index rows quote in USD, so on a USD account the rate is 1 and nothing is converted. On another account currency you type the rate as units of your currency per one dollar, and the budget is converted once before the division; leave it blank and every figure stays in dollars, with a note saying so.

What the contract count does not cover

It is the size of one position, decided before the order goes in. Four things sit outside it on purpose.

Everything on this page runs in your browser from the numbers you type and the twelve published specification rows above. The dataset behind it, with the same columns, is published as an open reference dataset.

Size the futures trade from your risk

Related guides