mcpField
P
position-sizing

position-sizing

github.com/bhala-srinivash其他58183 次安装34 周前更新
代码仓库

关于 position-sizing

position-sizing 是面向交易者的仓位计算技能,帮助依据账户规模、止损距离和风险额度确定交易数量。它涵盖固定比例、ATR 和 Kelly Criterion 方法,并列出组合约束与杠杆调整方式。

主要功能

  1. 01固定比例仓位计算
  2. 02基于 ATR 的仓位计算
  3. 03Kelly Criterion 与 Half-Kelly
  4. 04单股及行业集中度限制
  5. 05杠杆风险调整

适用场景

  1. 01按账户风险额度计算交易股数
  2. 02根据波动性调整仓位规模
  3. 03检查新仓位是否超出组合限制

MCP 相关

可手动提供价格;Groww MCP 可提供实时价格、ATR 和投资组合信息。

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/position-sizing确认已加载。

详细介绍

仓位规模

仓位规模决定了你能否在市场中生存。目标是每笔交易都承担一小部分、固定比例的资金风险,避免单笔亏损就重创账户。

前置条件

无需依赖项。可使用手动提供的价格。搭配 Groww MCP 可获取更多数据(实时价格、ATR、投资组合),也可使用 yfinance(pip install yfinance)。

所需数据

  1. 账户规模:交易资金总额(如果未知,请询问用户)
  2. 当前价格:Groww 的 get_quotes_and_depth,或用户提供的价格
  3. ATR(14):Groww 的 get_historical_technical_indicators,或根据蜡烛图数据计算
  4. 现有持仓:使用 get_equity_portfolio_holdings 检查持仓集中度(可选)

方法 1:固定比例法(默认)

这是首选方法。简单、稳健,适合所有人。

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

风险比例指南:

情况风险比例
正常(不使用杠杆)1-2%
使用 2 倍杠杆0.5-1%
使用 3-4 倍杠杆0.25-0.5%
高确信度交易最高 3%(很少使用)
新策略/不确定的策略0.5%
示例
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)

方法 2:基于 ATR 的仓位规模

根据波动率设定止损距离,再据此计算仓位规模。

Stop distance = ATR(14) × multiplier
Shares = Risk amount ÷ Stop distance
市场状况ATR 倍数
低波动率(ADX < 20)1.5× ATR
正常波动率2.0× ATR
高波动率(ADX > 30)2.5× ATR

这样一来,波动较大的股票会自然采用较小仓位,走势平稳的股票则会采用较大仓位。

方法 3:凯利准则(进阶)

适用于至少有 30 笔交易记录的交易者:

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.
胜率平均盈亏比凯利比例半凯利
40%2.010%5%
50%1.517%8%
60%1.227%13%

投资组合约束

以下是硬性限制——无论使用哪种仓位规模计算方法,都不得超出:

约束限制
单只股票不超过投资组合的 20%
单一行业不超过投资组合的 35%
总未平仓风险不超过投资组合的 6%(所有持仓风险之和)
相关持仓同一时间同一行业最多持有 3 只股票

如果某个仓位会突破约束,请缩小仓位,直至符合限制。

杠杆调整

使用保证金/杠杆时,亏损会被放大,因此计算方式会有所变化:

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%

输出

按以下格式呈现仓位规模:

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

评论

支持 Markdown