mcpField
P
position-sizing

position-sizing

github.com/agiprolabsその他456586 回インストール8 週間前に更新
リポジトリ

position-sizing について

トレーダー向けのポジションサイズ管理スキルです。固定比率、ボラティリティ調整、Kelly、流動性制約などを扱い、口座リスクやプール深度を踏まえて保守的なサイズを決めます。

主な機能

  1. 015 種類のポジションサイズ手法
  2. 02口座リスク比率に基づく計算
  3. 03ボラティリティに応じた調整
  4. 04プール深度による取引制限
  5. 05最も厳しいサイズ制約の選択
  6. 06口座とミーム資産の上限

活用シーン

  1. 01損切り幅とリスク比率からサイズを計算
  2. 02ボラティリティ上昇時に取引サイズを縮小
  3. 03流動性の低い Solana トークンの上限設定
  4. 04勝率とペイオフ比から Kelly サイズを評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/agiprolabs/claude-trading-skills --skill position-sizing

インストール後、Claude Code で/position-sizingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
practical_guide.md
sizing_formulas.md
scripts/
portfolio_sizer.py
size_calculator.py

詳細

ポジションサイジング

ポジションサイジングは、トレードにおけるリスク管理で最も重要な判断です。エントリーシグナルが方向を決め、ポジションサイズが生き残れるかどうかを決めます。適切なサイジングを行う平凡な戦略は、無謀なサイジングを行う優れた戦略を、十分な期間で見れば上回ります。

基本原則:エントリーではなく、サイズが生き残れるかどうかを決めます。同じシグナルを使う2人のトレーダーでも、サイジングが異なれば結果は大きく変わります。保守的にサイズを決めるトレーダーはドローダウンを乗り越え、資本を複利で増やします。一方、過剰なサイズを取るトレーダーは破綻します。

対象とする手法

手法最適な用途主な入力
固定フラクショナル一般的なトレード、最も推奨口座資金に対するリスク%
ボラティリティ調整型ボラティリティの高い市場、マルチアセットATRまたは実現ボラティリティ
ケリー基準実績に基づいてエッジを定量化できる場合勝率+ペイオフ比率
流動性制約型流動性の低いSolanaトークンプールの深さ
アンチ・マーチンゲールトレンドフォロー戦略直近の損益の連続状況

1. 固定フラクショナル・サイジング

ほとんどのトレーダーに最も推奨される手法です。各トレードで口座資金の一定割合をリスクにさらします。

計算式
risk_amount = account_value * risk_percentage
price_risk_per_unit = entry_price - stop_loss_price
position_size_units = risk_amount / price_risk_per_unit
position_value = position_size_units * entry_price
リスク階層
階層1トレードあたりのリスク用途
保守的0.5–1%新しい戦略、ドローダウンからの回復
標準1–2%ほとんどのトレーダー、実績のある戦略
積極的3–5%強く、測定可能なエッジがある確信度の高いセットアップ
例
account = 10_000  # $10,000 or 100 SOL
risk_pct = 0.02   # 2%
entry = 1.50
stop_loss = 1.30

risk_amount = account * risk_pct          # $200
price_risk = entry - stop_loss            # $0.20
position_units = risk_amount / price_risk # 1,000 tokens
position_value = position_units * entry   # $1,500

このサイジングでは、ストップロスに達した場合、トークンの価格やボラティリティにかかわらず、口座資金のちょうど2%を失います。


2. ボラティリティ調整型サイジング

ボラティリティに反比例してポジションサイズを調整します。ボラティリティが高いときはポジションを小さくし、低いときは大きくします。これにより、さまざまな市場環境でドルベースのリスクを均一化できます。

計算式
adjusted_size = base_size * (target_vol / current_vol)

ここで:

  • target_vol:目標とするポートフォリオの日次ボラティリティ(例:2%)
  • current_vol:トークンの現在の日次ボラティリティ(ATRまたは実現ボラティリティから算出)
ATRの使用
atr_14 = 0.12          # 14-period ATR
close_price = 1.50
daily_vol_pct = atr_14 / close_price  # 8%

target_daily_vol = account * 0.02      # $200 target daily move
position_size = target_daily_vol / atr_14  # 1,667 units

これにより、ボラティリティの高い市場ではエクスポージャーが自動的に減少し、落ち着いた市場では増加します。


3. ケリー基準

長期的な成長率を最大化する、リスクにさらす資本の数学的に最適な割合です。期待対数効用を最大化することで導出されます。

計算式
f* = (p * b - q) / b

ここで:

  • p = 勝率(トレードに勝つ確率)
  • q = 1 - p(トレードに負ける確率)
  • b = 平均利益 / 平均損失(ペイオフ比率)
  • f* = リスクにさらす資本の最適な割合

同等の式:f* = (p * (b + 1) - 1) / b

重要なルール:フル・ケリーは絶対に使わない

フル・ケリーは、エッジを完全に把握していることを前提とします。実際には、エッジの推定値にはノイズが含まれます。必ずフラクショナル・ケリーを使ってください。

割合用途備考
0.25x ケリー保守的、推奨されるデフォルトエッジの推定誤差に対して堅牢
0.50x ケリー中程度、十分に測定されたエッジ向けそれでもドローダウンのリスクは大きい
1.0x ケリー実践では使わない理論上の最大値。エッジを過大評価すると壊滅的
例
win_rate = 0.55       # 55% win rate
avg_win = 2.0         # Average win is 2x the average loss
avg_loss = 1.0
payoff_ratio = avg_win / avg_loss  # b = 2.0

kelly = (win_rate * payoff_ratio - (1 - win_rate)) / payoff_ratio
# kelly = (0.55 * 2.0 - 0.45) / 2.0 = 0.325 = 32.5%

quarter_kelly = kelly * 0.25  # 8.1% — use this
half_kelly = kelly * 0.50     # 16.25%

ケリー値がマイナスなら、エッジはありません。トレードしないでください。

数学的な完全な導出については、references/sizing_formulas.mdを参照してください。


4. 流動性制約型サイジング

Solanaトークンでは重要です。リスクモデル上は大きなポジションを取れる場合でも、スリッページが許容できない水準にならずにプールが対応できるとは限りません。

計算式(定積AMM)
slippage ≈ trade_size / pool_liquidity
max_trade = pool_liquidity * max_slippage_pct
経験則
制約指針
1回の取引の最大額プール流動性の2%
ポジションの最大額プール流動性の5%
プールの最小深度希望するポジションサイズの10倍
例
pool_sol = 500          # 500 SOL in pool
max_slippage = 0.02     # 2% max slippage

max_trade_sol = pool_sol * max_slippage  # 10 SOL
# For a $150 SOL price, that's $1,500 max per trade

最大のプールだけでなく、必ずすべてのプールを確認してください。 全体像を把握するには、Raydium、Orca、Meteoraの流動性を合算します。プールの深さの評価については、liquidity-analysisスキルを参照してください。

5. アンチ・マーチンゲール法によるポジションサイズ調整

勝った後はサイズを増やし、負けた後はサイズを減らします。これはギャンブラーの誤謬(マーチンゲール法)とは正反対です。考え方は、連勝は戦略が市場の動きと噛み合っている可能性を示し、連敗は市場レジームの変化を示している可能性があるというものです。

実装
def anti_martingale_size(
    base_size: float,
    consecutive_wins: int,
    consecutive_losses: int,
    scale_factor: float = 0.25,
    max_multiplier: float = 2.0,
    min_multiplier: float = 0.5,
) -> float:
    if consecutive_losses > 0:
        multiplier = max(min_multiplier, 1.0 - consecutive_losses * scale_factor)
    elif consecutive_wins > 0:
        multiplier = min(max_multiplier, 1.0 + consecutive_wins * scale_factor)
    else:
        multiplier = 1.0
    return base_size * multiplier

慎重に使用してください。3回以上連続で負けた後にサイズを50%減らすことで、ドローダウン中の資金を守れます。


ポジションサイズ調整の優先順位

すべての方法を組み合わせ、最も保守的な結果を採用します。

1. Calculate Kelly size          → theoretical max based on edge
2. Calculate fixed fractional    → risk-based size
3. Calculate volatility-adjusted → vol-normalized size
4. Calculate liquidity-constrained max → market-based ceiling
5. Final size = min(all four)    → binding constraint wins

適用される制約から、サイズを制限している要因が分かります。

  • ケリー基準による制約:優位性が小さいため、それに応じたサイズにします
  • リスクによる制約:標準的なリスク管理が上限です
  • ボラティリティによる制約:市場のボラティリティが高すぎるため、サイズを大きくできません
  • 流動性による制約:プールは、スリッページなしではこれ以上の取引を吸収できません

アカウントレベルの上限

個々のポジションのサイズ調整は必要ですが、それだけでは不十分です。ポートフォリオレベルの制約も必要です。

上限ガイドライン理由
単一ポジションの最大額ポートフォリオの10%分散投資の最低基準
相関資産へのエクスポージャー上限ポートフォリオの25%相関のある資産は連動して動きます
合計エクスポージャーの上限ポートフォリオの50~80%機会や証拠金に備えて現金を確保します
ポジション数の上限同時に5~10件注意力と管理能力の範囲内に収めます

PumpFun/ミームトークンのサイズ調整

PumpFunや初期段階のミームトークンでは、特に慎重なサイズ調整が必要です。

  • ポジションは非常に小さく:リスクが極めて高いため、1回の取引につき0.1~1 SOLにします
  • ボンディングカーブの充足率に応じて調整:初期段階では(ラグプルのリスクが高いため)小さくし、実績が確認できた後(Raydiumに移行した後)はやや大きくします
  • 期待リターンを基準にサイズを決めないでください。許容できる最大損失を基準にします
  • 宝くじのようなものとして扱います:大半は価値がゼロになると想定します
  • ポジション上限:すべてのミームポジションを合計して、ポートフォリオの5~10%を超えないようにします
# PumpFun sizing example
account_sol = 100
meme_budget = account_sol * 0.05   # 5 SOL total for memes
per_trade = meme_budget / 10       # 0.5 SOL each, 10 shots

他のスキルとの連携

スキル連携内容
risk-managementポートフォリオレベルの上限、ドローダウンルール
liquidity-analysis流動性の制約に用いるプールの深さデータ
kelly-criterionより詳細なケリー基準の計算、優位性の推定
exit-strategies損切りの設定が固定比率によるサイズ調整に影響します
volatility-modelingボラティリティ調整型のサイズ調整に用いる、より正確なボラティリティ推定
slippage-modeling流動性の制約に用いる、より正確なスリッページ推定

ファイル

リファレンス
  • references/sizing_formulas.md — すべてのサイズ調整方法の数学的導出と、計算例
  • references/practical_guide.md — アカウントサイズやトークンの種類に応じたサイズ調整と、よくある間違い
スクリプト
  • scripts/size_calculator.py — すべての方法でポジションサイズを計算し、適用される制約を表示します
  • scripts/portfolio_sizer.py — ポジションごとのリスクと利用可能な予算を表示する、ポートフォリオリスクダッシュボード

クイックリファレンス

# Minimal fixed fractional sizing — copy-paste starter
def calc_position_size(
    account: float, risk_pct: float, entry: float, stop: float
) -> float:
    """Return number of units to buy."""
    risk_amount = account * risk_pct
    price_risk = abs(entry - stop)
    if price_risk == 0:
        return 0.0
    return risk_amount / price_risk

コメント