本章の内容
システムトレードには落とし穴がある
システムトレードを始めるのは、とても簡単です。
トレードプログラムは買うことが出来ますし、条件を満たせば無料で使うこともできます。
プログラムを稼働させるサーバは、FX会社に口座を開設して取引すれば、無料で使うことができます。
プログラムとサーバを一体化して提供する無償のクラウドサービスもあり、プログラムを選択するだけで始められます。
稼働させるプログラムの選択まで自動化したサービスもあります。
これだけ色々なサービスが充実していれば、トレードルールを自分で探求することも、自前でプログラムを開発することも、コストを負担してサーバを稼働させることも、まったく無意味に思えます。
しかし、それこそがシステムトレードの落とし穴なのです。美味しそうな果実のなる木の周りに大きな穴を掘り、その上を板や草で覆って見えなくしておくと、その果実を食べに来た動物が穴の中に落ちて捕捉される、あの落とし穴です。
「タダなので、取り敢えず一番楽にできるクラウドの自動プログラム選択からやってみよう」と思われた方は、半年も経たないうちに、「システムトレードなど二度と手を出さない」と心に固く誓っているかもしれません。
「無料とはいっても、すべて自動というのもさすがに怖いので、良いプログラムを自分で選択して動かそう」と思われた方は、1年も経たないうちに、「勝てるプログラムが無い」という結論に達しているかもしれません。
「FX会社にすべてを委ねるのは不安なので、無料のプログラムを自分で借りたサーバで稼働させよう」と思われた方は、期待したパフォーマンスが出ないことに悩まされているかもしれません。
実は、これらはすべて、私が過去に経験したことです。本業が忙しく、自分でシステムトレードに取り組む余裕のなかった会社員時代の経験です。もちろん、すべての方がこれに当てはまると言うつもりはありませんが、自分で取り組むようになった今、これらの結果は必然だったと思っています。
システムトレードが本来持つポテンシャルも、落とし穴にはまってしまえば、元も子もありません。どこに落とし穴があり、それをどうやって回避すれば、システムトレードの果実が得られるのか。
これが、本章でお話しする内容になります。
落とし穴①/サービスの裏にある利益相反
FXは事業としてサービスが提供されているので、事業者はどこかで利益を上げなければ意味がありません。その利益が提供するサービスの対価であれば、そのビジネスは健全だと言えますが、もしその利益が顧客の損失によって生み出されるのであれば、そのビジネスは悪いビジネスと言わざるを得ません。後者の関係を利益相反と呼び、一般的なビジネスの世界では禁じ手とされます。
FXを事業の観点からみた場合、主要な収益ポイントはスプレッド(売値と買値の差分)になります。スプレッドはあくまでトレードの手数料という位置付けなので、顧客がトレードでいくら儲けようとも関係ありません(実際はそうとも言えないのですが、その点はまた別の機会にお話しします)。また、顧客を獲得する競争原理が働き、スプレッドを無闇に広げられない点においても、ある程度は事業の健全性が保たれていると考えられます。
しかし、実際のところは、それほど単純ではありません。というのは、顧客からの売買注文を成立させる過程において、利益相反の関係が生まれてしまうのです。どういうことかと言うと、事業者は、顧客同士の売買をマッチングさせるだけでなく、事業者と顧客との間で売買を成立させることができるのです。
前者なら、事業者は顧客の損益に関わらず取引の手数料が収益になるのに対し、後者の場合、「顧客の損失が事業者の利益、顧客の利益が事業者の損失」になるのです。
倫理上はともかく、法律や行政指導で禁じられていない限り、それが収益を高める手段になるのであれば、採用する会社があってもおかしくありません。顧客同士の売買を仲介する手数料ビジネスが、過当競争によりジリ貧になればならさらです。
FXの事業にこうした利益相反が潜在する以上、顧客が長期にわたり大きく儲けられるプログラムを、クラウドサービスで提供するとは考え難いのです。むしろ、顧客が徐々に投資金を増やした後に、どこかのタイミングで大きく負けるプログラムこそが、事業者にとっては最も好ましいプログラムなのかもしれません。
落とし穴②/作為が潜む公開データ
「でも、クラウドサービスを見てみると、過去数年間に年利が100%を超えているプログラムもありますよ」と思われた方もおられると思います。
おそらく、そうした方も、「驚異の年利300%」、「月利30%を達成」といったネット上に溢れる怪しい情報には、「どうせ何かからくりがあるんでしょ」と疑いから入られると思います。
残念ながら、クラウドサービスに公開されているデータにも、実際の稼働を反映しない「からくり」が含まれているのです。
悪質なものから挙げますと、都合の悪いトレードがいつの間にか履歴から消されていたり、ある時点からパラメータを変更したデータにすり替わっていたり、といったことがあるのです。こうした作為は、継続してフォローしていないと気付かないですし、たとえ発覚してもペナルティが課されるものでもありません。
こうした作為は、ひっそりと行われるだけではありません。トレードプログラムのリストから、成績の悪いものを除外し、新しいものを適宜追加することを定期的に行えば、自ずとリストにあるトレードプログラムの成績は良くなります。このような成績のロンダリングが、隠すことなく行われているのです。
トレードに発生する費用を含めずに、成績を公開しているところもあります。頻繁なトレードによりスプレッドコストが膨れ上がったり、長期の塩漬けでマイナススワップが積み重なったり、実際の稼働ではトレードの利益を費用が上回っていた、ということも少なくありません。
実際の運用では保有ポジションが強制的に決済されてしまうハイレバレッジのトレードを、好成績のプログラムとして公開されていることも多々あります。また、スプレッドの拡大などで、実際には約定しないトレードが多数含まれていることもあります。
これらの作為とは、少し異なる作為もあります。それは、短期間の検証結果しか示さないことです。本当に使えるプログラムであれば、10年以上の検証でも、基本的に右肩上がりの収益になります。ですので、短い期間の検証データしか示されていなければ、それは意図的だと考えた方が良いかもしれません。直近の相場に適合させたプログラムは、遠くない将来にその反動に見舞われることになります。
クラウドサービスのトレードプログラムは、自分では検証できない為、公開されているデータに基づき判断するしかありません。しかしながら、その公開データには様々な作為が潜んでいることを、理解しておく必要があるのです。
落とし穴③/期待したパフォーマンスが得られないトレードプログラム
プログラムの販売あるいはレンタルを専業にしている会社は、事業そのものの信用に関わることもあり、クラウドサービスに比べると、はるかに信頼性の高い検証データを公開しています。こうした会社の大半は、自社で開発したプログラムだけでなく、他者が作ったプログラムの代理販売あるいはレンタルを行っています。
ほとんどのプログラムが、過去10年以上の検証を行い、その間の収益や最大損失など、事細かに把握できます。また、本稼働の前に自分で検証することも可能です。
「それだけしっかりとした検証をすれば、期待通りの結果が得られるんじゃないの」と思われるかもしれません。
クラウドサービスのプログラムと比べると確かにその通りですが、それでもなお、期待したパフォーマンスが得られないプログラムは少なくないのです。
なぜそうしたことが起きるかは、自分がプログラムを作成して売る立場になって考えれば、見えてきます。
プログラムの販売もレンタルも、たくさんのプログラムが並んでいる中から、自分の作成したプログラムを選んでもらう必要があります。その為には、検証結果が他より良いものでなければなりません。そこで、色々な条件を試しては、検証結果が良くなるものを、次々にトレードルールに加えていきます。その上で、ルールに用いるパラメータを最適化すれば、検証結果は更に良くなります。
こうして出来上がるのが、検証に用いたデータに、とても良く適合したプログラムというわけです。そこには、前章で述べた客観性などありません。特定期間のデータにのみ過剰に適合させることは、その期間とは異なる値動きへの適合を犠牲にすることを意味するのです。
更に、過剰適合の中で最もやっかいなのは、同時に複数のポジションをもつトレードルールです。ナンピン、マーチン、ピラミッディングなどが有名ですが、それ以外にも、ポジションを持つ際の期待値に応じて本数を増やしたり、常に複数のポジションを持ち異なる決済方法を取るなど、様々あります。
なぜこれがやっかいかと言うと、ルールが複雑になるだけでなく、新たにパラメータも増えて、過剰適合のリスクが掛け算で高まるからです。そして、より深刻なのは、適合しない相場がきた時に、ポジションが過度に積み上がり、想定した最大損失リスクを大きく超えてしまうのです。
過剰適合を生む複雑なルールや多数のパラメータには、副次的なデメリットもあります。それは、プログラムの使用者が、それぞれのパラメータの役割を十分に理解できないまま稼働させてしまう、ということです。例えば、取引数量と連動させて設定すべきパラメータを、役割がよく理解できない為にデフォルト値のまま稼働させたら、予想外のトレードをして大きな損失を被る、といったことが起きるのです。
過剰適合の問題は、トレードルールの中身が分からなければ、実際に運用する中でしか判断がつきません。そして、その判断がつくタイミングというのは、大きな損失が出た時なのです。つまり、トレードルールの中身を理解せずにプログラムを走らせるのは、いつ爆発するか分からない時限爆弾を抱えながら生活するようなものなのです。
解決策は「セルフ(=自分でやる)」
ここまで読んで頂いた方は、システムトレードを行う際に、どのような落とし穴があるかをご理解頂けたと思います。「こんなに落とし穴がいっぱいあるなら、システムトレードなんて怖くてやれない」と思われる方がいても、当然だと思います。
ただ、前章までにお話ししてきたように、不労所得に適し、かつ合理的なトレードが可能なシステムトレードを、「怖いからやらない」とするのはもったいないと思います。実際、これらの落とし穴に嵌りながらも、私がシステムトレードを続けてきたのは、まさに「もったいない」からです。
落とし穴に嵌らなければ、その果実を得られるのですから、落とし穴に嵌らない対策を打てば良いのです。
では、どうすればよいか?
答えは簡単です。「セルフ」でやれば良いのです。つまり、システムトレードを自分でやるということです。中身の分からないプログラムを使うのではなく、理に適った戦術(トレードルール)と戦略(運用)に基づき、自分で運用すれば良いのです。
第1章で、システムトレードは投資を経営として行うことだと述べましたが、クラウドサービスを利用するのは、事業の戦略立案と社員の採用育成という経営の肝心を、自ら放棄するのに等しいと言えます。
信頼性の低い公開データに基づいてプログラムを選択するのは、自己申告に過ぎない履歴書だけで社員の採否を決めているようなものです。
検証結果が良いプログラムほど実際に良いパフォーマンスを示すはず、と信じて疑わないのは、経営者に人を見る目がなく、学歴や外見だけで社員を採用するのによく似ています。
大事なのは、システムトレードという経営の手綱を自分がしっかりと握ることです。もちろん、経営の戦術や戦略を練る為に、他者から学んだり助言を受けることは、とても大事です。しかしながら、その内容を理解して、実際に採用するか否かを判断するのは、あくまで経営者の役割なのです。
この点さえ押さえておけば、落とし穴に嵌ることは避けられます。つまり、セルフというのは、経営の裁量を人に委ねないこと、と言ってよいかもしれません。あとは、経営の判断として、一部を外注するなどして業務の合理化を図れば良いのです。