悪い友達にそそのかされて、FXの研究を時々する。
システムトレードが本当に可能か、いろいろ試した。かなり手間をかけた自分の経験を書いておく。もし、システムトレードを志している、やっている人がいれば、ITエンジニアの観点も参考になるかも知れない。以下、「かもしれない」「だろう」ばかり書いていてもしょうがないので、自分の目から見たものだということで、断定口調で書いておくが、決めつけてるとか、上から目線とか、バカが勝手に思い込んでいる、とお考えなら読まないでほしい。この文章を書くまでに、どれだけの手間と時間をかけたかわからないから。。ね、F君。
風邪で寝込んでいるから、ゆっくり書く気になった。
ただし、2010年11月時点の話であって、将来変わるかもしれない。
まず、日本で提供されているシステムトレーディングツールの論評から。
とにかくFXのデータを集めることすら苦労する。フォレックス・トレードは簡単にデータをCSVで提供する機能があり、使いやすかった。が、最新データをほぼ無料で入手できる業者は以下のAPIを提供している業者しかないように思う。
それでAPI提供業者はすべて口座を作ってプログラムを試作してみた。
マネックス joo トレーディングAPI
エクセルVBAで叩けるという触れ込みだが、使い物にならない。理由は、APIのマニュアルがあまりにおそまつ。おそらく開発時のドキュメントの一部であり、使用者に伝えるマニュアルじゃない。細かいことはなにも載っておらず、サンプルを見てくれという。そのサンプルが標準モジュールにダラダラと書かれた関数群であって、クラスになっていないため、解読が必要となる。しかも、すべてのAPIを説明しているわけでもない。大事なAPIについても定義は一切ない。
システムインテグレーションでユーザーに「マニュアルです」といったら、ぶん殴られるレベルである。ちなみに「マニュアルがないとわからないのか?」というつっこみがあるかも知れないが、「定義されていないインターフェースを使ったプログラムで金をかけられるのか?」と問いたい。
しかも、しょっちゅうハングする。オペレーショナルリスクを考えると実用性はゼロ。
あえていうならば、初歩的な特定の条件のアラートをあげるといった二次的な用途には使えるかも知れない。
楽天 RSS
アーキテクチャはマイクロソフトDDEという、今じゃ誰も振り向かないインターフェースだが、サーバーの負荷が軽い点を考えれば、これはこれでありだと思う。考えたシステム・アーキテクトは鋭いと思う。
しかし、これもデータの定義がどこにもない。渡すパラメータを「価格1」とか命名してあっても、はっきりしようがない。思い余って「はてな」の人力検索にも頼ったが誰も知らないようだ。これじゃ、上と同じで安心して使えない。
それと、あまり連続してAPIを叩くのは禁止されているところも使いづらい。発想はよかったがインプリはダメダメという典型か。
国内MetaTrader
システムトレーディングの市販本を調べれば、99%はMetaTrader4についてである。しかし、国内でMetaTraderでの発注を許している業者は評判が悪すぎる。金融庁は外為どっとコムを吊るすより、やることがあるんじゃないか?
外資系もアメリカのクチコミサイトを調べたら、ボロクソにコメントされ評価は低レベル。日本語の窓口があるからといって信用できるかというと、まったく関係ないようだ。
海外の業者を使っている人もいるが、ドロンされたらどうしようもなくなる。どうしてもやりたい人はドル建てでドイツの業者などを使っているようだ。が、円高の昨今、なにをやっているのかわからなくないか?
時々、海外のMeta Traderのデータを利用して、国内業者と取引する、という案を見かけるが、現実的ではない。そもそもFXは鰻屋の蒲焼の匂いをかぎながら、取引は鰻屋の外でするシステムである。つまり、インターバンクのレートを眺めているといいながら、業者と為替の取引をする。自分が買ったドルがインターバンクに影響を与えることは、めったにないし、リアルタイムの影響は考えられない。つまり、取引業者が提示するFXの価格とMeta Traderのサーバーを運営する業者の提示する価格は違っていて当たり前。場合によっては、そのギャップを利用して取引業者はインターバンクからさや抜きをする。
FXは小数点以下、2,3桁で争うものだから、こういう使い方は意味がない。
KakakuFX MK2(すでに閉店しました。残念!)
一部でSAXO系といわれるものがあるが、これは上記の私設市場とは違う。インターバンクに繋がっているため価格も信用できる。日本のあくどい業者に慣れてしまった人間は取引が成立しないと、業者がスリップさせたと疑うが、そんな少額の取引をいちいちコントロールはしない。全体の流量を考えるとコストにあわない。
必ずしもそうだとはいわないが、日本とヨーロッパの間は回線の遅延はかなりある。あんまりリアルタイム性を求めても不可能である。
(そこに目をつけたハイ・フリークエンシー取引というアコギな手法をゴールドマン・サックスなどは使っている。なんと、合法である。リアルタイム性にこだわる人は調べて、諦めてほしい。笑)
KakakuFXのMK2はスイスのDUCASCOPY BANKの日本版。DUCASCOPYはFXのシステムトレーディングを研究している人なら知っていると思う。FXデータを安定して提供してくれている業者でもある。その関係でDUCASCOPYは私は以前から知っていた。日本ではなじみがないかも知れないが、かなりの大手業者である。システムトレーディングは全面的にOKで、カカクも許しているJavaインターフェースをもつ。しかも、APIを詳細に説明したJavaDocもある。ここで初めて信頼できる精度のAPIのドキュメントをみた。やはり日本人開発のシステムじゃ、ダメというのが現実である。
KAKAKUの欠点は口座にお金を入れないと使えないこと。が、使用料を取られるわけじゃないので、それだけの価値は十分にあるとおもう。
FXでプログラムを自分で書いてシステムトレードしようという人には、現時点ではKakakuFX MK2が日本国内では最適ではないかと、自分の調査では思う。
とはいえ、FXを理解しJavaでロジック書く人間って、日本にどれだけいるだろうか、とも思った。Meta TraderでもEAというロジックを自分で開発している人はどれくらいいるのだろうか?
チャート主体の「テクニカル分析」
私の勤務先は不幸にして大手町であり、金融関係の企業が多い。本屋に行くと、金融関係の本はとても充実している。私の大学時代の恩師が書いた金融工学の本が書棚にあるくらい漏れなくある。
当然、株、FXといった素人投資家の書棚もある。少しずつ立ち読みして、売られているFX本はほとんど目をとおした。
テクニカル分析といいながら、ほぼ全部の著者が安直なチャートを目でみるパターン認識以上はやっていないようだ。かつてエクセルでの株価分析の本を出している人に聞いても、自分で分析している人はほとんど聞いたことない、という。ほとんどの人が業者提供のグラフで満足しているらしい。
FXで勝っている人というのを信じてはならない。あとに書く誤謬と、1万人いて丁半博打をすると、5000人が勝つ。二回目は2500人。三回目は1250人。四回目は725人。5回目は362人。6回目は181人。7回目は90人。8回目は45人。9回目は22人。10回目は10人。
10回やって勝ち続けた10人は、必勝方法を見つけた、と確信するだろう。そういう危険が常にある。
さて、金融工学の書棚と一般投資の書棚の両方を見ると、とてもおもしろいことに気づく。いわゆるテクニカル指標といわれているような内容を説明した本は金融工学の棚で見つけることはない。もちろん、チャートの分析の本もない。
テクニカル分析自体は否定しないが、99%の本に抜けているのはイベントの分析だろう。チャートの動きを追うのであれば、事件の後から追うべきであり、そうでなければパターンの誤謬に陥る。
唯一、他と違う参考になった本はコレ。
ただし、Amazonでいろんな人が書いてくれているレビューに大事なことが書いてあるので、それを込みで。本だけじゃ、未完成。
トレーディングとは「利をいかに伸ばすか、損切りするか」につきるのだから。
システムトレードの誤解
一応、書いておくが個人がシステムトレードをする際に、全自動だと思っている人が多いが、ありえない。というのも、データ量と計算量が限られるためデータはサンプリングしていくしかない。特定の条件でアラートをあげ、若干の計算(ロスカット値など)をさせるのがせいぜいで、発注は手作業となるのが現実。たとえば、なにかの発表でドンと下げたり、上げたりした時にはたいていのアラートは反応してしまうだろう。それでどうするかは状況の判断がはいらざるをえない。ヤバければ、トレードしないのである。相場は無限に続いていくのだから。
システムトレーディングを自称している本にエクセルでバーっと計算して「この指標以上なら買い」などとやっているが、あれを信じてはいけない。
たとえば、チャートを見てみんなのいう「トレンド」を数値でどういう指標にするか?すら、むつかしい問題なのだ。ローソク足のグラフが急に傾いている、とか、おだやかな傾き、とか、ボックス圏内、とテクニカル分析でみんなが平気で理解していることをどう数値として表すかという問題について回答を与えている本はない。(もちろん、私なりの答えはあるが公表するつもりはサラサラない。金儲けのネタはロックのかかるところにしか書かない) 市販本の「システムトレード」はそういう問題すら逃げている。
次に、システムトレードは十分にバックテストをして、機械的にやらねば勝てないといっている人には、私の経験を書いておきたいと思う。
パターンの誤謬
「競馬最強の法則」という雑誌があり、しばしば「よく当たる予想法」については本が出る。ある人が、スポーツ新聞の馬能力の指標に若干の計算をほどこして、分布パターンで必勝法をあみ出した。過去のデータからすると、数レースやれば必ず勝てるのである。私もすごいと思った。紙の新聞のデータをノートに克明に転記し、パターンごとに分類していった手間は大変だったと思う。
ところが、その本が出たとたんに、まったく当たらなくなったのである。
いわゆる出目という因果関係のわからない法則というものは、「過去をうまく説明できたから、これからもうまく説明できるとは限らない」という恐ろしさがあるのだ。結局はランダムにかけた結果と同様となり、大数の法則に沈んでいく。競馬必勝の法則が何度か出した法則本はほとんど同じ結末をたどっている。イヤになるくらい大数の法則は正しい。
つまりシステムトレードにおいて、勝てる論理とはなんらかの根拠がなければ大数の法則にしずむということである。RSIと移動平均の組み合わせでうんぬんというのは、まさに同じ過去データの違う見方をひねくりまわしているだけで、未来に適用可能かというとおそらく適用できなくなる。こんなものをいくらバックテストして、うまくいくように見えても、将来をなにも保障していない。
過去データのパターンのみを法則化した(ふくむ、チャートのパターン)ものを安易に信じてはいけない、根拠を問うべきである。たとえ、「人間心理はこう動く」でも立派な根拠である。
根拠のないトレーディングシステムは改善のしようがないのだ。
根拠のあるテクニカル分析方法を探してください。私はそうやって作りました。