(姉妹サイト)サイトマップ本サイトについてGMOクリック証券FXヒストリーデータから各種時間足ファイルを作成する方法E.FXご存じの方も多いかと思いますが、GMOクリック証券のHPから2007年以降(主要通貨ペアーの場合)のFX1分足ヒストリーデータがcsv形式でダウンロードできます。海外のデータとは異なり時差の調整をする必要はありませんので非常に有難いサービスで私もバックテスト用データとして活用させてもらっています。バックテスト用の長期データを作る際に少々面倒な事があったのでその際の作業手順を備忘録として残しておきます。ネックだったのは次の2点です。上記対処が為された1分足ファイルさえ完成すれば、そのファイルから各時間足ファイルがあっという間に作成できます。その方法も最後に載せておきます。クリック証券のcsvデータについての概要(2020年1月現在)1.通貨ペア:20ペア2.最古データ:2007年(主要通貨ペアーの場合)3.格納データ項目:時期によって次の3タイプに分類されます。ASKレートの高値、安値ASKレートの高値、安値が追加されています。4本値が格納されるようになりました。(注)FXネオは2016年1月18日から新FXネオに切り替わっています。(旧FXネオも2月26日までは平行運用)ということで2016年1月16日までが旧FXネオのデータ、2016年1月18日からは新FXネオのデータとなりますので、2016年の新ネオデータの1月分には1月16日までのデータは格納されていません。1月16日までのデータに関しては新FXネオの表の下の旧FXネオの表に格納されています。通貨ペアーEURJPYの20XX年度の1分足ファイルを作成するという前提で話を進めていきます。(注)EXCELのバージョンが古いと行数制限の為元ファイルを分割する等の作業が必要になってくるかもしれません。対象データダウンロード・クリック証券マイページのトップページで「ツール」を選択。・左サイドのメニューで「ヒストリカルデータ」を選択。ペアーをEURJPYの1月を選択し保存。・12月までどう処理を繰り返す。・ダウンロードフォルダーに1月から12月までの圧縮ファイルが作成されていることを確認。・エクスプローラーで「ダウンロード」フォルダーを開く。・20XX年1月分圧縮ファイルをクリック。・「すべて展開」をクリック。・展開先を指定するウィンドウで展開先を変更せず「展開」クリック。・12月分まで同処理を繰り返す。・ダウンロードフォルダーに1月から12月までの解凍後フォルダーが作成されていることを確認。同時に解凍する可能なフリーソフトもあるようですので、面倒な方はフリーソフトをご使用下さい。csvファイル連結ファイル連結には「コマンドプロンプト」というツールを使用します。コマンドを集積したバッチファイルを作成し一括処理で20XX年度分の1分足CSVファイルを作成していきます。バッチファイルはC:¥Users¥PCUser¥Downloads下に作成するという前提です。PCUserを変更されている場合は変更後の名称に置き換えて下さい。・エディター(メモ帳で可)を開きます。・まず1行目に1月分のコマンドを記述します。EURJPY_20XX_1min.csvと打ち込んで改行して下さい。TYPEコマンドは本来ファイルの中身を見るコマンドですがファイル作成機能も持っています。EURJPY_20XX01ファルダー下20XX01フォルダー下の全てのcsvファイルを連結して新しいEURJPY_20XX_1min.csvファイルを作成しなさいという命令です。・次に2月分のコマンドを次のように打ち込んで改行して下さい。EURJPY_20XX_1min.csvEURJPY_20XX_1min.csvはそのままです。EURJPY_20XX_1min.csvの1月分の後に2月分を追加してくれます。>>の代わりに>としてしまうとデータが上書きされてしまいますので注意して下さい。・順次3月分以降のコマンドを作成します。・1月から12月分のコマンドが記述されているかを確認して下さい。確認がとれたらバッチファイルとして保存します。バッチファイルの拡張子はbatです。ここでは「concfile.bat」という名称でダウンロードフォルダーに作成します。・バッチファイルを実行する為に「コマンドプロンプト」を起動させます。ツール」下の「コマンドプロンプト」をクリックして下さい。・「コマンドプロンプト」が起動し、C:\Users\PCUser>が表示されます。DownLoadsと入力後、Enterキー押下でカレントディレクトリーがDownLoadsへ移動。concfile入力後、Enterキー押下で連結用バッチファイルが起動、終了すれば連結終了で1年分のファイルが完成です。次はファイルの整備です。エクセルのデータタブを選択し、シート全体を選択した上で、日時項目昇順で並び替え。データを日付と時刻に分割する作業手順です。2016年1月16日以前(旧FXネオデータ)と2016年1月18日以降(新FXネオデータ)とでは日時の格納形式が異なっています。日時は20XX0102070000というような日付と時刻が連結された状態で格納されています。左8桁が日付、右6桁が時刻です。これを日付と時間に分割します。作業手順としては、まず他年度のファイルの日付も変換できるように1年分のデータ用の日付返還用ファイルを作成し、そのファイルを利用して分割作業を進めていきます。=TIMEVALUE(TEXT(MID(A1,9,6),”00!:00!:00′′))と打ち込みます。・B列とC列を下方向にコピーします。1年分となると行数はかなり多くなりますので、38万行位までコピーしておきましょう。そのくらいしておけばその他の年度ファイルでも未変換は発生しないと思います。38万行目までコピーするとします。最初にB列とC列の38万行目になんでもいいのでデータを入れておきます。1行目に戻りB1とC1を選択。Dキーで38万行目までコピーされます。(VBAを使用して計算式をセルに入力することもできますが手作業以上に処理に時間がかかってしまいます。・次に書式設定でB列を日付にC列を時刻に設定します。・このファイルを例えば「クリック日付変換旧ネオ用」等の名前で保存して下さい。旧ネオ用日付返還ファイルの完成です。ファイルのB列とC列の変換後データをコピー、EURJPY_20XX_1min.csvの先頭列に挿入後、値の貼り付け、元の日時列(C列)を削除後上書き保存でファイル整備完了です。値の貼り付けを忘れると計算式が残ってしまいますので要注意です。h:mmという形式で格納されていますので、別途に新FXネオデータ用の日付変換用ファイルを作成します。=RIGHT(A1,8)とそれぞれ入力して下さい。・旧FXネオの場合と同様の方法で39万行目までコピーします。・次に書式設定でC列を日付にD列を時刻に設定します。・このファイルを例えば「クリック日付変換新ネオ用」等の名前で保存して下さい。新ネオ用日付返還ファイルの完成です。ファイルのC列とD列の変換後のデータをコピー、EURJPY_20XX_1min.csvの先頭列挿入後、値の貼り付け、元の日時列(C列)を削除後上書き保存でファイル整備完了です。値の貼り付けを忘れると計算式が残ってしまいますので要注意です。全データの日時が日付と時刻に分類され、かつ正しく変換されているか等を確認、OKであればファイル整備完了です。他の時間足ファイル作成さて、1分足があればその他の足は関数やVBAで作成可能ですが、作成は面倒という場合には便利なフリーソフトがありますので、ここではそのソフトを使用して他の時間足ファイルを生成していきます。使用ソフトはご存知の方も多いのではないかと思いますがotk様のCandleStickEditorというソフトです。あっと言う間に希望の時間足ファイルを作成してくれます。素晴らしい!otk様に感謝です。・「フルレバ50倍でFXシステムトレード」サイトでCandleStickEditorをダウンロード後、解凍します。・CandleStickEditor.exeを起動。・ファイル指定エリアに記述がある場合は「リストクリア」クリック。ついては画面の指示通りに設定して下さい。時間表示は開始時刻採用、1日の開始時間は7:00というファイルを作成する場合の設定は次のようになります。・実行すると、1分足の他に、5分足、日足それぞれのファイルが作成されます。通常は10秒もかからず処理終了となりますが、もととなるファイルの内容が指定された内容と異なっているとなかなか処理が終わりません。その場合は内容を再度確認後再トライしてみて下さい。まとめ以上、GMOクリック証券のFXヒストリーデータから各種時間足データを作成する方法をご紹介させていただきました。長期データを作成することはかなり面倒ですが、取り敢えず1分足データファイルさえきっちり作ってしまえば後は楽、バックテストの大きな武器になるかと思います。シストレは当然として、裁量トレードの際も過去データの分析は不可欠です。EXCELと信頼できる過去データさえあれば、各通貨ペアーの波動の特徴をある程度把握できます。使い勝手の良い過去データベースを作成し、あ~だこうだと分析してみて下さい。次の戦いの際に生きてくると思います。GMOクリック証券の口座をお持ちでない方、GMOクリック証券のHPはこちらです。