{
  "id": "position-size",
  "version": "65ba9758f68c",
  "status": "published",
  "name": "Position Size Calculator",
  "question": "What position size should I trade?",
  "summary": "Works out how many shares to buy or sell short so that a loss at your stop price is the share of your account you choose to risk, with the position value and the reward-to-risk ratio.",
  "category": "finance",
  "subcategory": "investing",
  "url": "https://www.acalculator.org/finance/position-size-calculator",
  "markdown": "https://www.acalculator.org/finance/position-size-calculator.md",
  "kind": "function",
  "method": "money at risk = account × risk% ÷ 100; risk per share = |entry − stop|; shares = ⌊money at risk ÷ risk per share⌋; position value = shares × entry; ratio = |target − entry| ÷ |entry − stop|.",
  "assumptions": [
    "The stop order fills at the stop price. A stop becomes a market order, so a fast market or a price gap can fill it lower (higher for a short) and lose more.",
    "Commissions, fees and slippage are not included.",
    "Shares are whole shares, rounded down so the loss at the stop is never above the money at risk.",
    "This is a planning tool, not investment advice."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "account": {
        "title": "Account size",
        "description": "The value of the trading account.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 1,
        "maximum": 1000000000000
      },
      "risk": {
        "title": "Risk per trade",
        "description": "The share of the account you accept to lose if the stop price is hit.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0.01,
        "maximum": 100
      },
      "entry": {
        "title": "Entry price",
        "description": "The price per share you buy at (or sell short at).",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0.0001,
        "maximum": 10000000
      },
      "stop": {
        "title": "Stop-loss price",
        "description": "The price per share where you would exit at a loss. Below the entry for a buy, above it for a short.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 10000000
      },
      "target": {
        "title": "Target price",
        "description": "Optional: the price per share where you plan to take the profit, for the reward-to-risk ratio.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 10000000
      }
    }
  },
  "outputs": {
    "shares": {
      "label": "Shares to trade",
      "description": "Risk amount ÷ risk per share, rounded down to a whole share.",
      "format": "integer"
    },
    "side": {
      "label": "Trade",
      "description": "A buy (long) when the stop is below the entry, a short sale when it is above.",
      "format": "text"
    },
    "riskAmount": {
      "label": "Money at risk",
      "description": "Account size × risk per trade: the most you plan to lose.",
      "format": "money"
    },
    "perShare": {
      "label": "Risk per share",
      "description": "The gap between the entry price and the stop-loss price.",
      "format": "money"
    },
    "value": {
      "label": "Position value",
      "description": "Shares × entry price: the money the trade ties up.",
      "format": "money"
    },
    "share": {
      "label": "Share of the account",
      "description": "Position value as a percent of the account. Over 100% needs margin.",
      "format": "percent"
    },
    "loss": {
      "label": "Loss at the stop",
      "description": "Shares × risk per share: the loss if the stop fills at its price. Never above the money at risk.",
      "format": "money"
    },
    "reward": {
      "label": "Profit at the target",
      "description": "Shares × the gap between the entry and the target.",
      "format": "money"
    },
    "ratio": {
      "label": "Reward-to-risk ratio",
      "description": "The gap to the target ÷ the gap to the stop.",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "account": 25000,
      "risk": 1,
      "entry": 50,
      "stop": 47.5
    },
    "outputs": {
      "shares": 100,
      "side": "Buy (long): the stop is below the entry",
      "riskAmount": 250,
      "perShare": 2.5,
      "value": 5000,
      "share": 20,
      "loss": 250
    },
    "text": "Trade 100 shares to risk $250.00 at a stop of $47.50."
  },
  "examples": [
    {
      "given": {
        "account": 25000,
        "risk": 1,
        "entry": 50,
        "stop": 47.5
      },
      "expect": {
        "shares": 100,
        "riskAmount": 250,
        "perShare": 2.5,
        "value": 5000,
        "share": 20,
        "loss": 250
      },
      "source": "hand calculation in content.mdx: 25,000 × 1% = 250; 250 ÷ (50 − 47.50) = 100 shares; FINRA, Stop Orders: Factors to Consider During Volatile Markets (a stop order becomes a market order and may fill well past the stop price), https://www.finra.org/investors/insights/stop-orders-factors-consider-during-volatile-markets (retrieved 2026-10-03)"
    },
    {
      "given": {
        "account": 10000,
        "risk": 2,
        "entry": 23.45,
        "stop": 21.9,
        "target": 28
      },
      "expect": {
        "shares": 129,
        "riskAmount": 200,
        "perShare": 1.55,
        "loss": 199.95,
        "value": 3025.05,
        "reward": 586.95,
        "ratio": 2.935483870967742
      },
      "source": "hand calculation in content.mdx: 200 ÷ 1.55 = 129.03, rounded down to 129; (28 − 23.45) ÷ 1.55; FINRA, Stop Orders: Factors to Consider During Volatile Markets (a stop order becomes a market order and may fill well past the stop price), https://www.finra.org/investors/insights/stop-orders-factors-consider-during-volatile-markets (retrieved 2026-10-03)"
    },
    {
      "given": {
        "account": 50000,
        "risk": 0.5,
        "entry": 80,
        "stop": 84,
        "target": 70
      },
      "expect": {
        "shares": 62,
        "riskAmount": 250,
        "perShare": 4,
        "value": 4960,
        "loss": 248,
        "reward": 620,
        "ratio": 2.5
      },
      "source": "hand calculation in content.mdx: 250 ÷ 4 = 62.5, rounded down to 62; FINRA, Stop Orders: Factors to Consider During Volatile Markets (a stop order becomes a market order and may fill well past the stop price), https://www.finra.org/investors/insights/stop-orders-factors-consider-during-volatile-markets (retrieved 2026-10-03)"
    },
    {
      "given": {
        "account": 1000,
        "risk": 1,
        "entry": 0.3,
        "stop": 0.1
      },
      "expect": {
        "shares": 50,
        "riskAmount": 10,
        "perShare": 0.2,
        "value": 15
      },
      "source": "hand calculation in content.mdx: 10 ÷ 0.2 = 50 exactly (no float error from 0.3 − 0.1)"
    }
  ],
  "sources": [
    "FINRA, Stop Orders: Factors to Consider During Volatile Markets (a stop order becomes a market order and may fill well past the stop price). https://www.finra.org/investors/insights/stop-orders-factors-consider-during-volatile-markets (retrieved 2026-10-03)",
    "FINRA, Order Types (market, limit, stop and stop-limit orders). https://www.finra.org/investors/investing/investment-products/stocks/order-types (retrieved 2026-10-03)"
  ],
  "related": [
    "lot-size",
    "stock-profit",
    "stock-average"
  ],
  "changelog": []
}
