読者です 読者をやめる 読者になる 読者になる

電脳ミツバチのコンピュータ広報室

銀座の屋上菜園を耕しています。コンピュータ畑も耕します。

エンジニアが左うちわPart2。一人FinTech。為替ハッキング。為替データで統計を取る方法

スポンサーリンク

皆さん最近流行りの言葉でFinTechという単語をご存知ですか?これはファイナンス(金融)とテクノロジーを合わせた造語で、近年のコンピュータが個人で充分に金融の精度を測れるようになり、テクノロジーを使ってより良い金融ライフを送ろうじゃないかという試みです。他にも教育とテクノロジーでEd(ucation)-Tech、医療とテクノロジーでHealth(care)-Tech、これらを合わせて3techと呼ばれ、現在世界中の勢いのあるスタートアップの多くがこの中に占められています。

 
 
ところで前回のEC2で24時間FX自動売買するという記事はおかげさまで2015年はてなブログトップ200入りを果たしました。ありがとうございます。
  

 
中にはEAを使って実際に自動売買を始められた方もいらっしゃるかと思います。優秀なEAは確かに良い結果を出してくれます。しかしパターンに入るまで長い時間かかり、ともすれば一ヶ月で1回の取引なんてこともあります。
 

私の人生、後数十年しか無いのに一年間で数回の取引なんて待ってられるか。という事で優良パターンをEAにしてどんどん回転数を上げていこうと考えましたので軌跡を残していきます。

 
まず最初に金融データは公に公開されております。前回の記事でメタトレーダー4をダウンロードしている方はTools→History Centerからcsvファイルをエクスポート出来ます。これは共通データですがご自身の使ってる業者のチャートデータもその企業のHPなどで公開されているのでダウンロードしてきてHistory Centerにインポートし、よりパーソナライズされたデータもエクスポート出来ます。今回は共通データで行います。
 f:id:computermonkey:20160114152544j:image
f:id:computermonkey:20160114152547j:image

これをエクスポートしてmysqlか何かのデータベースに入れ、検証することが出来ます。
 
私がまず考えたのはローソクの長さが長い=Open(始値)-Close(終値)が大きい、つまり急激に相場が動いた時に次のローソクもそのまま行くか揺り戻しが来るかで大きく動くだろうという予測でした。USDJPYの15分足で次のローソクが2pips越えて動く確率が40%以上の結果を下記に残します。

通貨ペア:USDJPY15分足
対象期間:2013~2015の3年間 
対象ローソクの数: 65000本 
判定方法:上下に2pips動く確率が40%以上を算出
 
f:id:computermonkey:20160111213753j:image
やはり、大きく動くほど次のローソクも振れ幅が大きいのは正しいようです。ここで考えたのは-0.2以上動いた時次の反転で2pipsを超える動きをする確率は50%を超えるということは、50%の確率で2pips取れるということか。ならば他の50%以上のデータを集めて2pipsで利益確定、2pips反転したら損切りするパターンを全部EAにしたら少しづつプラスになりながら、作った数だけ速くキャッシュフローがまわるじゃないか。(実際はヒゲの部分のリスクもあるのでもっと損切りを深く取り、%も上げないとなりません) しかし現状50%超えは一つだけ。ならば動いたローソクと次のローソクのパターンから三番目のローソクデータの動きを検証してみよう。そして次は三つのローソクのパターンから四つ目のローソクのデータ、四つのローソクのパターンから五つ目のローソクのデータの動きを検証し、どんどん精度を上げていこうと考えました。
しかしこれは計算量がO(2n^(i-1))で増えていくのでせいぜい見れるローソクはi=3-5が限度だろうと予想しました。
 
実際に適当に作って見ると二つのローソクから三番目のローソクの動きを検証するi=3の場合で既に幾つかのcpuを高速で動かす必要が出てきました。(リファクタリングしてないのでコードもなんやかんやで3000行を超えることに)
出てきた結果はこちら

通貨ペア:USDJPY15分足
対象期間:2013~2015の3年間 
対象ローソクの数: 65000本 
判定方法:上下に2pips越えて動く確率が〇〇%以上を算出(写真は80%以上)

 f:id:computermonkey:20160111213930j:image
50%以上は数が多いのでこちらをご参照ください。
 
 
%を追いかけるより、一本目、二本目のパターンがこういう時に次は大体こっちのほうに振れることが多いんだなという見方をすると役に立つと思います。
 
母数が65000程度だと人間の心理パターンとまでは言うには難しいかもしれません。しかし統計上有効なパターンですので宜しければこちらを参考にEAを作られるとよろしいかと思います。(もちろん自己責任で)
 
通貨も様々な通貨の組み合わせがあるしもっと効率の良いアルゴリズムもあるでしょうからまた合間を見て少しづつ有効なパターンを検証していこうと思います。
次回は勢いある1分足を判定してスワップ+数pipsを取っていく時に有効なパターンの検証したいと思います
ではまたー