
【FX】AIを用いたTICKデータ解析
皆さんお久しぶりです/・ω・)/
前回記事から1ヶ月以上も空いてしまいましたね💦
決して遊び惚けていた訳ではなく、色々環境が整ったのでガチ解析を行っておりました。(この研究自体が遊びかもしれませんが笑)
その環境というのが
1.Tick Data Suite:FXのティックデータを入手できます。
(10万円もしました(´;ω;`)ウッ…)
2.Codex:ローカル環境でAIが使えます。
この2つの環境を使うことで、Tick Data Suiteの14.5GBの膨大なtickデータをChatGPTでは大容量の解析が不可能だったところ、Codexのローカル環境で14.5GBの解析が可能になる訳です!
この解析により、今まで手法の根幹としていた『オーダーフロー』が、仮定を立ててバックテストやフォワードテストで検証をしているだけだった憶測のものに対して、実際の情報を基に逆算的に『オーダーフロー』を読み取ることが出来るようになりました!
テストを例にすると、問題を解いて答え合わせをする。ただこの答えが合っているかは解いた時点では分からない。それが、答えから解き方を導き出すことが出来るようになる。といったところです!
一見『それって未来視じゃん…』とAIでEAを作っている方なら敬遠する内容に思えますが、未来視にも使い時があります。今回は解析に未来視を使うだけであって、EAのロジックに未来視を取り入れるわけではありません!
この棲み分けがとても大切・ω・b
まだこの解析は途中までしか進んでいませんが、中間報告の形で記したいと思います`・ω・´)ゞ
はじめに
これはスキャルピング向けの解析になります。
ティックデータを使った瞬間的な情報に対して効果的であり、トレンド等の長い期間に適用するものではありません。
対象データ
期間:2003-05-04 ~2026-03-12、合計Tick数:385,289,865 tick
ワークフロー
解析1:価格の反転(Reversal)と価格の抜け(Breakout)の割合をみる
解析2:価格反転と価格抜けが起きる前の予備動作をみる
解析3:現在進行中…
解析1:価格の反転(Reversal)と価格の抜け(Breakout)の割合をみる
条件
①candidate
「高値候補点・安値候補点を出すための“最初の戻り幅”」
②reversal_confirm
「候補点が出たあと、候補点からどのくらい逆方向に進んだら“反転だった”と確定するか」
③breakout_buffer
「候補点を、どのくらい上抜け / 下抜けしたら“抜けた”とみなすか」
④acceptance_hold
「一瞬抜けただけではなく、その抜けが“維持されたか”を見る条件」
⑤forward_horizon
「候補点が出たあと、最大どこまで先を見て結論を出すか」
⑥ambiguity_window
「反転と抜けが近い時間に両方起き、どっちと呼ぶべきか迷う時のためのあいまい判定幅」
定義
-6分類-
1.buy_reversal【反転買い(逆張り)】
→①安値候補点確定のあと②反転確定
2.buy_breakout【抜け買い(順張り)】
→①高値候補点確定のあと③上抜けして④維持
3.sell_reversal【反転売り(逆張り)】
→①高値候補点確定のあと②反転確定
4.sell_breakout【抜け売り(順張り)】
→①安値候補点確定のあと③下抜けして④維持
5.unresolved【どちらも未達成】
→①候補点確定後、⑤反転と抜けが確定する前に時間切れ
6.ambiguous【どちらが優勢か不明】
→①候補点確定後、⑥反転と抜けが近い時間に両方起きた
結果
条件の閾値設定によって割合が変わるが、中央値は以下となった。
1.buy_reversal: 72,314件, 27.85%
2.buy_breakout: 34,245件, 13.19%
3.sell_reversal: 71,762件, 27.64%
4.sell_breakout: 34,305件, 13.21%
5.unresolved: 39,912件, 15.37%
6.ambiguous: 7,114件, 2.74%
反転(Reversal)が最も多いという結果。
閾値設定の影響
`①candidate` を小さくすると Breakout 寄り
`①candidate` を大きくすると Reversal 寄り
`②reversal_confirm` を小さくすると強く Reversal 寄り
`②reversal_confirm` を大きくすると Breakout/unresolved 寄り
`③breakout_buffer` はBreakoutとReversalの比率に影響はなくunresolved/ambiguousの増減に影響する
🐼解析1だけで2週間ぶっ通しで解析をし続けました。
PCが何度落ちた事やら(*_*;
解析2:解析1を基に価格反転と価格抜けが起きる前の予備動作をみる
条件
1.候補点が確定した時点から60秒前までの期間を対象とする。
2.オーダーフローの根幹となる5系統の特微量を比較対象する。
3.5期間に分けて比較をする。
1)2003-2007(初期-閑散期)
2)2019-2020(コロナショック-市場の荒れ)
3)2021-2022(転換期-金利レジーム変化、円安急進、
取引高は2019年比で15%増の過去最高)
4)2023-2024(環境の定着-QQE+YCCとマイナス金利政策終了)
5)2025 (後期-近年)
定義
-5系統(計61個)-
1.top-of-book 系
→ 今この瞬間、買いが強そうか売りが強そうか
2.depletion / replenish 系
→ 壁が削られているのか、補充されているのか
3.ladder 系
→ 近い価格帯に壁があるのか、真空なのか
4.context 系
→ 直前30秒〜180秒で、その流れが続いていたのか
5.directional / wall memory 系
→ その相場や価格帯に、過去の癖や記憶があるのか
結果
高値候補点でよく観測された特微量:
【全期間共通】
1.ask_near_vacuum_score
→上側の近い ask 帯が薄い。
つまり、買いが上を攻めていて、上側が空洞化している。
【2021年以降によくみられる特微量】
1.ask_depletion_streak
→ask 側の削られが連続している。
つまり、買いが売り側の支えを何度も削っている。
2.ask_replenish_streak
→ask 側の補充が連続している。
つまり、上を削っても売りが戻ってくる。
上値で吸収・売り直しが起きている。
3.buy_support_score
→買い支えはあるが、上値では売りが補充されて抜けきれない。
『買いが上を攻める → ask が削れる → でも売りが補充される → 上値で消耗する』という構図
安値候補点でよく観測された特微量:
【全期間共通】
1.bid_near_vacuum_score
→下側の近い bid 帯が薄い。
つまり、売りが下を攻めていて、下側の支えが空洞化している。
2.bid_wall_break_score
→bid 側の壁が崩れている。
【2021年以降によくみられる特微量】
1.bid_depletion_streak
→bid 側の削られが連続している。
つまり、売りが買い側の支えを何度も削っている。
2.ask_replenish_streak
→下げ局面なのに、上側の売り補充も続いている。
つまり、売り圧力がまだ出続けている。
3.directional_confidence_regime
→売り方向の圧力がノイズではなく、ある程度はっきりしている状態
『売りが下を攻める → bid が削れる → 下側が真空化する → でも結果的に sell_breakout ではなく buy_reversal になりやすい』という、投げ切り・クライマックス反転の構図。
これは直感と逆に見える現象でした。
普通は「上が薄いなら上抜け」「下が薄いなら下抜け」のBreakoutの形を想定しますが、今回のスキャルピング向けの解析では、むしろそれが 抜けの前触れではなく、行き過ぎ・投げ切り・過熱の反転前シグネチャ としてReversalの形で出ています。
🐼ここが特に今までの仮定を立てていた『オーダーフロー』と異なる所であり、良い情報を得ることが出来ました!
解析3:どのくらいのスキャル時間なのか判定後の伸びをみる
🐼現在進行中ですが、解析1と2の結果より『価格抜け』を狙うのは騙しに捕まる可能性が高いので、『価格反転』に特化させようと考えています!