直接の答え:ロット数計算の数式
「ロット数計算(lot size calculation)」とは通常、ポジションサイズの単位(ロット)と、通貨の元となる金額またはノーション値の間を変換することを意味します。多くの場合、目標リスクに合わせたり、注文を一貫してサイジングしたりするためです。
FXでは、最も一般的な基本関係はコントラクトサイズに基づきます:
ノーション値 = ロット数 × コントラクトサイズ
プラットフォームがコントラクトサイズをどう表現しているかによって、次のように書かれることがあります:
- 1 standard lot = ベース通貨の100,000ユニットの場合: ノーション(ベース通貨) = ロット数 × 100,000
- 1 mini lot = 10,000ユニットの場合: ノーション(ベース通貨) = ロット数 × 10,000
- 1 micro lot = 1,000ユニットの場合: ノーション(ベース通貨) = ロット数 × 1,000
そして、pip valueに基づくポジションサイズ(リスクサイジング)を必要とする場合、よくあるリスクモデルは次を使います:
リスクにさらされる金額 ≈ ストップ距離(pips) × pip value(口座通貨)/ロット × ロット数
並べ替えると、よく使われるサイジング数式は次の通りです:
ロット数 = リスクにさらされる金額 ÷(ストップ距離(pips) × 1ロットあたりのpip value)
途中の手順が違っても、考え方は同じです。つまり、リスクを金額に変換し、ストップ距離をpipsに変換し、口座通貨での1ロットあたりのpip valueを計算してから、ロット数を解きます。
仕組み:変数、単位、シンプルなモデル
ロット数計算は、通常4つの入力グループに依存します。
1) コントラクトサイズと「ベースユニット」
FXペアでは、片方がベース通貨、もう片方がクォート通貨です。コントラクトサイズは、1ロットがベース通貨の何ユニットに相当するかを示します。
- **ロットサイズ(lots)**は注文のラベル(表示)です。
- ベースユニットは、ベース通貨の元となる金額です。
安定した換算は次の通りです:
ベースユニット = ロット数 × コントラクトサイズ
2) ノーション値
「ノーション(notional)」は、計算で使われるノーションのエクスポージャーです。シンプルな形は次の通りです:
ノーション(ベース通貨) = ロット数 × コントラクトサイズ
ノーションをクォート通貨で必要とする場合は、通常、為替レートを掛けます(ペアがどちらの向きで建値されているかに注意して):
ノーション(クォート通貨) = ベースユニット × 為替レート
3) 1ロットあたりのpip value
pipは、FXで使われる標準化された価格変動です。1ロットあたりのpip valueは、1ロットあたり1pipで、口座通貨でいくら変わるかを表します。
一般的なリスクモデルでは、関連する値動きの範囲でpip valueはおおむね一定だと仮定します:
金額の変化 ≈ pip value × pipsの数
したがって、口座通貨での1ロットあたりのpip valueがすでに分かっているなら、ロット数の計算はシンプルです:
ロット数 = リスクにさらされる金額 ÷(ストップ距離(pips) × 1ロットあたりのpip value)
もし1ロットあたりのpip valueが直接与えられていない場合は、コントラクトサイズと、その金融商品の価格慣行から計算できますが、重要な検証ステップは常に同じです。つまり、pip valueの出力が口座通貨と、ペアの建値の慣行に整合している必要があります。
4) 丸めと最小の増分
プラットフォームはしばしば最小注文サイズやステップサイズ(例:0.01ロット刻みでしか注文できない)を適用します。計算上は正確な数値が出ても、実際の取引サイズは丸められた値になります。
実務的で、宣伝的でない丸めの考え方は次の通りです:
- 数式から得られる生のロット数を計算する。
- 目標リスクを超えないようにしたい場合は、下方向に丸める(リスクが小さくなるか、同等になります)。
- もっとも近い実効サイズにしたい場合は、許可されたステップに最も近い値へ丸める。
重要なのは、丸めによって実効的なリスクとエクスポージャーが変わることです。
証拠または例:ロット数を計算して結果を検証する
ここではライブ価格やプラットフォーム固有のコントラクト仕様がないため、例では仮の数値を使います。これらを、あなたの取引対象のコントラクトサイズとpip valueの慣行に置き換えてください。
例A:ロット数をベースユニットに変換
1.0 lot = 100,000ベースユニットという標準的なコントラクトサイジングを仮定します。
- 0.20ロットを想定します。
- コントラクトサイズ = 1ロットあたり100,000ベースユニット。
すると:
ベースユニット = 0.20 × 100,000 = 20,000ベースユニット
検証の考え方:選んだコントラクトサイズが、あなたの取引対象に合っているかを再確認してください(standard / mini / micro など、そしてあなたのプラットフォームで「1 lot」が何を意味するか)。
例B:pip valueを使ったリスクベースのサイジング
仮定:
- リスクにさらされる金額(目標) = R
- ストップ距離 = S pips
- 1ロットあたりのpip value(口座通貨) = P
中核の数式:
ロット数 = R ÷(S × P)
取引やシグナルなしでできる検証手順:
- 次元(ディメンジョン)チェック:Rが金額で、Sがpipsで、Pが「1ロットあたり1pipの金額」なら、(S × P)は「1ロットあたりの金額」になります。したがって、その値でRを割るとロット数になります。
- 解いたロット数を使って金額の変化を再計算: 推定される金額の変化 = ロット数 × S × P は、(丸め前で)Rに近いはずです。
- プラットフォームのステップサイズに丸めを適用し、結果の金額の変化を再計算して、新しい実効リスクを確認します。
制限とリスク:数式が失敗する原因
正しい数式でも、入力が間違っていたり、前提が成り立たなかったりすると、誤ったロット数が出ることがあります。
重大な制限1:コントラクト仕様が異なる
「1 lot」は、すべての市場やプラットフォームで普遍的に同一ではありません。あなたのプラットフォームが別のコントラクトサイズ定義を使っている場合、ベースユニット = ロット数 × コントラクトサイズ は崩れます。
重大な制限2:pip valueの仮定とクォート通貨の影響
1ロットあたりのpip valueは、金融商品の建値の慣行と、口座通貨との関係に依存します。よくある失敗は、誤った「クォート通貨→口座通貨」の換算ロジックでpip valueを計算し、pip valueがある倍率分ずれてしまうことです。
重大な制限3:丸めと最小サイズ
プラットフォームがロットの増分を制限している場合、丸めによって実効的なポジションが、生の計算より大きくなることがあります。その結果、エクスポージャーや意図したリスク水準が変わります。
重大な制限4:pipsでのストップ距離が実際の約定と一致しない可能性
リスクモデルは、ストップ距離がポジションで実現されるpipsの数であることを前提にしています。計算と約定の間の価格変動、約定条件、そして異なるpipの慣行によって、実現される値動きが異なることがあります。
検証と次の確認質問:あなたの作業をチェックする
ロット数計算を独立に検証するには、次の順で確認します:
- プラットフォームが定義する**「1 lot」が何かを確認する(コントラクトサイズとユニット種別)。 2) ペアのベース通貨とクォート通貨を確認し、為替レートの使い方が一貫していることを確かめる。 3) あなたが使っているpipの定義**を確認する(特に、小数表記でpipの位置が曖昧になり得る金融商品では重要)。