数年前にFXのシステムトレード、自動売買システムを自作しようと一念発起し、この本を参考にしてプログラミングをしました。
いざシステムを作り込もうと思ったときに、大事なポイントとなるのは、当然ながら為替のデータをどのようにして取得するか、という点です。できることであれば(プログラミング素人でもあったので)作業工程は少なくして、分析と売買ができればいいなと考えていたものの、APIを提供しているFX会社が当時は少なかった(現時点では増えているかもしれません)ため、やむなくウェブ・スクレイピングをすることにしました。
使用するFX会社の選択についても、できる限り沢山の為替ペアのデータを取得したかったことと、前述のデータ取得の容易性も考え、ヒロセ通商の「LION FX」を活用することにしました。
ヒロセ通商の「LION FX」では全部で50通貨の為替ペアの取引ができ、かつ為替のデータもCSV形式でダウンロードすることが可能です。
また取引コスト(スプレッド)も他者と比較して安いようです。
Rによる自動データ収集
自動化を行うにあたって、使用しているプログラミング言語は「R」です。もしかしたらウェブ・スクレイピングする場合「Python」の方がやり易いかもしれません。ただ、自分自身がプログラミングを始めてからそれほど経っていなかったこともあり、少しでも慣れているものを使おうと考えたため(大学院の授業・課題で使用していました)Rで作り込むことにしました。
使用しているLibraryは、
- Rwebdriver
- devtools
- XML
- RCurl
- RSelenium
- dplyr
- tseries
- lmtest
大体こんな感じだったと思います。
自動化の流れは、
- FX会社のログイン・ページにいく
- ユーザーIDとパスワードを入力してログイン
- データを落とせるサイトに遷移し
- デフォルトの設定を変更し(「月足」を「日足」にする等)
- 為替ペアを選択
- CSVダウンロード
- 為替ペアを選択
- CSVダウンロード
- (以下、同じ)
という感じで、50ペアほどの為替のデータを取得しています。
そしてその後、集めたデータをRに取り込んで、分析まで行います。
データの取得・分析の点だけみると、非常にうまくいっております。
上で紹介した本を読みながら、コツコツとプログラムを書いていけば、恐らく誰でもこの段階まではたどり着けるのかな、と思います。
自動化できていない作業・うまく行っていない部分
と、ここまでは良いのですが、実は自動売買まではプログラミングできておりません。
理由としては、うまくいかない部分がいくつかあるのですが、例示すると、
- コマンドプロンプトによってサーバーの初期化・起動するプログラムがRからうまく動かない
- 分析まではできるが、モデル自体が手動でやっても儲からない
- ログアウトができない
というようなことがあります。自動化の流れとしては、素人にしては割と良いところまでできていると自負しているのですが、実際に投資をしてみて勝てないのは致命的ですね。
ただ、このプログラムを株式データに応用することは可能だと思っています。株式投資で利益を積み上げるパターンを見つけられたら、そちらに移行しようと考えています。
もう一度プログラム周りの復習をしながら、改めて「時系列データ分析」の再確認をし、まずは手動で株式のデータを取得して分析してみようと思います!
コメント