システムトレードを日々行う上で
注文エラーは多少でも無視できない問題であると言うことが徐々にわかってきました。
現在は1口座のみの稼動で注文不成立が起きた場合は 同じ口座に対して瞬時にリトライ注文を行う仕組みとしてありますが
そもそもアプリや業者のシステムトラブル等の場合はいくら再注文しても成立は不可能です。
■現在
手法成立
↓
注文1
↓
エラー
↓
再注文1
↓
エラー
↓
再注文2
↓
エラー
↓
再注文3
↓
エラー
↓
注文不成立
不成立により勝敗に影響が出る。不成立の勝ち負けに大きな片寄りがあった場合、たとえば5回連続で 勝ちとなるエントリーのみが不成立となった場合、本来想定していた勝率から大きく乖離する場合がある。
回避策として注文用PCを2台稼動
そこそこリスク分散できるがPCの不具合などで片方に深刻なトラブルが発生した場合復旧できるまで1の状態に。
そこでトリプル注文SYSTEMを考案
PC2~3台で3口座に注文する。
注文方法は以下の2つが考えられます。
◆リレー形
3枚注文するとして
口座1に3枚注文
↓
エラー
↓
口座2に3枚注文
↓
エラー
↓
口座3に三枚注文
↓
成立
(通常は口座1で成立)
しかしながらこの場合口座3まで到達するのに時間がかかることに・・
そこで
◆分散型注文 ※それぞれの口座に1枚注文
エラーリトライ分散形
手法成立
↓
口座1に1枚注文 → エラー↓
同時に口座2に1枚注文→成立 →口座2に1のエラー分を1枚追加注文→成立
同時に 口座3に1枚注文→成立
1つがエラーを起こしても遅れが発生するのは1枚だけにとどまる。
さらにPC3台であれば1台に問題が出ても2台で分散注文1台は時間をかけて復旧を行えるというメリットもあるでしょうか。
PC再起動をする場合は3台中の2台が稼動している状態で1台だけが再起動するようにすれば取引を中止せずに再起動が可能です。(これを考えるとやはり3台もしくはそれ以上が理想)
注文エラーは吉と働く場合もありますが回数が多い場合は勝率に深刻な問題が出てくる場合がほとんどです。
勝率の制度を上げるにはこのような仕組み作りが必要かと感じる今日このこの頃ではありますが、この仕組みをプログラミングするのはまた骨の折れる作業となりそうです。