資金管理シミュレーター

勝率とリスクリワード比(RR)から、連敗がどのくらいの確率で起きるか、資金がどの程度落ち込みうるかを数字で確かめるツールです。計算はお使いのブラウザ内で行い、入力値はどこにも送信しません。

1. 連敗の確率

勝率と取引回数を入れると、その回数のうちに「k 回以上の連敗」が少なくとも1回起きる確率を、k = 3〜15 について表にします。

0〜10,000 回

k 連敗以上が少なくとも1回起きる確率
連敗数 kk 連敗以上が1回以上起きる確率

計算方法

  • 1回ごとに勝つ確率を p(勝率)、負ける確率を 1 − p とし、引き分けは考えません。
  • 「直近で何回続けて負けているか(0〜k−1 回)」ごとの確率を1回ずつ更新し、k 回続けて負けた時点の確率を足し上げます(動的計画法)。近似式は使わず、取りうるすべての勝ち負けの並びを数えたのと同じ値になります。
  • 読み方の例:勝率 50%・100 回なら、5 連敗以上が少なくとも1回起きる確率は約 81.0% です。同じ条件で 100 回の取引をひとまとまりとして何度もくり返したとき、およそ 10 回中 8 回はその途中で 5 連敗以上が起きる、という意味です。

2. 損失を取り戻すのに必要な利益率

資金が L% 減ったあと、元の金額に戻すには、減ったあとの資金に対して L% より大きな利益率が必要になります。

0 以上 100 未満

必要な利益率(%)= L ÷(100 − L)× 100

損失率ごとの必要な利益率(小数第1位まで)
損失率必要な利益率
5%5.3%
10%11.1%
15%17.6%
20%25.0%
25%33.3%
30%42.9%
40%66.7%
50%100.0%
60%150.0%
70%233.3%
80%400.0%
90%900.0%

3. 検証ノートから読み込む(任意)

検証ノートに記録があれば、その勝率と実績の R(各取引の 結果 ÷ 損切り幅)を読み込み、連敗の確率とシミュレーションの入力に使えます。記録はこのブラウザの保存領域から読むだけで、送信も変更もしません。

  • R = 結果(pips)÷ 損切り幅(pips)。損切り幅ちょうどで損切りになった取引は −1R です。
  • 読み込むと、1 の勝率に「引き分けを除いた勝率」を、4 の勝率と RR に「引き分けを除いた勝率」と「R で見た RR(勝ちの R の平均 ÷ 負けの R の平均)」を入れ、4 の勝ち負けの指定を「検証ノートの R から抽出」に切り替えます。
  • R で見た RR は損切り幅で割ってから平均するため、検証ノートに表示される pips で見た「実績の RR」とは一致しないことがあります。
  • 読み込めない場合(記録が無い、保存が使えない環境など)も、各欄に手入力すれば計算できます。

4. 資金推移のシミュレーション

入力した勝率・RR・1回のリスクで、乱数を使って取引を何度もくり返し(モンテカルロ法)、最終資金や最大ドローダウンがどのくらいの範囲にばらつくかを計算します。

勝ち負けの指定

勝ちは +RR × 1R、負けは −1R

1回のリスク(損切りになったときの損失)

例:損切り 20pips でスプレッド等が 1pips なら 0.05

0〜2,000 回

1〜10,000 回

途中で資金がこの割合を割る確率を出します

取引回数 × 試行回数 は 5,000,000 までです(ブラウザが重くならないようにするため)。

同じ入力・同じシードなら、何度実行しても同じ結果になります(1〜4294967295 の整数)。

計算式と前提

  • 1R = 1回のリスク額。定率は「その時点の資金 × リスク(%)÷ 100」(資金の増減に合わせて変わる)、固定額は毎回同じ金額です。
  • 勝ちの結果 = +RR × 1R − コスト × 1R、負けの結果 = −1R − コスト × 1R。検証ノートの R から抽出する場合は、記録した R の中から毎回1つを同じ確率で選びます(同じ記録を何度でも選びうる)。
  • 資金 ← 資金 + 1R × その回の R。資金が 0 以下になった時点で 0 としてその試行を終えます。
  • 1回あたりの期待値(R)= 勝率 × RR −(1 − 勝率)− コスト(検証ノートの R の場合は R の平均 − コスト)。
  • 最大ドローダウン =(それまでの資金の最高値 − 資金)÷ それまでの資金の最高値 の最大値。最高値には初期資金を含みます。
  • 「◯% を割る」は、途中で一度でも資金が 初期資金 × ◯% を下回った試行の割合です(ちょうど同じ金額は含めません)。
  • 乱数はシードから決まる疑似乱数(mulberry32)で、試行ごとにシードと試行番号から乱数の列を作ります。取引数量・通貨ペア・1ロットの通貨数は使いません(取引数量の計算はロット計算ツール)。
  • 資金が 1018 円に達した試行は、それ以上増えないものとして計算します(数値が扱えない大きさになるのを防ぐため)。