動画⇩
https://www.youtube.com/watch?v=bhjrhtbf_5w&ab_channel=python%E3%81%A7%E6%A0%AA%E4%BE%A1%E5%88%86%E6%9E%90%E3%81%A8%E8%87%AA%E5%8B%95%E5%A3%B2%E8%B2%B7%E3%80%90%E7%8B%AC%E3%82%8A%E8%A8%80%E3%80%91
シミュレーションと実際の自動売買の結果が大きく異なる──こんな経験はありませんか?
今回は、私が使用しているシミュレーションコードの欠陥の一つについてご紹介します。
この問題を解決しなければ、シミュレーションで良い結果が出ても、実際の運用では思うような利益が得られない可能性があります。
信用取引の設定がシミュレーションの精度を左右する。
私の自動売買では、楽天マーケットスピード2の国内株発注エクセルを利用しています。発注時には、以下のような情報を設定します。
銘柄コード
注文数量
差し値・逆指値
取引種別(現物 or 信用)
この取引種別は「0(現物)」「1(信用)」の二択です。
私は基本的に信用取引を活用しているため、「1」を選択して発注しています。
しかし、ここで問題が発生します。
信用取引には、信用買い・信用売り(空売り) がありますが、すべての銘柄が信用取引の対象になっているわけではありません。
たとえば、
・信用取引の規制がかかっている銘柄
・貸借銘柄ではないため空売りできない銘柄
・信用取引の在庫が枯渇している銘柄
これらの銘柄は、信用取引を選択しても実際には発注できません。
しかし、私のシミュレーションではすべての銘柄を信用取引できる前提で計算してしまっています。
そのため、実際の自動売買とは異なる結果になり、シミュレーションと実運用の損益に大きな乖離が生じることがあるのです。
シミュレーションと実運用の損益を近づけるには?
この問題を解決するためには、
・信用取引の可否をAPIやデータベースで事前にチェックする
・実際の発注条件と同じ条件でシミュレーションを行う
・信用取引の規制状況を定期的に確認する
といった対策が必要になります。
あと、一番簡単な解決策は全てのトレードを現物取引にしてしまうことですね。
シミュレーションと実際の取引結果を可能な限り一致させることで、より正確な売買戦略を構築できます。
次回も、シミュレーションコードの改善点についてご紹介していきますので、お楽しみに。
関連記事
自動売買の損益を安定させるために必要なこと
楽天マーケットスピード2を使った自動売買の始め方
この記事が参考になったら、ぜひシェアしてください!
シミュレーションと実際のトレードの乖離:信用取引の落とし穴
- 2025-03-21
- 2025-03-21
- システムトレード
- 6view

ツイートもチェックしよう!