記事一覧資産形成

FX「くるくるワイド」の検証に使うドル円のティックデータを点検した:出典と、取り除いた誤データ

FXの投資手法「くるくるワイド」をPythonで検証する連載の2本目です。 1本目では、相場データを使わずに、書籍の典型例を計算し直して仕組みを確かめました。 次の回からは、過去のドル円の値動きにくるくるワイドを当てはめていきます。

その前に今回は、検証に使う為替データそのものを点検した結果をまとめます。 バックテスト(過去のデータで手法を試すこと)の結果は、使ったデータの質を超えられないからです。

この記事でわかること:

  • 検証に使うデータの出典と中身(ドル円のティックデータ、2000〜2026年、約3.8億行)
  • なぜ1分足ではなくティックデータを使うのか
  • 点検で見つかった4つの問題と、その直し方
  • 取り除いた誤データと、本物の値動きとして残した急落の見分け方
  • この連載で使う期間(2002年8月〜2026年11月)

用語のおさらい

  • ティック:値段が更新されるたびに記録された、1件ずつの値段のことです。1秒に何件も記録されることがあります。
  • 売値と買値:FX会社が示す2つの値段です。私たちが売るときの値段が売値(ビッド)、買うときの値段が買値(アスク)で、 買値のほうが少し高くなっています。
  • スプレッド:買値と売値の差です。取引のたびにかかる実質的なコストになります。
  • 中値:売値と買値のちょうど真ん中の値段です。

なぜティックデータを使うのか

くるくるワイドのトラップは、10銭おきに並べて、50銭下がったら利確します(1本目を参照)。 過去の値動きで正しく再現するには、値段がどの順番でどこを通ったかがわかる必要があります。

よく使われる1分足(1分ごとの始値・高値・安値・終値)では、1分の間に何十銭も動くと、 どのトラップがどの順番で売られ、利確されたのかがわかりません。そこで、値段の更新を1件ずつ記録した ティックデータを使います。今回のデータでは、連続する2つのティックの間で値段が10銭を超えて飛ぶことは、 どの年も0.012%以下(多い年でも1万回に1回ほど)でした。ほとんどの場面で、トラップが売られる・利確される瞬間を 1件ずつ追って再現できます。

使うデータ

項目 内容
出典 HistData.com のティックデータ(ドル円)
期間 2000年5月30日〜2026年11月(319か月分)
量 約3億7,694万行(月ごとの圧縮ファイルで合計約2.1GB)
1行の中身 日時(ミリ秒まで)、2つの値段(売値と買値)、出来高(常に0)
時刻 米国東部標準時・夏時間なし(日本時間より14時間遅い)

HistData.comは、トレーダーや自動売買プログラムの開発者が戦略を検証できるよう、過去の為替データを無料で公開しているサイトです。 データそのものは配布せず、この連載では自分で計算した図と集計値だけを載せます。

点検で見つかったこと

319か月分すべてについて、件数、欠けている時間、スプレッド、値段の不自然な動きを調べ、 よく知られた出来事の値段とも比べました。図1は、月ごとの「データがある割合」とスプレッドです。

2000年から2026年までの月ごとの2つの折れ線グラフ。上段は、取引時間中の15分の区切りのうちティックがある割合で、ほとんどの月が100%近い。2001年10月から2002年7月は50〜73%に落ち込み、灰色の帯で「使わない(木・金が毎週抜けている)」と示している。2023年2月下旬から7月も68〜73%に下がり、薄い紫の帯で「1時間おきに抜ける日が多い」と示している。下段はスプレッドの中央値で、2004年3月まで5銭、2009年2月まで4銭、2014年10月まで2〜3銭の階段状でほぼ一定。2014年11月からは0.2〜0.9銭で細かく上下している
図1 月ごとの「取引時間中の15分の区切りのうち、ティックがある割合」(上)と、スプレッドの中央値(下)。最初と最後の月は途中までしかないので除いた

1. データが欠けている期間がある

取引時間(週末を除く)を15分ずつに区切り、ティックが1件以上ある区切りの割合を月ごとに数えました。 2002年8月以降は、ほとんどの月が100%です(2023年2〜7月を除けば、最も低い月でも89%)。95%を下回る月の多くは12月で、 クリスマス前後に市場そのものが休む日を含んでいるためです。

一方、2001年10月〜2002年7月は50〜73%しかありません。調べると、データの時刻で毎週木曜と金曜の2日分 (日本時間では木曜の昼過ぎから月曜の朝まで)がまるごと抜けていました。10日あまり途切れる月もあります。 この10か月は、検証に使わないことにしました。それより前の2000年5月〜2001年9月も、使う期間とはつながらない短い期間で、 2001年1月に10日あまりの欠けもあるため、使いません。

2023年2月20日〜7月も、月によっては68%まで下がっています。こちらは日にちごと抜けているのではなく、 日本時間の夕方から翌朝にかけての時間帯で、1時間おきに1時間分のデータが抜けている日が多くありました。 2022〜2024年の円安局面の途中なので外さずに使いますが、この期間の結果を読むときは注意が必要です。

2. スプレッドが、2014年10月までは実際の値ではない

図1の下段のとおり、スプレッドは2014年10月まで、長い期間ほぼ一定で、5銭→4銭→2〜3銭と階段状に切り替わるだけです。 実際の取引では、スプレッドは時間帯や経済指標の発表で広がったり狭まったりするので、これは実際の値ではありません。 2014年11月以降は0.2〜0.9銭の間で細かく動いていて、実際の取引に近い値になっています。

そのため、期間全体を通した検証では、中値を使い、そこにこちらで決めたスプレッドを加えることにします。 2014年11月以降については、データの売値・買値をそのまま使った結果とも比べられます。

3. 2つの値段の並び順が、途中で入れ替わる

サイトの説明では、2つの値段は「売値、買値」の順に並んでいるはずです。ところが実際には、 2009年4月まではおおむね「買値、売値」の順で、2009年5月の途中から説明どおりの順に変わっていました。 2004年3月のように、月の途中で混ざっている月もあります。 並び順に頼らず、1行ごとに、低いほうを売値、高いほうを買値として読むことにしました。

4. 1円近く跳ねてすぐ戻る、誤ったデータがある

ごくまれに、実際にはついていない値段が1件だけ紛れ込んでいる行がありました(図2の左)。 2001年12月6日の朝5時ごろ、売値は121.85円前後のままなのに、買値だけが122.84円に跳ね、次の行ですぐ元に戻っています。 本当に相場が1円動いたのなら売値も一緒に動くはずなので、配信の途中の誤りと考えられます。

2つのグラフ。左は2001年12月6日5時ごろの約2分間の売値と買値で、どちらも121.8円台を横ばいで推移する中、買値だけが122.84円に跳ねてすぐ戻る行が6か所あり、×印で取り除いた行と示している。右は2019年1月3日7時半ごろの約25分間の中値で、7時30分の108.67円から7時39分の104.81円まで急落し、その後106〜107円台に戻している。「大きな値動きが何十行も続き、値段は元に戻らない、本物の値動きとして残す」と注記している
図2 取り除いた誤データの例(左、×が取り除いた行)と、本物の値動きとして残した急落(右)。時刻は日本時間

トラップは10銭おきに並べて50銭で利確するので、1円近い跳ねが1件あるだけで、ありもしない値段でトラップが売られたり、 利確や損切りが起きたりします。このような行は取り除く必要があります。

ただし、取り除きすぎるのも問題です。図2の右は、2019年1月3日の朝に起きた急落です。 7時30分に108.67円だった値段が、9分後には104.81円まで下がりました。これは実際に起きた出来事で、 くるくるワイドにとっては、こうした急変動こそ検証したい場面です。

最初に試した条件では、この急落の最中の揺れまで誤データとして消してしまいました。そこで条件を見直し、 自動で取り除くのは「片方の値段だけがもう一方から50銭以上離れ、次の行ですぐ戻る」ものと、 「両方の値段がそろって1円以上跳ね、次の行ですぐ戻る」ものに絞りました。 本物の急落では、大きな値動きが何十行も続き、値段も元には戻りません。

取り除いた行は、全部で100行です。

種類 行数 例
片方の値段だけが跳ねて、すぐ戻る 78行 2001年12月、2002年1月に集中
両方の値段がそろって1円以上跳ねて、すぐ戻る 1行 2004年6月17日、109.75円 → 114.74円 → 109.75円(打ち間違いとみられる)
1つずつ目で確かめて決めたもの 21行 2004年12月3日(米雇用統計の発表直後)と2008年10月8日(米欧の主要な中央銀行がそろって利下げを発表した日)に、別の値段の列が十数秒間交互に割り込んだもの など

約3.8億行のうちの100行で、ごくわずかです。

直さずに、注意して使う点:急落の底値が少し浅い

よく知られた出来事の値段と比べると、ほとんどは一致しました。ただ、ごく短い時間の急落では、 底値がほかの資料より浅いことがあります。

出来事 このデータの安値(売値) 一般に知られている安値
2011年10月31日(ドル円の史上最安値) 75.56円 75.32円前後
2011年3月17日(東日本大震災の直後) 76.49円 76.25円前後
2016年6月24日(英国のEU離脱の国民投票) 98.98円 99.0円前後

配信元によって底値が違うのはよくあることです。ただ、底値の近くに損切りを置く場合は、 この差が結果に効く可能性があります。暴落局面を扱う回では、この点に気をつけます。

この連載で使う期間

以上を踏まえて、この連載では2002年8月〜2026年11月のデータを使います。 24年あまり、約3億7,431万行です。この期間には、2008年のリーマン・ショック、2011年の史上最安値、 2012年からの円安、2022年からの急な円安など、さまざまな局面が含まれています。

期間 扱い 理由
2000年5月〜2001年9月 使わない 使う期間とつながらない短い期間で、2001年1月に10日あまりの欠けもある
2001年10月〜2002年7月 使わない 木曜と金曜が毎週まるごと抜けている
2002年8月〜2026年11月 使う ほとんどの月で、取引時間のデータがそろっている
うち2023年2月20日〜7月 注意して使う 1時間おきに抜けている日が多い

わかったこと

  • 無料で手に入るティックデータでも、点検した結果、くるくるワイドの検証に使える期間を24年あまり確保できました。
  • ただし、そのまま使うと結果をゆがめる問題が4つありました。欠けている期間、実際の値ではないスプレッド、 途中で入れ替わる値段の並び、そして1円近く跳ねてすぐ戻る誤データです。
  • 誤データを取り除く条件は、厳しすぎると本物の急落まで消してしまいます。2019年1月3日の急落を残せる線引きにしました。

この検証の限界

  • 使うのは1つの配信元のデータです。急落の底値はほかの資料より0.2円ほど浅いことがあり、 実際のFX会社の値段とも完全には一致しません。
  • スプレッドは、こちらで決めた値を中値に加えます。どの値にするかで結果が変わるので、次の回以降で比べます。
  • 誤データの判定は、条件に当てはまるものと、目で確かめたものに限られます。見つけられていない誤りが残っている可能性はあります。

次の記事

次回は、このデータを使って、本体とトラップだけの基本形を過去のドル円に当てはめます。 レンジの決め方と次のサイクルの始め方を決め、開始日をずらしながら何度も回して、 トラップがどれだけ回るのか、どのくらいの割合で出口に着くのかを確かめる予定です。


出典:為替データは HistData.com のドル円ティックデータ(2000年5月〜2026年11月)。 点検と変換はPythonで行いました。くるくるワイドは、魚屋『FXくるくるワイド投資術』(日本実業出版社、2016年)で紹介された手法です。

ご注意: FXはレバレッジにより、預けた証拠金を上回る損失が生じる可能性があります。本ブログは投資を推奨するものではありません。投資は皆様ご自身の判断でお願いします。投資によって発生したいかなる損失に対しても、本ブログは一切の責任を負いません。

コメント