自分の安全スイッチを切った日
私の最初のライブトレードボットの履歴のどこかに、誇れないコミットがある。それはわずか二語だ。稼働中のシステムのただ中で、ある問題を消し去るために、私は口座を守るはずだった安全機構に手を突っ込んでこう書いた。if False。
それは、煙探知機を切ることが「効く」のと同じ意味で効いた。アラームは止まった。アラームが見張っていた対象は止まらなかった。
鳴り止まないガード
初期に、私は一つだけ正しいことをしていた。ライブボットに日次の損失上限を与えたのだ。口座が一日で大きく下落しすぎたら、システムはトレードを止めて私を待つはずだった。それは最も基本的な種類のサーキットブレーカーであり、紙の上では、初心者が築くよう言われるまさにその種の規律だった。
問題は、実際には何も間違っていないのに何度もトリップし続けたことだった。ボットがポジションに現金を投入するたびに、ガードは現金残高が減るのを見て、それを損失と読み取った。だからガードは自分の仕事をした。けたたましく、絶え間なく、ガードが主張する損失条件を経験していないシステムを停止させながら。理由もなく数分ごとに鳴るアラームは安全機能ではない。それはノイズだ。そしてノイズは、やがて黙らされる。
二語のホットフィックス
そこで私はそれを黙らせた。セッションの途中、ボットを稼働させたまま、私は日次損失チェックを無効化し――if False――そしてそれを出荷した。停止は止まった。ボットは再び自由にトレードした。数分間は修正したように感じた。
それは修正ではなかった。それはあのプロジェクト全体で私が下した最も危険な決定の一つであり、その理由を正確に述べる価値がある。
私が実際にやったこと
ガードがトリップしていたのは、誤った情報を与えられていたからだ――ポジションに現金を費やすことと、お金を失うことを混同していた。それは本物のバグであり、本物の修正があった。買うことと失うことの違いをガードに教えることだ。
私はそれをしなかった。私はガードを切った。私は測定の問題を、まるでガードの問題であるかのように扱い、ガードを取り除くことでそれを解決した。それは、ピーピー鳴り続けるからといって煙探知機から電池を抜くのと、エンジニアリング的に等価だ。ピー音は止まる。保護もまた止まる。
無効化されたガードは、複利で膨らむ負債だ
ここが、当時の私が感じたよりもずっと私を怯えさせるべきだった部分だ。ホットフィックスの前は、私の問題は単に煩わしいだけだった。あまりに頻繁に私を止めるガードだ。ホットフィックスの後、私の問題は目に見えず、際限がないものになった――実際のお金をトレードするライブボットが、機能する損失上限をまったく持たずに稼働していたのだ。
誤報には私に見えるコストがあった。中断されたトレードだ。無効化されたガードには私に見えないコストがあった――本物の損失が到来するかもしれない日が来て、それを阻むものが何もないと気づくその日まで。私は見えて生き延びられる苛立ちを、見えず際限のないリスクと引き換えにしていた。しかも、赤信号をより速く青に変えるためにそうしたのだ。
それが安全装置を無効化することの誘惑だ。コストは先送りされる。すぐには何も悪いことは起きない。請求書は、来るとすれば、後から一気に来る――最悪のタイミングで。それはまさに、そのガードが対処するために存在していたその瞬間だ。
正しい手:ガードを黙らせるな、修理せよ
正しい対応は退屈なものだった。意図された安全装置は妥当だったが、その測定と会計の入力が壊れていた。だから入力を直すのだ。ガードに供給される信号を分離し、現金がポジションへ移動する通常の動きにではなく、実際の損失に反応するようにする。ガードが本物の損失を通常の購入から見分けられるようになると、それは狼が来たと叫ぶのをやめた――そして、本当に重要となる損失のために、そこに無傷で在り続けた。
ここから私が得た規則は、恥ずかしいほど単純で、私は今やそれをほぼ絶対のものとして扱っている。安全機構を切ったままトレードを続けてはならない。ガードが誤って発火したら、それを変更したり無効化したりする前に、その入力とそれ自身のロジックを診断せよ――そして無防備に走らせるのではなく、再開する前にそれを修理するか置き換えよ。
ガードの本当の意義は、あなたがそこにいない瞬間にある
これが、手動で操作するほとんど何よりも自動システムにとって重要である理由がある。ライブボットは、あなたが眠っている間も、仕事をしている間も、その存在を半ば忘れている間も走る。その安全機構は、あなたが見ている瞬間のためのものではない――そのときはほとんど必要ない。それは、あなたが見ていない瞬間のためのものだ。午前4時の鋭い動き、祝日にしか発火しないバグ、机を離れた90秒の間に展開する連鎖。
煩わしさを今日かわすためにガードを無効化するとき、あなたはまさにそうした瞬間を担保に借金をしている。あなたは、見張られていない時間が穏やかなものであることに賭けている。市場は、その賭けを公正な条件では提供しない。
私はあの二語のコミットを、一種の警告ラベルとして心に留めている。if Falseは世界で最も簡単な修正であり、そしてしばしば、それはまったく修正ではない――それは、あなたに見える問題を、あなたに見えない災厄へと変える手段なのだ。
— シグナルなし、リターンなし、投資助言ではない。