futures-position-sizer

Calculates futures contract counts from entry, stop, and account risk budget using verified contract specs.

2.8k|632|Updated Oct 19, 2025
One-click install
npx skills add https://github.com/tradermonty/claude-trading-skills --skill futures-position-sizer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: futures-position-sizer
Source: https://github.com/tradermonty/claude-trading-skills/tree/main/skills/futures-position-sizer
Command: npx skills add https://github.com/tradermonty/claude-trading-skills --skill futures-position-sizer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Futures contracts have wildly different dollar-per-point values (a 0.25-point move is $12.50 on ES but $31.25 on ZB), so reusing an equity share-count sizer silently produces wrong position sizes. This Skill converts a direction, entry, and stop-loss into a risk-based contract count using verified per-symbol contract specifications.

Core Features & Use Cases

  • Risk-based contract sizing: Computes contracts = floor(risk budget / risk per contract) with exact rational arithmetic, never rounding up past the account risk budget.
  • Verified 23-market contract spec table: Covers ES, NQ, ZB, GC, CL, 6E/E6, VX, BT, and more, with multiplier, tick size, and tick value sourced from official exchange rulebooks.
  • Gate handoff mode: Accepts a contrarian-setup-gate READY_FOR_PLAN JSON report, taking direction and stop from the gate's invalidation level while the operator supplies the entry.
  • Fail-closed guardrails: Rejects bond-family off-tick-grid prices (32nds notation mistypes), stops on the wrong side of entry, and sub-one-tick stop distances; never computes margin.
  • Use Case: After a contrarian setup gate confirms a SHORT on B6 with invalidation at 1.3450, run the sizer with your entry of 1.3400 and a $100,000 account at 1% risk to get the exact contract count and total dollar risk.

Quick Start

Ask the AI to size a futures position for ES long with entry 5000.25, stop 4980.00, a $100,000 account, and 1% risk using the futures-position-sizer skill.

Frequently Asked Questions about futures-position-sizer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I calculate futures position size from entry and stop loss?

Run the futures_position_sizer.py script with --symbol, --direction, --entry, --stop, --account-size, and --risk-pct. It computes risk per contract from the stop distance times the contract multiplier, then floors your risk budget divided by that value to get the contract count.

How is futures position sizing different from stock position sizing?

Futures contracts have multipliers that convert a one-point price move into dollars, varying from $5 to $1000+ per point across symbols. An equity share-count formula treats the point difference as a dollar difference, which would misstate futures risk by 20-1000x depending on the symbol.

What futures symbols are supported by the contract spec table?

The verified table covers 23 markets: ES, NQ, YM, QR, VX, ZT, ZF, ZN, ZB, DX, E6, J6, B6, A6, D6, S6, GC, SI, HG, PL, CL, NG, and BT. Unknown symbols require explicit --multiplier, --tick-size, and --contract-currency overrides.

Does the futures position sizer require API keys or internet access?

No, it runs fully offline using only the Python 3.9+ standard library. All contract specifications are embedded in the verified local table, and no market data or broker connections are fetched.

Why does the sizer reject bond futures prices like 110.16?

Treasury futures (ZT, ZF, ZN, ZB) quote in 32nds, so 110'16 means 110.50, not 110.16. A price off the tick grid is treated as a notation mistype and rejected with exit code 2, since sizing it would silently produce wrong money math.

Does the position sizer calculate margin requirements?

No, margin is never computed. Exchange initial and maintenance margin requirements are broker- and time-dependent, so the report includes only a static note reminding you to verify margin with your broker.