こんにちは、ぼっちbotterよだかです。
今回は、multi_market_probe で続けてきた歪み回帰系の研究について、いったん凍結判断をするところまで進めた話を書きます。ここしばらくは「2市場間で観測される歪み回帰っぽい構造が、bitFlyer FXでの実際の執行においてEV>0になるのか」を、できるだけ事実ベースで確かめることに集中してきました。実コストを反映した評価系を入れ、閾値も振り直し、それでもなお勝てる形が見えてこなかったことで、今回ようやく「今の課題は調整不足ではなく構造定義そのものにある」と判断できる段階まで来ました。今回は、その経緯を整理しつつ、歪み回帰をどこで止め、なぜ次の主戦場をリードラグへ移すことにしたのかを書いていきます。

-
-
🛠️開発記録#491(2026/3/23)multi_market_probe開発ログ ― 歪み回帰判定機を“事実ベース”へ寄せ直した話
続きを見る
1. 今回のゴール:歪み回帰が本当に金になるのかを執行ベースで確かめる
今回の開発で最初に固定したかったのは、「歪み回帰っぽく見えるもの」をそのまま戦略候補として扱わないことでした。観測機を作っていると、どうしてもダッシュボード上でそれらしい動きが見えた時点で、つい「これは使えるかもしれない」と思いたくなります。ですが、少なくとも今の私に必要なのは、見た目のそれらしさではなく、bitFlyer FX で実際に注文を出したときにEV>0になるのかどうかを、なるべく現実に近い条件で白黒つけることでした。
いま multi_market_probe で観測している歪み回帰は、bitFlyer FX の BTC/JPY を基準市場に置き、Binance Perp、Bybit Perp、Coinbase Spot を比較対象として、各市場の mid price から premium を算出するところから始まっています。ただし、生の premium をそのまま歪みとみなすと、恒常的に存在している市場間バイアスまで一緒に拾ってしまいます。そこで現在は、過去30分の平均 premium を基準線として引き、その平均との差分を residual として扱うことで、「平常状態からどれだけ逸脱しているか」を歪みとして定義しています。さらに、その residual が 10bps を超えたときにイベントとしてアンカーし、30/60/90/120秒の horizon ごとに、その後 bitFlyer FX 側で何が起きたのかを追う構造にしています。
この定義には、いくつか意図があります。ひとつは、あまりにも短いHFT領域の争いに入らないことです。もうひとつは、逆に長すぎる時間幅まで広げて、別の要因まで混ざったものを「歪み回帰」と呼ばないことでした。要するに今回は、「個人トレーダーでも観測・解釈・検証が可能な範囲の短期構造」として歪み回帰を扱いたかったわけです。120秒を暫定上限にしていたのも、そのためです。
ただ、ここで大事なのは、歪み回帰構造が観測されることと、それを bitFlyer FX で取れることは別だ、という点です。たとえば、ある2市場間で premium の収縮が統計的に見えていたとしても、それが bitFlyer FX の板を跨いで注文した瞬間に消えてしまうなら、観測構造としては面白くても、トレード戦略としては意味がありません。今回のゴールは、まさにその差を埋めることでした。つまり、「歪み回帰っぽい現象」を観測する機械から、「それが bitFlyer FX で本当に金になるのかを判定する機械」へ、一段階進めることです。
そのため、今回の開発では最初からトレードシグナル生成まではやらないと決めていました。まだEV>0かどうかの白黒すらついていない段階で、売買シグナルや執行ルールの最適化に進むのは順番が逆だからです。まず必要なのは、「この構造は現実に利益へ変換できるのか」「できないなら、その責任は市場にあるのか、観測機の定義にあるのか」を切り分けることでした。今回のゴール設定は、そのためのものです。
言い換えると、今回やりたかったのは戦略開発そのものではなく、その手前にある「研究テーマとして続行する価値があるか」の判定でした。歪み回帰をさらに掘るべきなのか、それとも一度ここで止めて別のテーマへ移るべきなのか。その判断材料を、感触や期待ではなく、執行ベースの事実として取りに行く。今回の開発は、そういう位置づけでした。
2. まずやったこと:観測機に“執行ベースEV判定”を持ち込んだ

今回の開発で最初に手を入れたのは、既存の歪み回帰観測機に「実際に bitFlyer FX で入って出たらどうなるか」を見るための執行ベース評価を追加することでした。これまでの Structure Probe 系統は、アンカー後に premium がどう動いたか、bitFlyer FX の価格がどちらに進んだか、といった“事後の変化”を見る装置としてはかなり機能していました。ただ、その情報だけではまだ足りません。そこからさらに一歩進んで、「その動きは板を跨いで取りにいけるものなのか」「コストを引いたあとでもプラスなのか」を見ないと、構造観測から戦略判断へは進めません。
そこで今回は、J-Reversion の価格プローブに net 系の評価軸を追加しました。ざっくり言えば、アンカーした時点で bitFlyer FX の best bid / ask を仮想的な entry とみなし、その後 30/60/90/120 秒の horizon の各時点で、反対売買まで行ったと仮定したときの directional executable bps を計算します。そのうえで、さらに roundtrip_cost_bps を差し引いた directional_exec_net_bps を作り、平均値とプラス率をメトリクスとして出すようにしました。ここで見たいのは「方向が合っていたか」ではなく、「実際に crossing しても残る利益があったか」です。
この変更によって、見えるものがかなり変わりました。従来のプローブでは、たとえば「アンカー後に bitFlyer FX が回帰方向へ動いているように見える」ことまでは分かっても、それがせいぜい数bpsの揺れなのか、それともコストを超えて利益化できるサイズなのかまでは区別しづらかったからです。逆に言えば、ここを曖昧にしたまま「回帰しているっぽい」と言っても、トレードとしてはほとんど意味がありません。今回追加した net 評価は、その曖昧さを潰すためのものでした。
具体的には、Grafana 側にも以下の4種類のパネルを追加しました。ひとつは各 horizon における directional_exec_net_bps_mean、つまりコスト控除後の平均bpsです。もうひとつは EV-positive rate で、これは directional_exec_net_bps が閾値を上回った割合を示します。加えて、現在どのコスト前提とEV閾値で見ているかを確認するための Cost / EV Threshold パネルも置きました。最後に、30秒アンカー母集団について、1/3/5/10/15/30秒ごとの directional_exec_net_bps_mean を並べる時系列パネルも作りました。これで「そもそも有利方向へ行くのか」「いつ一番マシなのか」「平均と勝率の両方でどう見えるのか」を一度に読めるようになりました。
ここで大事なのは、今回入れた評価が“完全な実売買再現”ではないことも明確にしておいた点です。あくまで best bid / ask ベースの擬似約定に、固定コスト控除を乗せた評価なので、実運用のすべてを再現しているわけではありません。それでも、midベースの見かけの有利さをそのまま信用するよりは、はるかに現実に近い判断材料になります。少なくとも、「見た目には戻っているが、板を跨ぐと全然足りない」という構造はここでかなり炙り出せます。今回必要だったのはまさにそれでした。
また、この段階ではまだトレードシグナルを作っていません。順番として、まず必要なのは「観測している構造が実際に金になるか」を判定することだからです。もしここで net が明確にプラスに寄るなら、そのあとにシグナル化や執行最適化へ進めばよい。しかし、ここが弱いままシグナル設計へ進むと、結局は負EV構造を丁寧に売買するだけになってしまいます。今回の執行ベースEV判定追加は、その無駄な前進を避けるための、かなり根本的な一手でした。
3. 実コストを現実に寄せる:BFFX実ログから往復コスト7.6bpsを固定した
執行ベースのEV判定を入れるにあたって、次に避けて通れなかったのが「コストをどう置くか」という問題でした。ここが甘いままだと、どれだけ net っぽい指標を作っても、結局は机上の空論になります。逆にここを現実に寄せられれば、「この構造は本当にダメなのか、それとも評価器の前提がズレていただけなのか」をかなりはっきり切り分けられます。今回の開発では、そのために bitFlyer FX の過去実トレードログを使って、往復コストを実測ベースで固定するところまで進めました。
やったこと自体はシンプルです。過去に bitFlyer FX で実際に動かしていた bot のログを参照し、ENTRY と EXIT でそれぞれどれくらいの追加不利が発生していたかを集計しました。ENTRY 側では、観測機が仮定している ToB 即時約定に対して、実際の約定価格がどれだけ不利だったかを見ます。EXIT 側では、executable 基準で見た理論値と、実際の realized PnL の差分を見ます。これによって、板を跨ぐことそれ自体だけでなく、注文送信の遅れやスリップ、部分約定なども含めた「現実の執行コスト」を、少なくとも過去実績ベースでは把握できるようになります。
今回参照したログは、過去の bitFlyer FX bot で蓄積していた events 系ログ群で、EXIT_COMPLETED の記録を中心に約 2,000 件規模のサンプルを使いました。その結果、ENTRY 側の追加コストは p90 でおよそ 4.56bps、EXIT 側の追加コストは p90 でおよそ 3.02bps となり、合算すると 7.58bps になりました。運用上はこれを丸めて、roundtrip_cost_bps = 7.6bps として設定に固定しています。なお、今回の観測範囲では fee_jpy_raw は実質ゼロで、少なくともこのログ群においては、主なコスト源は手数料ではなくスリップや執行遅延でした。
ここで p90 を採用したのは、楽観側ではなく、やや保守的な前提を置きたかったからです。平均値で置くこともできますが、それだと「たまたまうまくいった約定」に引っ張られやすくなります。今回知りたかったのは、“うまくいくときもある” ではなく、“現実の執行不利をある程度織り込んでもまだ残る利益があるか” でした。そう考えると、平均より少し厳しめの水準で固定しておくほうが、判定器としては健全です。ここでプラスが出るならかなり強いし、逆にここでマイナスなら、少なくとも「コストを甘く見ていただけでは?」という反論はしづらくなります。
この実コスト固定によって、前章で追加した net 系パネルの意味もかなり変わりました。それまでの directional_exec_net_bps は、言ってしまえば「とりあえず仮置きした固定コスト」を引いていたにすぎませんでした。しかし今回、bitFlyer FX の過去実績から roundtrip_cost_bps=7.6 を入れ直したことで、Grafana 上の net mean や EV-positive rate は、かなり明確に「BFFXで本当に残る可能性があるか」を見るための値になりました。もちろん、将来のすべての相場状況を完全に再現できるわけではありませんが、少なくとも観測機側の責任として「現実離れした低コスト前提で夢を見ていた」という状態は脱しました。
今回のコストモデル固定で大きかったのは、単に 7.6bps という数字が得られたことではありません。むしろ重要なのは、今後の評価軸の順番が整ったことです。つまり、「まず実コスト前提を固める」「そのうえで閾値や baseline の妥当性を見る」という順に問題を潰せるようになったことです。もしここを飛ばして先に threshold 10bps の是非ばかり詰めていたら、あとからコスト前提の修正で議論全体がひっくり返る可能性がありました。今回やったのは、その不安定さを避けるための土台固めでもありました。
言い換えると、この章でやったことは「観測機に現実の重さを乗せた」ということです。歪み回帰がダッシュボード上でどれだけ綺麗に見えても、bitFlyer FX で実際に出入りしたら 7.6bps 近い不利を抱える。その事実を最初から判定系に組み込んだうえで、それでもなおプラスが残るのかを見る。今回の往復コスト固定は、その問いをちゃんと立てられる状態にするための、かなり重要な前提整理でした。
4. 閾値を動かしても勝てなかった:6/8/10/12/15bps再評価の結果
執行ベースのEV判定を入れ、さらに bitFlyer FX の実ログから roundtrip_cost_bps=7.6 を固定したことで、ようやく「いま見ている歪み回帰構造は、本当に金になるのか」を現実寄りの条件で評価できる土台が整いました。そこで次にやったのが、歪みイベントのトリガー閾値そのものを振って再評価することでした。もともと現在の観測機では、baseline 控除後の residual premium が 10bps を超えたときに歪みイベントとしてアンカーしていましたが、この 10bps という設定が悪い可能性は当然あります。小さすぎてノイズを拾っているのかもしれないし、逆に大きすぎて手遅れのイベントだけを拾っているのかもしれない。なのでここは一度、感覚ではなく実データで横比較する必要がありました。
今回比較したのは 6 / 8 / 10 / 12 / 15bps の5段階です。評価条件は、baseline を現行の EWMA 1800s に固定し、horizon は 30 / 60 / 90 / 120秒、そして net 評価には先ほど固定した roundtrip_cost_bps=7.6 をそのまま使いました。つまり、「残差定義とコスト前提は現実寄りに固定したうえで、トリガー閾値だけを変えたら何が起きるか」を見ています。ここで見たかったのは、各閾値ごとの directional_exec_net_bps_mean と EV-positive 率、そして市場別・horizon別の日跨ぎ安定性です。
結論から言うと、結果はかなりはっきりしていました。6 / 8 / 10 / 12 / 15bps のどの閾値でも、weighted directional_exec_net_bps_mean はマイナスでした。全体で見ると、相対的にマシだったのは 8bps や 6bps あたりでしたが、それでも net は負のままです。逆に 10bps より大きい閾値へ振っていっても状況は改善せず、むしろさらに悪くなる場面が多く見られました。15bps で一部 positive ratio が高く見える箇所もありましたが、そこはサンプル数が極端に少ない外れ値寄りの結果で、継続的な優位性とは言いづらいものでした。要するに、閾値を多少動かした程度では、この構造はコスト後プラスに乗ってこなかったわけです。
ここで重要なのは、「10bpsが最適ではなかった」という話にとどまらないことです。もし 8bps や 12bps で明確に net が改善していたなら、今回の論点は「イベントの切り方が悪かった」ということになったはずです。しかし実際には、どの閾値でも net がマイナスに張り付いていました。つまり今回の結果が示しているのは、「10bpsが悪いから勝てない」のではなく、「今の歪み回帰の構造定義のままでは、トリガーをどこに置いても勝ち筋が見えない」ということです。これはかなり重い結論です。
さらに、日別で見ても状況は大きく変わりませんでした。サンプル不足の日はもちろん判定力が弱いのですが、一定数以上サンプルがある日だけを見ても、どの閾値も日次中央値レベルで net が明確にプラスへ寄ることはありませんでした。つまり、これは単に一日の偏りや特定市場の事故で説明できるものではなく、少なくとも現在使っている residual 定義・方向付け・アンカー条件の組み合わせそのものが、bitFlyer FX 執行EVへつながっていない可能性が高い、ということになります。
この結果によって、研究の論点もかなり整理されました。もともと今回の開発では、「市場にEVがないのか」「自分の定義や評価系が悪いのか」を切り分けたいという意図がありました。そして少なくともここまで来ると、「トリガー閾値の微調整で何とかなる段階ではない」ということはかなり強く言えます。もちろん、これだけで“歪み回帰構造は存在しない” とまで断定するのは早いです。ですが少なくとも、“現時点の歪み回帰モデル” については、10bpsを6や8や12に変える程度ではどうにもならない、という意味ではかなり明確に黒寄りの判定が出たと言ってよいと思います。
今回の再評価で大きかったのは、閾値テーマをいったん脇役に落とせたことでもあります。開発をしていると、どうしても「パラメータをもう少し詰めれば良くなるのではないか」という期待が残りやすいのですが、今回はその期待に対してかなり正面から NO を出せました。これは地味ですが大きいです。なぜなら、次に考えるべきことが「どの閾値が最適か」ではなく、「そもそも何を歪み回帰と呼んでいたのか」「その定義が bitFlyer FX で取れる構造を表していたのか」に移ったからです。今回の閾値再評価は、その論点の移動をはっきりさせるための検証でもありました。
5. 今回見えたこと:ボトルネックは閾値ではなく、歪み回帰の構造定義そのものだった
ここまでの検証を通して、今回いちばん大きかったのは「何が問題なのか」をかなり絞り込めたことでした。最初の段階では、まだいくつか可能性がありました。たとえば、単純に 10bps という閾値設定が悪いのかもしれないし、執行コストの見積もりが甘かっただけかもしれない。あるいは、30分 baseline より 60分 baseline のほうが安定していたのに、まだそこを詰め切れていないだけなのかもしれない。ですが、執行ベースの net 評価を追加し、BFFX の実ログから往復コスト 7.6bps を固定し、そのうえで閾値 6 / 8 / 10 / 12 / 15bps を横比較しても、なお一貫して net がマイナスだったことで、少なくとも今回の問題はそういう“微調整の不足”ではないとかなり明確になりました。
言い換えると、今回見えてきたのは「いま自分が歪み回帰として拾っているもの」が、bitFlyer FX で執行できる利益機会をうまく表現できていない、ということです。これはかなり大きな違いです。もし問題が閾値にあったなら、「イベントの切り方を変えれば改善する余地がある」という話になります。もしコスト前提が甘かっただけなら、「評価器を直せば済む」という話になります。でも今回はそこではなかった。つまり、現在の residual premium の作り方、方向の置き方、イベント化の仕方、その全体としての構造定義が、少なくともいま見たい “取れる歪み回帰” にはまだ届いていない可能性が高い、ということです。
ここで重要なのは、この結論を「市場にEVがない」と短絡しなかったことだと思っています。もちろん、実際に市場側に責任がある可能性もあります。特に HFT が強い領域では、構造としては存在していても個人トレーダーには取りようがない、ということは普通にありえます。ただ、今回やりたかったのは、そこを雑に諦めることではありませんでした。市場に責任があるなら、それは自分ではコントロールできないので一旦受け入れるしかありません。しかし、もし観測機の定義や評価の仕方に責任があるなら、それはシステム側で改善できる余地があります。今回の検証は、その責任の所在を少しでも分離するためのものでした。そして現時点では、「少なくとも閾値調整や軽微なパラメータ調整の問題ではない」「構造定義そのものを疑うべき段階に来ている」というところまでは、かなりはっきり見えたと思っています。
また、これは同時に「歪み回帰研究をこのまま延命して良い段階ではない」ということでもあります。開発をしていると、どうしても“まだ試していないパターン” が次々に頭に浮かびます。baseline を変える、閾値を変える、horizon を変える、イベント条件を足す、別市場の比重を変える。そういうアイデア自体は実際いくつもありますし、歪み回帰モデルの再設計余地が完全に尽きたわけではありません。ただ、今の段階でそれを無制限に続けると、「勝てる構造を探す研究」ではなく「今のテーマを死なせないための研究」に変わってしまいます。今回見えたのは、そこに入る前に一度きちんと立ち止まる必要がある、ということでもありました。
逆に言えば、今回の成果は「歪み回帰がダメだった」という単純な敗北ではありません。むしろ、自分がいま何を掴めていないのかを、かなり現実的なレベルで言語化できるようになったことのほうが大きいです。つまり、いま足りないのはパラメータの詰めではなく、“個人トレーダーが bitFlyer FX で実際に取れる歪み回帰とは何か” という定義そのものの解像度です。2市場間の mid residual を閾値で切れば十分なのか、そもそもそれでは市場構造の違いを取り違えているのか、あるいは歪み回帰ではなく別の現象を見てしまっているのか。今回の検証で、その問いにようやくちゃんと向き合える段階に入ったのだと思います。
そしてこの章の結論としては、少なくとも今のモデルについては、「これ以上、閾値や baseline を細かくいじっても、根本改善にはつながりにくい」ということです。ここを認められたのは大きかったです。研究を続けるか止めるかを判断するとき、いちばん危ないのは“まだ工夫の余地がある気がする” という感覚に引っ張られることだからです。今回そこに対して、執行ベース・実コストベース・閾値感度ベースでかなり明確に NO を出せた。だからこそ、次の章で書く「一度凍結する」という判断にも、ようやく現実味が出てきました。
6. ここで無理に延命しない:歪み回帰は1本だけ追加検証して、ダメならいったん凍結する
今回の検証を通して、少なくとも「今の歪み回帰モデルをそのまま少しずつ調整していけば、どこかで自然にEV>0へ届くだろう」という見通しはかなり弱くなりました。閾値を動かしてもダメ、実コストを現実寄りにしてもダメ、baseline の比較でも決定打は出ない。ここまで来ると、次に必要なのは“さらに細かく詰めること”ではなく、“どこで一度止めるかを決めること”です。今回、歪み回帰研究についていったん凍結判断を視野に入れたのは、そのためでした。
もちろん、ここで「歪み回帰はもう全部終わり」と言い切るのは早いとも感じています。実際、まだ試していないモデル候補はあります。たとえば、ただ residual が大きい状態を見るのではなく、短時間で急拡大したあとの収縮だけを見るモデルや、crossing のように“平常状態からの逸脱と戻り” を運動として捉えるモデルは、今の観測基盤をある程度流用しながら試せそうです。こうした候補の中には、現在の「level を閾値で切るだけ」の歪み回帰よりも、構造として自然なものがあるかもしれません。なので、研究素材としての歪み回帰が完全に死んだわけではないと思っています。
ただし、ここで大事なのは、まだ候補があることと、このテーマを主戦場として掘り続ける価値があることは別だ、という点です。今回見えたのは、少なくとも現行モデルでは、歪み回帰研究が“次の1手” というより “延命しようと思えばいくらでも延命できてしまうテーマ” に近づきつつあることでした。こういう状態で危ないのは、「まだ試していないものがあるから」という理由だけで開発リソースを流し続けてしまうことです。それをやり始めると、勝てる構造を探す研究ではなく、すでに怪しくなっているテーマを死なせないための研究になってしまいます。今回それは避けたいと思いました。
そこで今回は、歪み回帰について次回の開発で試す追加候補を1本だけに絞り、それでダメならいったん凍結する、という形にすることにしました。この「1本だけ」という制約には意味があります。複数本を並行で試し始めると、それぞれに“あと少し詰めれば良くなるかもしれない” という余地が残りやすく、撤退ラインが一気に曖昧になるからです。逆に1本に絞れば、その候補が現行モデルより明確に構造として自然なのか、gross や net の改善が見えるのか、そこだけを短く白黒つけられます。つまり、改善のための追加検証であると同時に、凍結判断をきれいにするための最終確認にもなるわけです。
この判断は、研究を諦めるというより、研究の優先順位を守るためのものだと思っています。いま私が欲しいのは、「まだやれることが残っているテーマ」ではなく、「今の自分にとって最も金に近い構造判定テーマ」がどれか、ということです。その意味では、歪み回帰は今回かなり頑張って掘ったぶん、いったん棚に上げるだけの材料が揃ってきました。仮に次の1本で多少改善したとしても、それが“主戦場としてさらに数週間掘る価値があるレベルなのか” はまた別問題です。だからこそ、ここで凍結ラインを先に言語化しておくことが重要でした。
今回の章で言いたいのは、歪み回帰を止めること自体が目的ではない、ということです。むしろ逆で、「ここで無理に延命しない」ことによって、これまでの検証結果をちゃんと資産として残せるようにしたかった。現行の歪み回帰モデルでは何が弱かったのか、何を改善候補として見たのか、どこまでやってなお黒寄りだったのか。そこを曖昧にせずに一度閉じることで、あとから必要になったときにも、今回の研究は“失敗したテーマ” ではなく “一度白黒をつけた素材” として再利用しやすくなります。今回の凍結判断は、そういう意味での整理でもありました。
7. 次の主戦場へ:リードラグ研究に移り、そこで得た知見を将来の歪み回帰や執行判断へつなぐ
歪み回帰をいったん凍結する判断をしたからといって、ここまでの研究が無駄になるわけではありません。むしろ今回の検証を通して、「構造がありそうに見える」ことと「bitFlyer FX で実際に取れる」ことの間には、かなり大きな距離があるという事実を、かなり具体的な形で確認できました。執行ベースで見ること、実コストを現実に寄せること、閾値や baseline の調整で誤魔化さないこと。こうした視点は、歪み回帰に限らず、今後どの研究テーマを進めるにしてもそのまま使えるものです。そう考えると、今回の歪み回帰研究は「ダメだったテーマ」ではなく、「次のテーマをより現実的に始めるための地ならし」だったとも言えます。
そのうえで、次の主戦場として考えているのがリードラグ系の研究です。これは単に「歪み回帰が弱そうだから、別の名前のテーマへ逃げる」という話ではありません。むしろ今回の検証で、いま見ている2市場間 residual premium の回帰だけでは、bitFlyer FX 執行EVへつながる構造をうまく捉えきれていない可能性が高いと分かったからこそ、次は「どちらの市場が先に動き、bitFlyer FX がどう追随するのか」という時間順序の構造を正面から観測しにいく必要がある、と考えるようになりました。言い換えると、今回の歪み回帰研究で掴みきれなかった部分を、リードラグという別の切り口で見直しにいく、ということです。
ここで大事なのは、リードラグ研究を始めるときにも、今回と同じ失敗を繰り返さないことだと思っています。つまり、「先行しているように見える」「追随しているように見える」という見た目だけで話を進めないことです。今後リードラグを観測するときも、最初から bitFlyer FX 執行という現実を視野に入れながら、最終的には EV ベースで白黒をつける前提で進める必要があります。今回の歪み回帰研究で手に入ったのは、その評価の順番でした。構造の有無、執行可能性、実コスト控除後のEV。この順番を崩さずにテーマを立ち上げることが、次の研究ではかなり重要になると思っています。
また、今回の歪み回帰研究を凍結する判断は、将来このテーマに戻ってこないという意味でもありません。たとえば今後、リードラグ研究を進める中で、「実は歪み回帰に見えていたものの一部は、先行市場と追随市場のズレとして理解したほうが自然だった」と分かる可能性は十分ありますし、逆に「リードラグの条件を満たしたうえで初めて歪み回帰が意味を持つ」といった形で、両者の関係が見えてくるかもしれません。そうなったとき、今回の凍結は無駄ではなくなります。むしろ、今の時点で一度止めておいたからこそ、あとでリードラグの知見を持ち込んで、より解像度の高い歪み回帰モデルとして再設計できる余地が残ります。
今回の判断でいちばん守りたかったのは、「面白いから続ける」ではなく「金に近いテーマへ優先的に張る」という研究姿勢でした。歪み回帰にはまだ候補がありますし、再設計の余地もあります。でも、いま必要なのは“まだやれることがあるテーマ” を選ぶことではなく、“いまの自分にとって最も現実的に掘る価値があるテーマ” を選ぶことです。その意味で、ここで歪み回帰をいったん止め、リードラグへ主戦場を移すのは、逃げではなくむしろ研究の軸を守るための判断だと思っています。
しばらくは、歪み回帰で得た知見――特に「構造観測だけでは足りない」「執行コストを現実に寄せないと意味がない」「パラメータ調整だけではどうにもならないテーマは止めるべき」という反省を持ったまま、リードラグ研究へ進んでいくことになります。そこでまた、bitFlyer FX で取れる形の構造が見つかるのか、それとも別の壁にぶつかるのかは分かりません。ただ少なくとも今回、歪み回帰については“どこまで掘って、どこで止めるか” を自分なりにかなり現実的な形で決められました。次はその判断を土台にして、もう一段、金に近いところへ寄せた研究を進めていきたいと思っています。