シストレ・機械学習のために為替の日足データを取得する際の注意点

ニューラルネットワーク用の学習データとして為替データのスクレイピング が必要だったので、その方法を備忘録として残しておきます。

スポンサーリンク
スポンサーリンク

為替データの注意点

為替データは多くのサイトで掲載されており、データの取得先にはさほど苦労しないと思います。しかし、為替データの取り扱いには注意すべき点があります。

 

それは、取得先のサイトによって次の2つがバラバラな点です。

1 為替の価格
2 取引時間

そもそもFXというのは、実際の為替レートをベースに各FX業者が為替価格に連動する金融商品の取引場を提供しているものです。

 

 

FXは実際の為替取引をしているわけではなく、あくまで「為替レートに連動する金融商品」を取引しています。そして、その金融商品は各FX業者で作っているものなので、FXのレートは各FX業者で微妙に違ってくるわけです。

 

 

同じ理由から、取引時間も各FX業者で異なります。(大きくは変わりませんが)

 

 

この2点を考慮すると、為替データの取得でやってはいけないことは

 

複数のサイトから為替データを取得してしまう

 

ということです。

 

例えば、

「最新の為替データはA社のサイトから取得。しかし、A社には過去のヒストリカルデータがないから、2000年以前のデータはB社から取得した。」

 

 

なんてことはしないのが望ましいです。価格と取引時間が違うデータを使ってしまう可能性があり、ニューラルネットワークの学習に支障が生じる可能性があります。

 

 

為替データは多くのサイトで取得することができますが、どの時点までの過去のデータがあるかは各業者で異なっています。

 

必要なヒストリカルデータが揃っている1つのサイトからデータを取得する

 

 

これが為替データ取得の大事なポイントだと感じました。古いデータになればなるほど難しくなるので、私は挫折しましたが(汗

試行錯誤の結果、マネースクエアとセントラルFXを使いました

「1つのサイトからデータを取得した方が良い(キリッ」とか言いましたが、私はできませんでした。笑

 

 

ヒストリカルデータはマネースクエアから、最新データはセントラル短資FXから取得しています。

マネースクエア

セントラルFX

 

マネースクエアに最新のデータも揃っているんですが、為替データのcsvファイルがphpで取得する仕組みになっていて、自分のスクレイピング スキルではphpをいじることができませんでした・・・。

 

 

シストレで為替データを使うのなら、日々スクレイピング 等で最新のデータを取得できる必要もあります。機械学習用にデータを集める際には、無理にスクレイピング のことを考える必要はありませんが、機械学習を実践投入する段階になるとやはりスクレイピング をせざるを得ない場面が多いので、データ集めの段階からスクレイピング できるかを考慮しておくのが良さそうです。

 

 

まとめると、シストレで為替データを使う際には、

各FX業者で「価格」「取引時間」がバラバラなので、1つの業者データのみを使うのが好ましい

 

「分析用の通貨レート・過去データが揃っているか」「最新データをスクレイピング で取得できるWebサイト構成になっているか」を事前に確認しておく

 

という点に注意する必要があります。

スクレイピング にはpythonのBeautiful soupモジュールを使う

スクレイピング にはpythonのBeautiful soupモジュールを利用しました。

 

個別株のスクレイピング 方法を以下の記事でも紹介しています。

日本の個別株の株価データを取得するpythonを使ったスクレイピング 法【システムトレード】

 

恥ずかしながらphpへの対処方法はわかりませんが、シンプルなHTMLで構成されているWebサイトならおおよそのデータは取得できます。ここでは具体的なコードは載せませんが、気が向いたら別の記事で書こうかなと思います。

為替データを触る前に実際にFXをやってみる

FX業者が提供する為替データは、各FX業者の口座を利用しないと使えないケースも多々あります。

 

 

先ほどお話ししたように、為替レートは各FX業者で微妙に価格が変わってきます。その辺の仕組みをしっかりと理解するには、実際にFXをやってみるのが手っ取り早いです。お試しトレード程度なら、お金もほとんどかかりません。(ガチでトレードするなら話は別ですよ)

 

データを扱う以上、そのデータのことをしっかり知っておくことはとても重要です。その意味でも、FX口座を持っていない方は一度口座を作ってFXを経験してみることをオススメします。

 

特にOANDA japanは、口座開設をすると無料APIが使えるようになります。プログラムスキルがある方なら、かなり柔軟に為替データを取得することができます。日足より細かいデータを取るのなら、OANDAのAPIは非常に強力なツールとなります。

 

 

FX業者は多数あります。お試しトレードでやるなら、手数料の差とかもほとんど気にならないので、とりあえず何でも良いので1つ口座を作ってみましょう。口座開設は無料でネットで簡単に作れます。

 

 

知名度で言うならDMM FXなんかが有名です。あとは、上で紹介したセントラル短資FXとかマネースクエアも良さげです。実際にFXをやってみると、為替データの仕組みもわかりますし、ぜひやってみましょう!

コメント