前回までに次の 2 つの記事を書きました。
今回は、比較しやすくなるかと思って、一つのグラフに 2 つの推移を表示してみました。
環境
- Chart.js Version 2.7.2
- Microsoft EdgeHTML 17.17134
- Firefox 59.0.3
パラメーター
入力するパラメーターは以前と同じで次の通りです。
- 定率
- 口座残高
- 勝率
- 平均利益
- 平均損失
- 機会(ひと月当たりのトレードの機会)
- 試行回数
仕様
ランダム
勝率をもとにしたランダムな勝敗のパターンの仕様は以前と同じで次の通りです。
- 勝率をもとにランダムに勝敗を決める
- 資金管理は定率で、1トレード当たり(定率 × 口座残高)のリスクをとる
- 勝った場合は、(定率 × 口座残高) × (平均利益 ÷ 平均損失)の利益
- 負けた場合は、(定率 × 口座残高)の損失
- 試行回数の数だけ繰り返す
- 口座残高の推移を折れ線グラフに表示する
- 最終的な口座残高を表示する
- 試行結果の勝率を表示する
- 試行結果の期待値を表示する
- 機会をもとに平均月利を表示する
- 機会をもとに平均年利を表示する
期待値
期待値をもとにしたパターンの仕様は以前と同じで次の通りです。
- 勝率と平均利益と平均損失から期待値を計算する
- 資金管理は定率で、1トレード当たり(定率 × 口座残高)のリスクをとる
- 定率が 0.02 で、口座残高が 1,000,000 で、期待値が 0.2 の場合、 1 回目のトレードで 20,000 円のリスクをとり、期待値を考慮した損益は 4,000 円となる
- 試行回数の数だけ繰り返す
- 口座残高の推移を折れ線グラフに表示する
- 最終的な口座残高を表示する
- 期待値を表示する
- 機会をもとに平均月利を表示する
- 機会をもとに平均年利を表示する
折れ線グラフ
ランダム | 期待値 | |
口座残高 | 0 | 0 |
勝率 | 0 | 0 |
期待値 | 0 | 0 |
平均月利 | 0 | 0 |
平均年利 | 0 | 0 |
Gist のソース
ソースを Gist にアップしました。
終わり
どうでしょうか。
同じパラメーターでも何回もシミュレーションしていると期待値を上回ったり、下回ったりしています。 100 回程度の試行回数だとかなり大きな差があると感じました。 期待値は 150 万円くらいになるのに、ランダムは 90 万円くらいになってしまったりしていました。