mcpField
P
position-sizing

position-sizing

github.com/bhala-srinivashOther58183 installsUpdated 34w ago
Repository

About position-sizing

position-sizing is a trading skill for calculating trade size from account capital, stop distance, and risk limits. It covers fixed-fractional, ATR-based, and Kelly methods, as well as portfolio constraints and leverage adjustments.

Key features

  1. 01Fixed-fractional position sizing
  2. 02ATR-based position sizing
  3. 03Kelly Criterion and Half-Kelly
  4. 04Single-stock and sector limits
  5. 05Leverage risk adjustment

Use cases

  1. 01Calculate shares from an account risk budget
  2. 02Adjust position size for volatility
  3. 03Check a new position against portfolio limits

MCP support

Prices can be entered manually; Groww MCP can provide live prices, ATR, and portfolio information.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bhala-srinivash/nse-trading-skills --skill position-sizing

After installing, type/position-sizingin Claude Code to confirm it loaded.

Details

From the project README

Position Sizing

Position sizing is how you survive. The goal: risk a small, consistent percentage of capital per trade so that no single loss can cripple your account.

Prerequisites

No dependencies required. Works with manually provided prices. Enhanced with Groww MCP (live price, ATR, portfolio) or yfinance (pip install yfinance).

Data Needed

  1. Account size: Total trading capital (ask user if not known)
  2. Current price: get_quotes_and_depth from Groww, or user-provided
  3. ATR(14): get_historical_technical_indicators from Groww, or calculate from candle data
  4. Existing positions: get_equity_portfolio_holdings to check concentration (optional)

Method 1: Fixed Fractional (Default)

This is the go-to method. Simple, robust, works for everyone.

Risk per trade = Account size × Risk%
Shares = Risk per trade ÷ (Entry price - Stop-loss price)
Capital required = Shares × Entry price

Risk% guidelines:

SituationRisk%
Normal (no leverage)1-2%
With 2x leverage0.5-1%
With 3-4x leverage0.25-0.5%
High conviction tradeUp to 3% (rare)
New/uncertain setup0.5%
Example
Account: Rs.10,00,000
Risk: 2% = Rs.20,000
Entry: Rs.1,800
Stop: Rs.1,700 (Rs.100 risk per share)
Shares: 20,000 ÷ 100 = 200 shares
Capital: 200 × 1,800 = Rs.3,60,000 (36% of account)

Method 2: ATR-Based Sizing

Uses volatility to set the stop distance, then sizes accordingly.

Stop distance = ATR(14) × multiplier
Shares = Risk amount ÷ Stop distance
Market ConditionATR Multiplier
Low volatility (ADX < 20)1.5× ATR
Normal volatility2.0× ATR
High volatility (ADX > 30)2.5× ATR

This naturally sizes you smaller in volatile stocks and larger in calm ones.

Method 3: Kelly Criterion (Advanced)

For traders with a track record of at least 30 trades:

Kelly% = W - (1 - W) / R
W = historical win rate
R = average win / average loss

Use Half-Kelly (Kelly% ÷ 2) for real trading — full Kelly is too aggressive.
Win RateAvg W/L RatioKelly%Half-Kelly
40%2.010%5%
50%1.517%8%
60%1.227%13%

Portfolio Constraints

These are hard limits — never exceed them regardless of sizing method:

ConstraintLimit
Single stockMax 20% of portfolio
Single sectorMax 35% of portfolio
Total open riskMax 6% of portfolio (sum of all position risks)
Correlated positionsMax 3 stocks in same sector simultaneously

If a position would breach a constraint, reduce size until it fits.

Leverage Adjustment

When using margin/leverage, the math changes because losses are amplified:

Effective risk% = Risk% × Leverage
So: reduce your base risk% by dividing by leverage

At 3.74x leverage:
  Normal risk: 2%
  Adjusted risk: 2% ÷ 3.74 ≈ 0.5%
  This keeps your effective risk at ~2%

Output

Present position sizing as:

Position Size: XXX shares
Capital Required: Rs.X,XX,XXX
Risk Amount: Rs.X,XXX (X.X% of account)
Stop-Loss: Rs.XXX (X.X% below entry)
Portfolio Allocation: XX% of total capital

Comments

Markdown supported