備えあれば憂いなしというけど、備えてますか?

2014/02/09 カテゴリ:自動トレード
  • このエントリーをはてなブックマークに追加

備えあれば憂いなしというけど、備えてますか?

先日、師匠(為替和尚)と自動トレードの打ち合わせをしました。
そろそろ実装段階に移る必要があり、現在集中審議中です。


1月でだいぶ設計も固まり、より具体的なレベルの話に移っています。先日の打ち合わせの中で、特に話題になったのが「どうすれば安定運用できるか?」ということ。


もちろん、ロジック面でのリスクもそうだけど、大事なお金を機械に預けるわけだから、万が一の事態が発生した時や、システムが正常に動作しているかをどう判断するか? つまり「フェイルセーフ」に時間を割きました。

フェイルセーフとは?

フェイルセーフ(フェールセーフ、フェイルセイフ、fail safe)はなんらかの装置・システムにおいて、誤操作・誤動作による障害が発生した場合、常に安全側に制御すること。またはそうなるような設計手法で信頼性設計のひとつ。これは装置やシステムは必ず故障するということを前提にしたものである。

引用元:Wikipedia

ひとことで言うと、安全装置ですね。


24時間365日運用するものなので、自動トレードをする場合には避けては通れない懸案事項なのです。
主に裁量トレードをしている人には、あまり関係がないかもしれませんが、ポジションがオープンの時に、サーバーに繋がらなくなったらどうしますか?
あるいは、目の前のパソコンが壊れたら?

これらを想定するのが、フェイルセーフなんですよ。


裁量トレーダーも、自動トレードほどではないにしろ、
万が一のトラブルに備えておく必要があります。

 

※ブログランキング参戦中。よかったら応援してください

 

フェイルセーフにはどんな種類がある?

一口にフェイルセーフと言っても、範囲が広すぎて漠然としかイメージが持てないと思います。だから、まずFXで自動トレードをする際に、どんなことに気をつけるべきかをあげます。

(1) 資金上の問題

これは裁量トレードでも重要です。
トレードをしていて、避けられないのがドローダウンです。避けられないなら、どこまでドローダウンを許容するかを明確にしておく必要があります
1回あたりのトレードの損失額は、ロットサイズとS/Lで制限できますが、
トレードは何回も行われるので、連敗すると結果としてドローダウンとして現れます。
資金的なフェイルセーフは、どの程度のドローダウンが発生したら一旦トレードを止めるかを規定します。

(2)ソフト的なバグ

人間で言えば判断ミス、誤操作にあたります。
ソフトウェアは非常に複雑なので、バグゼロというのは難しいのです。
たいていはテストによってミスを検知し、バグを特定できますが、特定条件、特定環境にならないと発生しないもの、そもそも設計時に想定してなかった事態が発生すると、誤動作する可能性があります。


想定外の動作をした時に、どうするかを決めるのがこのフェイルセーフですが、ソフトウェアで動いているものの誤りを自動検知させるのは、かなり難しいことです。


ヒューマンエラーがなかなかなくならないように、これも悩ましい問題。

(3)パソコン側のトラブル

パソコン側で何らかのトラブルが発生し、ソフトウェアの正常な動作
ができない状況を指します。

例えば、HDDや電源の故障、OSのバグなど。

(4) 市場のトラブル

リーマンショック、ギリシャショックなど、相場の世界では「ショック」と名のつくものがいくつもあります。2年に1回は何かあると思っていいでしょう。この場合は、想定外のレートの動きや注文が通らないことを想定しています。

(5)サーバーサイドのトラブル

業者側サーバーのダウン、パンクなどを指します。
これも注文が通らない状態です。

(6) インフラのトラブル

ネット回線、電源(停電)などのトラブルを指します。

 

細かいものをあげれば切りがないので、この辺で。


数字が大きくなるほど、対応が難しくなります。
3.11のように大きな災害などが発生し、インフラが遮断されたら自分自身の手ではどうにもなりませんね。


個人レベルの運用では、パソコンに関わるトラブルを最小限にする意味で、VPS(Virtual Private Server)を借りてそこで運用します。
でないと、停電やPCの勝手なリブートなどの対策も必要です。

トラブルを検知した時にどうするか?

フェイルセーフは、さまざまな要因で発生したトラブルにどう対処するかを決めることです。


相場の世界、自動トレードの世界におけるフェイルセーフは、

自分の資金を守ること

たとえば、PCのトラブルとかでトレードが出来ない期間に、大きく相場が動いてたとします。「本来であれば100pipsとれてたのに!」というのは単なる機会損失。機会損失はいずれ同じような局面で取り返せます。
(そもそも手に乗ってないお金は、他人の相場ですよ)


でも、一番考えなければいけないのが、現在の手持ちの資金がリスクにさらされるのをいかに抑えるかですね


一番簡単なのは対策は、警報機です。
なにかトラブルを検知したら、警報を鳴らす仕組みは我々の身近にもたくさんあります。火災報知機とか。


ALSOKやセコムのような、民間の警備会社も同じ役割を果たしますね。

でも、これって人が監視するのが
前提なんです!

つまり、警報機がなっても、それに応じて動く人がいないとないのと同じ。ワンワンと近所迷惑なだけです。メールで通知する仕組みにしても同じ。


また、いつ来るかわからない警報を気にして生きるのは、精神衛生上よろしくないですね。人を雇って監視しているファンドもあるみたいですが。
なんか、チャートに張り付いているのが嫌で自動トレードにしたのに、結局システムの監視で人が張り付いてるのでは、本末転倒な気がします

たとえそれがバイトでも!

いろいろなトラブルが想定されますけど、機会損失はもともと自分のお金じゃないと割り切り、保護する対象を「オープンポジション」にしぼります。

オープンポジションを保護するには?

オープンポジションを保護する最も単純な方法は、ストップロス注文です。
もともと、損失を最小限に抑えるのが目的の注文方法ですが、トレードルール上の損失幅の固定に利用するのではなく、最悪この損失で抑えてくれといった最終防衛ラインの設定に利用します


通常のルールであれば20pipsで設定してあるストップロスを、フェイルセーフ目的で設定する場合は、50pipsとかルール上の設定値より広めに設定しておきます。もちろん、通常のルールのストップロス設定値でも構いませんが、そこはトレードルールによるのでなんとも言えません。


例えば、吉田と師匠が開発中のシステムは、プランBによるパッチは入ってますが、ストップロスという考えは入ってません。こういう場合には、仮の数字を設定します。


吉田も、自動トレードシステム開発当初から機会があるごとにフェイルセーフについて考えてきましたが、最終的な結論は…

オーダーが通っているのか?

という点に行き着きます。


自動トレードでも裁量トレードでも、

「自分の頭のなか(ロジック)」

「発注ソフト(PC)」

「業者のサーバー」

「マーケット(インターバンク)」

という流れになります。


つまり、自分自身の意思表示は、マーケットで「オーダー」という形にならなければ成立しないのです。


もちろん、最終防衛ラインであるフェイルセーフとしてのストップロスが何度も発生するようでは困るので、システムを2重化して正常動作しているかを監視したり、想定外のトラブルが起きた時に強制停止できるようにするといった工夫は必要になります。


自分の意思表示がオーダーであるなら、オーダーが通っていれば一安心ですが…

肝心のオーダーが通らない場合
はどうするよ?

別に、新規のポジションをもつための売り買い注文であれば、単なる機会損失なのでいいですが、決済注文が通らない場合は背筋も凍りますね


これは師匠の経験ですが、師匠はリーマンショックの際に、かなり大きな損失を出しました。でも、それは本人の問題ではなく、業者が一切注文を受け付けなかったことが原因です。
リーマンショックの際には、世界中で注文が飛び交いパニックになり、相場が正常に機能してませんでした。


決済注文が通らない=ストップ注文も怪しいとなると、最終防衛ラインも突破される可能性があるので、あとはマージンコールによる強制ロスカットしかないわけです


強制ロスカットは最後の砦で、例えるなら戦略シミュレーションゲームで、自分の首都に敵歩兵ユニットが乗ってる状態です。将棋で言えば王手をかけられた状態。ある意味詰みです


だから、強制ロスカットがかかっても、全財産を失わないように、許容できる範囲に抑えておく必要があります。
(これはあまり経験したくない事態ですけどね)

すぐに出来るお手軽フェイルセーフ

フェイルセーフの重要性がわかっていただけたと思います。

 

ちなみに吉田が実弾トレードするときのことですが、PCでオーダーが出せなかった時のために、iPhoneなどスマホで注文をだせる環境を必ず用意してます。


今はどの業者でもスマホ向けのアプリを用意しているので、
すぐに出来るお手軽フェイルセーフですよ


スマホは携帯キャリアの回線(3G、LTE)でのアクセスが出来るため、万が一、自宅のインターネット回線やパソコンがダメになった時にも利用できます。
スマホによるフェイルセーフは、オープンポジションの保全を目的にしているので、別にチャートが見れなくても構いません。


こんな事でも、備えあればトラブル発生時の対応が変わりますよ。
あとは、業者のサポートダイアルを携帯にメモリしておきましょう。

ボクラは電源と通信を確保してくれれば、なんとかなるよ。バグ? ボクラの責任じゃないヨ。

ブログランキング

この記事に対するコメント

8 件のコメント

  • まつもと
    2014/02/09 14:38

    大きく張ったポジションを持った瞬間に業者のサーバーが落ちた時はアワワワ((((;゚Д゚)))))))状態で指を咥える他なかったですし…

    EAのマジックナンバーが被った事で口座がパンクする迄、注文と決済を繰り返したといった事も、何かの記事で読んだことがあります(゚o゚;

    ほんと、備えあれば憂なしですね(^-^)

  • 2014/02/09 16:54

    >EAのマジックナンバーが被った事で口座がパンクする迄、注文と決済を繰り

    なりますね。
    オーダーの管理はマジックナンバーで行うので、複数のEAを
    まわす際にはユーザー側できちんとマジックナンバーの管理をしないと
    ダメです。

    業者のサーバーの能力は地味に大事ですが、契約してみないと
    わからないのが難点ですね。
    あとは、他の利用者の声を集めるよりほかないので。

  • とも
    2014/02/09 22:50

    システムの設定が固まって何よりです。

    私のシステムも正月以来2度の大改修を経て設計が95%ほど煮詰まりましたが、現在は本業に集中しなければならない状況にありあと1月はペンディング状態です。

    フェイルセーフで最も厄介なのはやはり決済のオフクォートですが、なるべく約定拒否のない別業者の口座で反対エントリが一番ではないでしょうか。それ以上の対策はちょっと思いつかない・・・

  • 2014/02/10 10:34

    >なるべく約定拒否のない別業者の口座で反対エントリが一番ではないでしょうか。

    まぁ業者を変えるというのがひとつの案かなと思いますが、
    業者を分けると資金管理に注意が必要ですね。
    あと、リーマンショックのようなイレギュラー時には、
    マージンコールのリスクは相変わらず残ると思います。

    約定拒否のリスクは、その業者の注文許容量に比例すると思います。
    カバー先の能力をきちんと調べないと、一発で資金を飛ばされる
    ということはありえるでしょうね。

  • 吉田(同姓です^^)
    2014/02/14 13:45

    いよいよ開発も大詰めですね!

    フェイルセーフについても十分対策を考えなければいけませんが、やはりポイントとしては
    ・二重三重のソフト的チェック体制
    ・必要以上に口座に資金を入れない
    ・防衛ラインとしてのロスカット注文を必ず入れておく
    ・別回線で決済、別業者で反対建玉できる体制をとっておく
    ・海外へ高飛びする経路を確保する(笑)
    あたりなのではないかなと考えています。

     当方はまだ試運用にも漕ぎ着けていないのでフェイルセーフどころの話ではないですが(笑)

  • 2014/02/14 16:38

    >・二重三重のソフト的チェック体制

    これがなかなか頭を悩ませます。
    自作ソフトだけの場合もそうですけど、MT4のように第3者の
    ソフトウェアが間に入ると、信頼性の確保に苦心しますね。

  • ゆきたか
    2014/02/21 19:45

    VPSは最悪運営会社にEAを盗まれるみたいですよ

  • 2014/02/22 12:23

    ゆきたかさん

    情報有り難うございます。
    そのようですね。自作EAを盗まれて運営会社と揉めてる方の
    ブログを以前読みました。

    単純なEAとしては動作させないし、セキュリティをかけるので、
    あまり心配はしてませんが、不正なIPからの発注は報告をかける
    仕組みは組んでおくつもりです。

    何かあったら法的な制裁を加えるだけですね。