2013年9月25日水曜日

アービトラージ(EA付)

アービトラージをご存知でしょうか。
日本語で言えば、裁定取引と訳します。

無リスクで差益を得るものというイメージが強いですが、正確には3つの種類のスプレッド取引に分類されます。

・現先スプレッド
・限月間スプレッド
・市場間スプレッド

「現先スプレッド」
現物とオプションとの価格差を使い、高いものを売って安いものを買う取引をいいます。
現物が安いときプットを買うの?コールを売るの?とかいう議論とか色々とあるのですがFXとは関係無いのでサラッといきます。

「限月間スプレッド」
これは現物先物の限月間で線形回帰するという理論を元に高いものを売って安いものを買うという手法です。
この話もFXとは関係無いのでサラッと流します。

「市場間スプレッド」
異なる市場で同一商品に価格差が生じている場合高いものを売って安いものを買う取引をいいます。
こいつは色々とFXでも出来ます。

・異なるFX会社間でのスプレッド取引1

FX会社に複数契約している方は色んな会社のストリーミング画面を見てみてください。
実にバラバラなことに気付いて頂けるでしょうか。
ここで安いものを買って高いものを売ります。
スプレッドを考慮して10pips以上差がついたときに売買するようにして下さい。


・異なるFX会社間でのスプレッド取引2

FX会社間でスワップ金利に差があることをご存知でしょうか。
私のオススメ証券会社の【ヒロセ通商】のスワップ金利と121証券のスワップ金利は全く異なります。
ヒロセ通商はスワップ金利がAsk、Bid共に大きく、121証券はAsk、Bid共に小さいです。
そこで、ヒロセ通商ではロングでポジションを持ち、121証券ではショートでポジションを持ちます。
すると、ロングとショートでポジションを持つため為替差損は生じません。
そのため、スワップ金利の差の分だけ利益が出るというわけです。
スワップ金利は毎日変動するので、金利差が生じているときだけポジションを持ってそれ以外の日はお休みです。


・異なる相場間でのスプレッド取引1

例えばUSD/JPYについて考えてみます。
「USD/JPYを買うこと」と「EUR/JPYを買ってEUR/USDを売ること」はポジションサイズを揃えると全く一緒です。
しかし、市場をよーく見ているとたまにここにズレが生じます。
そういうとこを見つけてささーっと売買するのです。

これ、実はうまく行くのではと思っています。
まだ検証していないので、EA作って検証しようと思っています。


・異なる相場間でのスプレッド取引2

USD/JPYはGBP/JPYとある程度の相関性があります。
この相関性を利用して取引を行う手法があります。
今まで上で述べてきた方法はどれも必ず勝てる方法ですが、このスプレッド取引は必勝法ではありません。

USD/JPYとGBP/JPYに相関性があるように見える理由は、GBP/USDの変動幅に比べUSD/JPYやGBP/JPYが小さいからです。
USD/JPYのロングとGBP/JPYのショートを同時に保持する行為はGBP/USDのショートを保持するのとほぼ同義です。


しかし、USD/JPYとGBP/JPYの差が急に広がったり急に狭まった後にある程度補正する動きをすることもまた本当です。
有名な為替鬼さんのブログでも「タイミングチャート」という名でこれについて紹介しています。
自分もMT4で作ってみたので使ってみたい方は

http://briefcase.yahoo.co.jp/bc/ta_system_trade/lst?.dir=/%a5%de%a5%a4%a5%c9%a5%ad%a5%e5%a5%e1%a5%f3%a5%c8/9b0a&.order=&.view=l&.src=bc&.done=http%3a//briefcase.yahoo.co.jp/

からダウンロードしてみて下さい。

2013年9月3日火曜日

ダメEAを向上させよう!~最適化よりもストラテジー向上~ (1)

昨日はADP雇用統計に参加してたので、あんまり検証を行ってません。
TAの収支はというと、、、
せっかく25pips取れたのに往復ビンタしようとしてバチバチビンタを喰らってしまいました。

結局4pipsしか残ってないし。。。
身の程知らずもいいところですねぇ。

-------------------------------

今日はEAを磨く方法を考えたいと思います。

EA作ってて、みなさんは「作っても作っても勝てるEAばっかりだよー!」という方はいらっしゃるでしょうか。
そりゃむりだ!って話ですよね。
もしいらっしゃったら、失礼しました!!声を大にして謝ります。
そしてTAに作り方を教えて下さい(笑

では、どうやってEAを磨いていけばいいのでしょうか。
パラメータの最適化?
まだやっちゃダメでしょ。
パラメータの最適化は最後の最後ですよ。
ストラテジーを向上させた方がナンボもいいEAが作れます!(TAの乏しい経験上ですが…)

では、ストラテジーはどう向上すればいいのでしょうか。

ここで、サイコロの話をちょっと。

あなたはサイコロを5回振りました。
そうしたら、1が5連続出ました。
次にもう一回サイコロを振ったときの1が出る確率はどんなモンでしょう??

高校のときに何だかよく聞いた台詞ですね!!
答えは「1/6」。
サイコロのどの目が出るかは「同様に確からしい」から答えは1/6になります。
「同様に確からしい」懐かしい響きですねぇ。
「独立事象」なんていったりもするし、簡単に「等確率」なんて言ったりもします。

言葉なんてどうでもいいですね、はい。
ストラテジーを向上させる、とは、「同様に確からし」くないポイントを見つけて、お得な動きをEAに入れ込むこと、とTAは解釈してます。

今回も例としてTypeB君に登場してもらいましょう。
(固定0.1ロットでトレードした結果を使用して以降お話します。)

さてさて、このTypeB君、15$以上勝ったトレードが393回あって、その次のトレードで平均-1.02$負けてるんです。
さっきのサイコロの話とおんなじように考えると、15$以上勝ったトレードの後でも、それ以下でも次の勝ち額の期待値は一緒のはずです。
でも、平均で-1.02$負けてるんです。
ちなみに、393回のトレードの平均なので、合計402.65$負けてます。
全12037トレードでの利益が5666.77$なので、実に7%に当ります。

ちょっと整理しましょう。



トレード回数トータル利益平均利益
全トレード120375666.770.47
15$以上勝ち後のトレード393-402.65-1.02


これを見て、「7%の損失を削れるんだったらカットカット!」と言って削ってしまうんだったら今日のコラムの意味が無いってもんです。
こいつがまぐれで抽出されたものなのか、それとも、「同様に確からしくない」優位性を持っているポイ ントを抽出できているのかを確認してから削らなければ、「パラメータの最適化」をしているのと大して変わらず、投資用語の世界で言う「カーブフィッティン グ」って奴になってしまいかねません。

じゃあ、このフィルターが優位性があるのかの検証をしてみましょう。

今回はt検定って奴を使ってみます。
もしかしたら、理学部物理学科や薬学部を出てる人なんかは聞いたことがあるかもしれません。
今日も理屈は抜きに計算の仕方を見てみましょう。

15$以上勝ち後のトレードと、全トレードからそのトレードを除いたものとについて、トレード回数、平均、分散を求めます。
分散ってなんだよっ!って方は、EXCELでVARPっていう関数を使ってトレードごとの収支を選択してもらえれば簡単に計算できます。


トレード回数平均分散
全トレードから下のトレードを除いたもの(A)116440.5213217106.9980
15$以上勝ち後のトレード(B)393-1.024555312.8947



で、「推定母分散」って奴を求めます。
まぁ、あんまり気にせず式に数字を突っ込んじゃってください。

   V = {(A)の分散 × (A)のトレード回数 + (B)の分散 × (B)のトレード回数}
      / {(A)のトレード回数 + (B)のトレード回数 - 2}

今回の場合を計算してみると、113.7393になります。

次に、検定の名前にも付いている「t」って奴を求めます。

   t = {(A)の平均 - (B)の平均}/√[V × {(1/(A)のトレード回数) + (1/(B)のトレード回数)}]

ルートの計算はEXCELでSQRTってのを使えばOKです。
今回の場合を計算してみると、2.826232となりました。

なんだか意味わかんねーよ!意味教えろよ!!って方は「t検定」とググッってみてもらえれば詳しく載ってるサイトがいっぱいありますよ♪

じゃあ、最後に求めた数字の意味を見てみましょう。

  http://www2.vmas.kitasato-u.ac.jp/lecture0/statistics/ttest.pdf

を見てみてください。
なんだか数字が並んでますね。
表の自由度fってところをまず見るのですが、これは「全トレード回数-2」のところを見ます。
今回のケースでは、トレード回数が1万回を越えているので、無限大のところを見てみます。
表を横に見てみると、

0.10.050.020.01
1.6451.9602.3262.576


となっています。
上の、0.1とか0.05とかが「このフィルターが意味無いであろう確率」です。
さっき求めたtより下の数字の方が大きいところを見ればその確率が分かります。
今回のケースでは、t=2.826232だったので、0.01の列の2.576を超えているため、「15$以上取れた後にシグナルが発生してもトレードをしないというフィルターが意味無い確率は1%以下」ということになります。

ということは、余程のことが無い限り、このフィルターは機能すると確率論的に言えるわけです。

-------------------------------

今日のブログは数字ばっかりで数字嫌いな方はちょっとつまらなかったかもしれませんが、TAの趣味と言うことでお許し下さい。
というか、数字が嫌いならチャート見れないっしょ!と言ってみたり。

今日も気付いたらこんな時間!
せっかくいいフィルターができたのにEA組むのはちょっとシンドイです。
明日は結婚お祝いの飲み会だしなぁ。
雇用統計の日に飲み会を入れること自体「FX本気でやってんの!?」って突っ込まれそうです。
なんもいえねーっ!