IB証券でシストレ|CFDのダウ30と日経225をMACDでデイトレード

スポンサーリンク

IB証券(インタラクティブ・ブローカーズ証券)にてCFDのダウ30と日経225をMACDでデイトレードするシストレを紹介します。Pythonで構築したシステムは、コピペだけでほとんどそのままシストレを開始できます。状況次第ですが年利10%は固いです。

重要
本ページのシストレについて、IB証券でこのCFDは取引できないことが判明しました。
先物であれば取引ができますので、先物で再検討します。少々お待ち下さい。
スポンサーリンク

前提

投資の考え方

今回の投資手法の指針は、以下のように考えました。

「勝つためには負けないこと」

馬鹿じゃねえか。当たり前だろう。という皆様、私もそう思いました。
しかし、ある時、あるハイレバでガンガン儲けているYouTubeの動画で言っていた以下のことを思い出しました。

「FXのUSD/JPYは、極端な価格のポジションでは無く、且つレバレッジが大きく無ければいつか勝てる」

そうだ!これだ!

ということは、トレンドが並行か、右肩上がりの買い、もしくは右肩下がりの売りを仕掛ければ、いつかは利食いできる。

でも、これに近いことというか、これをやっていたのですが、それでも負けました。というか大負けです。

VIXという恐怖指数の投資ですが、いつかは世の中は安定するから下がるという投資です。
上記の条件に当てはめると、13ドルくらいの売り(極端というほどでもないかと。。)、レバレッジというより70ドルに暴騰してもいいようにたっぷりの証拠金を積んでいました。が、なんと歴代1位になる高騰を見せ、あっさりと玉砕しました。。。

これらを踏まえ、今回の投資の方向性の考え方です。

  1. DOW30、日経225を買いで仕掛ける。
    • 現在の価格は最高値の8割くらい。あがる余地は十分ある。
    • 下がるリスクも最大2割と考える。(3月に最高値の6割くらいになったから。
  2. 買いのみ。売りはやらない。
    • 今よりは世の中良くなると考えるから。
  3. インジゲーターMacdの1分足と5分足が買いクロスになったら買い。
    • 根拠は弱いのですが、私が手動でトレードしているときに、概ねその動きに合わせると利益が出そうな気がしたからです。
  4. 上昇トレンドの時だけトレードする。
    • 下げ相場で逆張りはうまくいかないです。
    • 上げ相場の下げを狙うスタンスです。

目標

同期間のそれぞれの株価上昇率より10%以上、上回るパフォーマンスを出せること。
(特に意味はないのですが、同じパフォーマンスだったらシストレでなく普通に買えばいいだけになります。ではどれくらい以上のパフォーマンスがいいのかというと、これは個人の感覚かと思います。ということで10%くらいはなんとかしたいと。

シストレの投資手法

金融商品CFD(ダウ30、日経225)
金融機関IB証券(インタラクティブ・ブローカーズ証券)
資金DOW30:5万米ドル、日経225:500万円(これらはバックテスト用という意味です。
売買買いのみ
売買数量DOW30:5枚、日経225:500枚の固定(複利効果を使わず
投資判断買い発注インジゲーターMacdの1分足と5分足、日足が買いクロス(バックテストの結果、日足を含めない方がパフォーマンスが良かった。
利確インジゲーターMacdの1分足か5分足のどちらかが買いクロスを外れた場合、且つ利益が100pips以上
損切しない
売り発注
利確
損切

投資対象の商品情報

IB証券のCDFはイギリスのIB証券の商品となっており、欧州証券市場監督局(ESMA)によるルールが適用されるようです。

ダウ30日経225
シンボルIBUS30IBJP225
通貨USDJPY
取引数量(枚1〜201〜850
手数料*片道
(最低手数料)
0.01%
($1.00)
0.01%
(¥40)
取引時間
(BST、英国時間
通常取引時間 08:00~21:00
取引可能時間 03:00~16:00
通常取引時間 01:00~07:10
取引可能時間 20:00~02:10

*手数料は約定レートに対してのパーセントです。片道となっています。決済時の約定レートで手数料が発生します。

オーバーナイトの借入金利はベンチマークの± 1.5%となっています。

とあるので注意しましょう。現時点では買いの場合は金利をもらえます。

金利・利息 | インタラクティブ・ブローカーズ証券株式会社
通貨ごとのIB金利IBの受取利息と支払金利の計算方法と例

その他、詳しくは以下を参照してください。

https://ibkr.info/node/1984

証拠金は以下を参照してください。

CFDのための必要証拠金 | インタラクティブ・ブローカーズ証券株式会社
お客様の居住地および取引場所に基いて、CFD取引のための必要証拠金をご確認ください。
https://ibkr.info/article/3241

システム要件

開発環境

  • OS:macOS Carolina 10.15.4
  • 言語:Python 3.7.2
  • 開発ツール
    • バックテスト用システム:Jupyter Notebook 1.0.0
    • 本番用システム:Visual Studio Code 1.45.1

本番環境

  • OS:Windows Server 2012 R2(AWS
  • 言語:Python 3.7.4

あれ。Pythonのバージョンがあっていませんね。。。気にしない気にしない。。。

バックテスト

システム

以下はGithubにアップしていますので、ダウンロードして利用してください。
(左下のファイル名をクリックするとGithubのサイトに遷移します。「Download ZIP」をクリックするとダウンロードできます。)

過去データはIB証券からダウンロードしたものを利用しているのですが、それは再配布禁止とIB証券の規約になっていたと思いますので、手間ですが、ご自身でダウンロードしてください。

過去データは、1分足、5分足、日足を使っています。

ファイル名は投資対象のシンボル名+足(1分足:M1、5分足:M5、日足:D1)になっています。
例)IBJP225_D1.csv

ソースにゴミがあったりしますが、すいません。

注意

  • バックテストに手数料は含まれていません。
  • スプレッドは固定でテストしていますが、実際には変動します。

結果

当初の投資手法の通り

シンボル投資回数期間日数回数/日数損益PIPS期間PIPS損益/期間PIPS資金残上昇率利益回数損失回数勝率
IBUS3072231.80%1120.85627178.80%55,604111.20%70100%
IBJP225131872.20%1085.03111297.60%5,542,515110.90%120100%

投資判断から日足のmacdの判断を除く

シンボル投資回数期間日数回数/日数損益PIPS期間PIPS損益/期間PIPS資金残上昇率利益回数損失回数勝率
IBUS30122254.50%1637.27627261.10%58,186116.40%110100%
IBJP2252018111.10%1476.421112132.80%5,738,210114.80%190100%

日足のmacdの判断を除いたものに、投資判断に1分足のmacdが0以上の場合に実行するを追加

シンボル投資回数期間日数回数/日数損益PIPS期間PIPS損益/期間PIPS資金残上昇率利益回数損失回数勝率
IBUS30122254.50%1586.05627253.00%57,930115.90%110100%
IBJP2252018111.10%1457.41112131.10%5,728,700114.60%190100%

まとめ

  • 投資方針に下降トレンド時に対策として日足のmacdの判断を付けたがパフォーマンスが落ちた。
    (上記の投資手法など訂正済み。ソースには残骸があります。

以下は、投資判断から日足のmacdの判断を除いた場合です。

  • 約1ヶ月間のテストとなったがパフォーマンスは月利15%ほどだった。
  • 期間の株価(CFD)の上昇率より、ダウ30は約2.6倍、日経は約1.3倍となった。
  • 日経225よりダウ30の方がパフォーマンスが良かった。多分、ボラティリティが大きいということだと思います。
  • 作りながら1分足のMACDが1以上という追加の条件を考えたが、パフォーマンスは少し落ちた。
    (上記のソースに残骸があります。

課題

  1. 長期間などのテストを再実施する。
  2. 上記ともつながるが、今回のようなショックで天井で掴むリスクがある。この回避方法はないか。
  3. 期間中の最大の含み損はいくらになるのか。またロスカットされないのか。

今後の方針

基本的に良い結果を得られたので、課題事項を確認した上で、本番に入りたいと思います。

課題の対応

以下の2つをバックテストしました。

  • 長期間などのテストを再実施する。
  • 期間中の最大の含み損はいくらになるのか。またロスカットされないのか。

2020年の年初から

シンボル投資回数期間日数回数/日数損益PIPS期間PIPS損益/期間PIPS資金残上昇率利益回数損失回数勝率含み損PIPS左記の価格
IBUS301210111.90%1262.84-4008-31.50%56,314112.60%110100%-1120829460
IBJP2253783.80%139.02-3680-3.80%5,069,510101.40%20100%-784924090
まとめ
  • 今回のコロナショックがあったので想定通りだったが、天井を掴んでそのままトレードがストップ
  • それでも途中までは、DOW30は112.6%の利益を出しています。
最大含み損の時のロスカットの検証
IBUS30IBJP225
建玉時貸付資産を含む資産価値現金00
貸付-97,300-7,045,000
金融資産147,30012,045,000
ELV50,0005,000,000
維持証拠金金融資産147,30012,045,000
維持証拠金率25%25%
MM36,8253,011,250
証拠金余力ELV – MM13,1751,988,750
最大含み損の時貸付資産を含む資産価値現金00
貸付-97,300-7,045,000
金融資産91,2608,120,500
ELV-6,0401,075,500
維持証拠金金融資産91,2608,120,500
維持証拠金率25%25%
MM22,8152,030,125
証拠金余力ELV – MM-28,855-954,625

ぶっちぎりのロスカットですね。資金を増やすか、数量を減らさないとダメですね

2019年のデータ

シンボル投資回数期間日数回数/日数損益PIPS期間PIPS損益/期間PIPS資金残上昇率利益回数損失回数勝率含み損左記の価格
IBUS305125220.20%5793.65451106.30%78,968157.90%500100%-2073.0127314.01
IBJP2254224117.40%4744.144230112.20%7,372,070147.40%410100%-2226.3422289.8
まとめ
  • 2019年は上昇トレンドでしたが、株価の上昇よりも本シストレの方が少しに高かったです。10%前後ですね。まぁ目標は達成していると判断しましょう。
  • 年利はきたーって感じです。約1.5倍に資産が増えています。
    • ダウ30:年利157.9%
    • 日経225:年利147.4%
  • 回数/日数が20%弱くらいなので週に1回くらいの投資になります
最大含み損の時のロスカットの検証
IBUS30IBJP225
建玉時貸付資産を含む資産価値現金00
貸付-86,570-6,144,500
金融資産136,57011,144,500
ELV50,0005,000,000
維持証拠金金融資産136,57011,144,500
維持証拠金率25%25%
MM34,1422,786,125
証拠金余力ELV – MM15,8582,213,875
最大含み損の時貸付資産を含む資産価値現金00
貸付-86,570-6,144,500
金融資産126,20510,031,500
ELV39,6353,887,000
維持証拠金金融資産126,20510,031,500
維持証拠金率25%25%
MM31,5512,507,875
証拠金余力ELV – MM8,0841,379,125

ロスカットされなかったようです。

しかし、もう少し資金を増やすか、数量を減らさないと危険ですね

2018年のデータ

シンボル投資回数期間日数回数/日数損益PIPS期間PIPS損益/期間PIPS資金残上昇率利益回数損失回数勝率含み損左記の価格
IBUS30162516.40%1894.41-1620-116.90%59,472118.90%150100%-524526935
IBJP225102454.10%831.86-3270-25.40%5,415,930108.30%90100%-547724427
まとめ
  • 株価は、年初からは少し下げていますが、ほぼ横ばいのトレンドだったようです。
  • そんな中のシストレですが、どうやら天井を掴んだようで、投資回数が著しく少ないです
  • それまでの利益は良かったようです。
    • DOW30:年利18.9%
    • 日経225:年利8.3%
最大含み損の時のロスカットの検証
IBUS30IBJP225
建玉時貸付資産を含む資産価値現金00
貸付-84,675-7,213,500
金融資産134,67512,213,500
ELV50,0005,000,000
維持証拠金金融資産134,67512,213,500
維持証拠金率25%25%
MM33,6693,053,375
証拠金余力ELV – MM16,3311,946,625
最大含み損の時貸付資産を含む資産価値現金00
貸付-84,675-7,213,500
金融資産108,4509,475,000
ELV23,7752,261,500
維持証拠金金融資産108,4509,475,000
維持証拠金率25%25%
MM27,1122,368,750
証拠金余力ELV – MM-3,338-107,250

ほんの少しですが、資金を増やすか、数量を減らさないとロスカットされます

もしかするとそれまでの利益でギリギリですが、ロスカットされなかったかも知れません。
日経でいうと、上記では10万円強足りずにロスカットですが、それまでに40万円ほどの利益を出していますので、助かっていたようです。DOW30は同じですね。

しかし、タイミングの問題で、この頂点の時にこのシストレを初めていたら利益はないのでロスカットされます。アウトです。

課題のまとめ

  • 資金の余裕がなかったり、ロスカットされてしまいます。
    2020年の初期からのデータで、以下の設定で、軽くバックテストしました。
    • DOW30:数量を3枚
      29,460米ドル × 3枚 = 88,380米ドル – 現金50,000米ドル = 38,380米ドル × 1.33 = 51,045米ドル
      29,460米ドル -11,208pips = 18,252米ドル × 3枚 = 54,756米ドル
    • 日経225:数量を300枚
      24,090円 × 300枚 = 7,227,000円 – 現金5,000,000円 = 2,227,000円 × 1.33 = 2,961,910円
      24,090円 -7,849pips = 16,241円 × 300枚 = 4,872,300円

上記のように減らせば、今回のショックでも耐えうることがわかりました。

  • 天井掴みは仕方ないですね。ただ、基本的には右肩上がりだと信じるしかないかも知れません。
    あとはいつ始めるかのタイミング次第ですね。

本番

作成しました。こんな感じかなと思います。

本来であれば、バックテストと本番のシステムは同じものがいいと思うのですが、いろいろ面倒なので別に作りました。

その他、所々、ちょっとと思うところはありますが。。。

インポートしている独自のライブラリが2つあります。

  • import cls_db
  • import cls_lineself.access_tokenのところは設定してください。
これもGitHub Gistアップしています。余計な関数が多いですが。

シストレの本体

  • CFDsのところで、購入する数量を変更してください。現状はバックテストに合わせています。
  • # Systemのコメント以下のところのIPやポート、クライアントIDは自身の仕様に変更してください。
  • # 通知のコメント以下のところは不要でしたら削除してください。
  • 通常取引時間のみ取引しています。時間外取引は停止します。

cls_db

cls_line

コメント

タイトルとURLをコピーしました