メインコンテンツへスキップ
見出し画像

【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の結果より『価格抜け』を狙うのは騙しに捕まる可能性が高いので、『価格反転』に特化させようと考えています!





     
     
    プログラミング初心者でも生成AIを使えばFXのAI自動売買ツールが作れるのか検証していきます! ※1.プログラムコードは記事の購入またはメンバーシップ登録で見ることができます。 ※2.利益を得たい人ではなく自作したい人向けです。 ※3.利益を確証するものではございません。

    あなたへのおすすめ