口座残高の推移をシミュレーションしてみました

勝率と平均利益、平均損失をもとに口座残高の推移を Chart.js の折れ線グラフで表示してみました。

それから、ひと月当たりのトレードの機会をもとに、月利と年利も計算してみました。

環境

  • Chart.js Version 2.7.2
  • Microsoft EdgeHTML 17.17134
  • Firefox 59.0.3

パラメーター

入力するパラメーターは次の通りです。

  • 定率
  • 口座残高
  • 勝率
  • 平均利益
  • 平均損失
  • 機会(ひと月当たりのトレードの機会)
  • 試行回数

仕様

  • 勝率をもとにランダムに勝敗を決める
  • 資金管理は定率で、1トレード当たり(定率 × 口座残高)のリスクをとる
    • 勝った場合は、(定率 × 口座残高) × (平均利益 ÷ 平均損失)の利益
    • 負けた場合は、(定率 × 口座残高)の損失
  • 試行回数の数だけ繰り返す
  • 口座残高の推移を折れ線グラフに表示する
  • 最終的な口座残高を表示する
  • 試行結果の勝率を表示する
  • 試行結果の期待値を表示する
  • 機会をもとに平均月利を表示する
  • 機会をもとに平均年利を表示する

シミュレーション

シミュレーションの結果を折れ線グラフに表示してみました。

定率
口座残高
勝率
平均利益
平均損失
機会
試行回数
口座残高 0
勝率 0
期待値 0
平均月利 0
平均年利 0

ちゃんと表示されたかな。

Gist のソース

ソースを Gist にアップしました。

終わり

勝率をもとに結果を表示していますが、 100 回くらいのランダムな試行では、バラツキがあるのを実感しました。 パラメーターが同じでも、試行によっては 100 万円が 380 万円になることもあれば、 80 万円になってしまうこともありました。 1,000 回くらいのランダムな試行では、期待値がプラスであれば指数関数的な右肩上がりのグラフになることがわかりました。

それから、ひと月当たりのトレードの機会をもとに、どれだけの利益率になるのか表示してみました。 機会が少なくても、期待値がプラスであれば、長期的には大きな口座残高になることがわかりました。 そして、機会が多い方が短期的にも大きな口座残高になることもわかりました。 今のわたしのトレードでは、ひと月当たりのトレードの機会は 3 回程度なので、もう少し短期の時間足でトレードしないといけないかもしれないと思いました。 これじゃ、生きているうちに 1,000 回もトレードできないから。

2 May 2018 追記

次の記事を書きました。