システムトレード自動化、仕切りなおし

システムトレードの自動化をテーマとして、2年ほど、自作システムの開発と運用に取り組んできました。
しばらく順調だったのですが、2011年の2月ごろにつまづきました。


自作システムの構成は、

  • 約16MBもの巨大なExcel VBAがコアロジックで、
  • C#.NETで一般ブローカから200ミリ秒ごとに為替レートを取得し、
  • SQL Server 2008でレートを記録・管理して、
  • PHPCakePHPSQLite+さくらレンタルサーバで取引指示受付・決済履歴の記録とWEB公開、
  • C#.NET+Firefox+iMacrosで取引指示の確認と、一般ブローカへの自動売買の執行

・・・という、もし僕が保守を頼まれてもちょっと遠慮したい複雑な構成です。


その際のロジックは1種類だけ、1時間足ブレイクアウト&トレンドフォロー型でした。
ボリンジャーバンドATRの収縮時に、OCO注文で両張りしてブレイクを期待し、いったんポジションを持った後は、トレーリングストップの幅を随時調整しながらトレンドについていきます。
それを6通貨ペアで並行稼動して、リスク分散や複利効果の向上を図ったものです。

3年間のバックテストでのおおまかな性能としては、

  • 損益比(スプレッド込み)は3.46、
  • リスクリワードレシオは1.7(勝ち時60pips、負け時-35pips)で
  • 勝率は約60%(トレンドフォロー型にしては良好すぎて怪しい値です)、
  • トレード数は約500回/年、
  • 最大ドローダウンは37.2%(今思えばダメージ大きすぎます)、
  • 獲得pipsは約1万2千/年。

こんな成績だと、資金15万円が、複利効果で2年後に6500万円に増えるはず・・・という、人生変わっちゃうほどの高性能ロジックです。

・・・この通りの成績が未来でも続くのなら。
実際に稼動させてみると、そんなに甘くは行きませんでした。


さてこの自作システムを、2010年9月からリアル口座で運用開始しました。
最初1ヶ月目にポンド円が大誤算で15%ぐらいのドローダウンを食らったものの、ポンド円を停止してからは毎月資金を増やしてくれ、4ヶ月間で+60%ほどと順調でした。
たまたま、市場がトレンドを形成しやすい季節だったようです。ユーロドルとポンドドルの2通貨ペアが非常によく働きました。

そうやって順調に増やしたところで、2011年2月頃にこのロジックは賞味期限切れとなったようです。
設計上最大のドローダウン(30%)を数日のうちに計上したため、異常事態だと判断して、かろうじて原資を割らないところで運用を停止しました。

なだれの様に何ヶ月かの収益をどんどん市場へ戻していく様は、製作者として毎日心が痛み、それとともに「なるほど、そう甘くないものなんだ」という納得感も沸いたりで、複雑な気持ちでした。
自作システムを止めているした今は、ほっと安心している部分も大きいです。

このシステムの構築には本業の合間にこつこつ時間を費やして、都合1年半ぐらいかかっており、失った資金は自分のものだけでは無かったこともあって、気持ちを立て直し、何が問題だったかを整理するのに日にちがかかりました。


上記のようにリアル運用したことで、得難い経験値をたくさん稼ぎました。

  • システムトレードの自動化は、本当に不労所得を得ることができる(当初は半信半疑でした)
  • 複利の威力(物理学者アインシュタインが「数学の歴史上、最大の発見は?」との質問に、「複利」だと答えたとか)
  • バックテスト上、何年後かに原資が数倍になるのだとしても、実際には途中で一時的に30%とかのドローダウンを生じると、見ていて非常に辛く、運用を即座に止めたくなる誘惑に駆られる
  • ロジックどおり取引を執行し続けるのは、心理的な負担が大きく、僕のようなふつうの人間には困難(100pips以上獲得の成功トレードでも、途中経過は山あり谷ありで、僕の神経ではとても最後まで付き合いきれない内容です。僕ならたぶん長期的には損を重ねていくでしょう。95%が負け組、というのに深く納得です)
  • システムトレードの性能や安定性を評価するためには、統計学的な知識と手法が必要(有料EAの宣伝文句によくある、勝率や損益比や資金増加率やらはアテになりません)
  • FXはプロの投機筋なんかとの資金の奪い合いであり、僕みたいな素人一人が思いつくロジック案では甘いし、実用可能まで磨くのに日数がかかりすぎる


これらを踏まえて、2011年6月、仕切りなおしをいたします。

  • ひとまず、メジャーなプラットフォーム(MetaTrader4)に乗り換えます
  • 日数リソースの浪費を避けるためと、心理的に負担の少ない運用とするため、実績充分な有料のEAを機軸に据えます
  • 統計学をちょっとかじって、ちゃんと未来にも通用する性能測定や調整ができるように、勉強します
  • 自動運用が安定しだしたら、自作も再開します(うわさを総合すると、MetaTrader4は便利ですけど、安定稼動に不安があり、スプレッドが不利なようなので)