Skip to content
Back to skills

Position Sizing

ASecurity

Calculate optimal position sizes for NSE/BSE equity trades using fixed fractional, ATR-based, and Kelly criterion methods. Includes portfolio constraints and leverage adjustments. Use when the user asks: "how many shares to buy", "position size for [stock]", "how much to invest in [stock]", "calculate lot size", "risk per trade", or any question about how much capital to allocate to a trade. Also triggers on portfolio allocation and leverage sizing questions.

  • 36 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
datagoapi

Works with

  • api
  • mcp

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned May 27, 2026

npx -y skills add Bhala-Srinivash/nse-trading-skills --skill position-sizing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Position Sizing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Position Sizing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bhala-srinivash-position-sizing/badge)](https://www.skillsdirectory.com/skills/bhala-srinivash-position-sizing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: position-sizing
description: |
  Calculate optimal position sizes for NSE/BSE equity trades using fixed fractional,
  ATR-based, and Kelly criterion methods. Includes portfolio constraints and leverage adjustments.

  Use when the user asks: "how many shares to buy", "position size for [stock]", "how much to
  invest in [stock]", "calculate lot size", "risk per trade", or any question about how much
  capital to allocate to a trade. Also triggers on portfolio allocation and leverage sizing questions.
---

# 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:**
| Situation | Risk% |
|-----------|-------|
| Normal (no leverage) | 1-2% |
| With 2x leverage | 0.5-1% |
| With 3-4x leverage | 0.25-0.5% |
| High conviction trade | Up to 3% (rare) |
| New/uncertain setup | 0.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 Condition | ATR Multiplier |
|-----------------|----------------|
| Low volatility (ADX < 20) | 1.5× ATR |
| Normal volatility | 2.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 Rate | Avg W/L Ratio | Kelly% | Half-Kelly |
|----------|---------------|--------|------------|
| 40% | 2.0 | 10% | 5% |
| 50% | 1.5 | 17% | 8% |
| 60% | 1.2 | 27% | 13% |

## Portfolio Constraints

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

| Constraint | Limit |
|-----------|-------|
| Single stock | Max 20% of portfolio |
| Single sector | Max 35% of portfolio |
| Total open risk | Max 6% of portfolio (sum of all position risks) |
| Correlated positions | Max 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
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.