今週は余裕があったので並行開発botを一つ増やして3→4にしてみた。
こういう時には“測る→小さく勝つ→増やす”を忘れがちなので、今後も淡々と積み上げる流れを維持していきたい。
— よだか(夜鷹/yodaka) (@yodakablog) August 15, 2025
サマリ
- ArbBot:30分バーンインで**エラー率を 0.044〜0.233%**へ減少、p99レイテンシ実測値は124–270ms 。実用域に近づく手応え。
- MM/Short 系:Circuit Breaker(HALF_OPEN対応)を実装・統合、Prometheusのレジストリ不一致(時系列ゼロ)問題を特定→修正方針確立。マルチプロセス計測の配線も整備。
- 清算スナイパー:セルフテスト合格、2-of-4 合議エンジン成立、メトリクスエクスポータ稼働確認。
- 周辺:DEX/CEX手動約定の実運用オペ段取り、Jupiter TTFB計測(ワンライナー修正)、拡張機能経由のウォレット被害事例でセキュリティ意識を再確認、スイングBot構想着手。
日別ログ
8/9(土)
- Canary移行後の**レイテンシ分解TODO(md→decide→prelat→req→ack)**を明確化、A/B実験設計の骨子作り。
- MMBotのレートリミット/ログ観測観点を洗い出し。
- 運用補強メモ(JST日次リセット、露出上限、stalenessスロットル、極小ロット試験手順)を整理。
-
-
🛠️開発記録#275(2025/8/9)ShadowからCanaryへ──仮想通貨MM Bot本番移行の舞台裏と実運用ガード設計
続きを見る
-
-
🛠️開発記録#276(2025/8/8)オンチェーン清算スナイプBot開発ログ:検知から実トレード解禁までの技術的ロードマップ
続きを見る
-
-
🛠️開発記録#277(2025/8/9)250msの壁を超える──DEX-CEX高速裁定Bot開発の舞台裏
続きを見る
8/10(日)
- ArbBot 30分バーンイン結果:
- 総実行 ≈ 24,00回、エラー率 100% → 0.044–0.233%。
- p99 124–270ms。
- タイムアウト/例外系の実装改善が効いていることを確認。
- Short系で設定バリデーションエラーを検出(configのスキーマ整合性課題を顕在化)。
- FR/Implied APRの追随性について仮説検討(短期テナー/板活性化の重要性を確認)。
50–150ms(良質なインターネット経路)が個人レベルの主戦場っぽいな。実測RTTがこの桁に収まる地域間なら、MMのメイカー路線・在庫管理・予測寄りのクオートで十分勝負可なのではないか、と判断している。ネットワーク/OS、アプリ/アーキで掘っていくと個人でできることがそこそこ見つかる。
— よだか(夜鷹/yodaka) (@yodakablog) August 10, 2025
8/11(月)
- 情報収集系タスク(ニュース/ラウンドアップ)を実施。
- **HFT“速度の腕相撲”**の資料を再確認し、レイテンシ分解の優先順位づけを再確認。
-
-
🛠️開発記録#279(2025/8/11)Ember流レイテンシ分解で作るMM Bot——実測p99とA/B実験で磨く本番運用
続きを見る
例えば、Xの@whale_alertが晒したトランザクションデータから特定したウォレットアドレスの過去ログを観測して実際にどのような取引をしていたのかを分析させてみる、とか。 https://t.co/59Te0adnhT pic.twitter.com/POPK13MuRD
— よだか(夜鷹/yodaka) (@yodakablog) August 11, 2025
レイテンシアービトラージ、これか。https://t.co/itHgob7xH8
— よだか(夜鷹/yodaka) (@yodakablog) August 11, 2025
8/12(火)
- スイングBot構想を着手(CEX前提・設計前の前提整理)。
- Jupiter/quote TTFB計測のワンライナー修正(AI生成コマンドの癖を是正)。
- Rust化でのマシン負荷体感差に言及(方向性確認)。
-
-
🛠️開発記録#280(2025/8/12)個人トレーダーのための“高速×安全”設計——p99、レートリミット、中央制御
続きを見る
主力bot群の一部をPythonからRustに移行してからは、PCへの負荷が減った気がする。本体の発熱もだいぶ抑えられているし。
副次的な作用かもしれないが嬉しい。— よだか(夜鷹/yodaka) (@yodakablog) August 12, 2025
8/13(水)
- 清算スナイプBot:配線スモーク/レジストリ状態を点検しつつ、セルフテスト系の手当てを進行。
- 作業ログ#281の振り返り(「まずまず」評価、裁量トレードとの心理的バランスに言及)。
- 拡張機能経由のウォレット被害スレを確認し、セキュリティ運用の再注意。
クリプトに10年以上触れていた方でも"悪意のあるCursorの拡張機能"によってウォレットの資金を抜かれた事案らしい。
【やってはいけないことまとめ】
✅秘密鍵を .env に置く
✅ダウンロード数だけを信用する
✅急いでいるときに拡張機能を入れる
✅価値のある用途にホットウォレットを使う https://t.co/9XAE7MLDl5— よだか(夜鷹/yodaka) (@yodakablog) August 13, 2025
-
-
🛠️開発記録#281(2025/8/13)本日の作業ログ
続きを見る
8/14(木)
- MM/Short 系の進展
- Circuit Breaker(HALF_OPEN)実装完了・APIラッパへ統合、CLI整備。
- Prometheus時系列ゼロ問題の根因をレジストリ不一致と特定⇒共有レジストリ化での修正方針。
- multiprocess対応・メトリクス重複解消を進行。
- 清算スナイパー:セルフテスト合格、2-of-4合議エンジン成立, エクスポータ(:8019)稼働確認。
- DEX/CEX手動約定オペ:ウォッチャ通知に合わせた10本実行の段取り確認(CEX側ボトルネック感触あり)
このままの比率で進むと「技術は完璧だけど実戦経験ゼロの城主」になるから、明日は最低1回は市場にオーダー通して数字を持ち帰るタスクを入れたほうがいい。
— よだか(夜鷹/yodaka) (@yodakablog) August 13, 2025
8/15(金)
- 本日分の大きな更新は未記載(要素があれば追記)。
- 本記事の執筆(現在)
横断トピック(今週通じて)
- オブザーバビリティ強化:Prometheus配線の健全化、単一レジストリ指向、multiprocess集約、p99を軸にした区間分解。
- 運用安全性:Circuit Breakerの本配備、露出上限・日次リセット・staleness抑制など“壊れにくい”設計へ。
- 実用化への寄与:ArbBotの実測での品質改善が顕著(まずは“動く→使える”への橋渡し)。
- セキュリティ姿勢:開発環境の拡張機能リスクを再認識(“便利”より“安全”を優先の運用判断)。
- DeFi方面のリサーチ:気分で少しだけ。
Boros、気になっていたやつ。ちょっとだけ調べてみたけど、これすごいな。以前からPendleには注目していたのだけれど、その伸びを鑑みるとこれはfunding-rate系として替えの効かないプロジェクトに伸びていくかもしれない。https://t.co/Hm131oKxtI
— よだか(夜鷹/yodaka) (@yodakablog) August 9, 2025
boros、難しいなと思っていたのでじっくり読みました。お二人の議論に感謝。
手数料は“追随の遅さ”を増幅はするけど主因じゃなくて、本質はプロダクトの構造(固定vs将来平均の変動)にある。“直前キャプチャ”は裁定ではなくキャリー。
→追随性を上げるには短期テナー/Strip設計+板活性化が有効? https://t.co/RWlOYPSxdj— よだか(夜鷹/yodaka) (@yodakablog) August 11, 2025
ETH L1のMEVは"時間(レイテンシ/先読)と立場(オーダーフロー/ビルダー接続)をカネで殴るゲーム"だと思っていたが、調べてみたら若干認識変わってきたかも。インクルージョンリスト(EIP-7547/FOCIL案)みたいな“強制包含”の仕組みが並走中なのか。https://t.co/41CtMA9chGhttps://t.co/cgIReqLo5h
— よだか(夜鷹/yodaka) (@yodakablog) August 11, 2025
数字で見えた改善
- ArbBot エラー率:未完成 → 0.044–0.233%
- ArbBot p99:未完成 → 124–270ms、「下限は改善、上限にスパイク残」
- 清算Sniper セルフテスト:metrics smoke pass/2-of-4 consensus確立/:8019 エクスポータ稼働
- MM/Short:CB(HALF_OPEN)実装・導入/メトリクス重複解消/レジストリ不一致の根治策決定
所感
- “計測と安全装置”の2本柱が今週大きく前進。ArbBotは実測で改善が出ており、MM/Short/清算でも本番に耐える土台が厚くなってきた。
- 直近は、極小ロットの安全運転→実fill統計の収集と、p99の分解改善サイクルを回し切るところまで行けるフェーズ。
- アルファ探求が弱い。裁量トレードのポイントも振り返りながらbot作成フローに活かす。
忖度なしレビュー(Chat GPT)
うまく進んだ点(資産化できてる)
- 可観測性の基盤:Prometheusのレジストリ不一致を特定→共有レジストリ方針で解毒。multiprocess配線も前進。p50/p95/p99を段別で出す“測る文化”は◎。
- 運用ガード:Circuit Breaker(HALF_OPEN)を本実装し、APIラッパに実装。壊れ方を限定できるようになったのは実運用に効く。
- ArbBotの品質改善:バーンインでエラー率 100%(未完成) → 0.044–0.233%、p99 ~120–270msまで短縮。耐障害系の手当てが効いている。
まだ弱い/止まっているところ(稼ぐ観点)
- アルファの未確立:速度・安全装置は整備中だが、EV>0を保証するロジック(期待値の源泉)が未同定。スキャナ→実fillのギャップ検証が不足。
- 実fillベースのEV管理が未着手:ログ/PnLは整備路線だが、手数料・FR・スリッページ・約定率を含むEVパイプラインが未完成。ここが“収益化の首”。
- レイテンシの尾:p99上限270msのスパイク要因未特定(ネットワーク/Adapter/内部キュー)。Cancel p99はMMの逆選択コスト直結、要分解。
- 設定品質:Short系のスキーマバリデーションエラー露見。設定→起動前検証の自動化が必要。
- ヒューマン要因:裁量成功体験が“ボット稼働の躊躇”を生んでいる。極小ロットの定常運転で心理バリアを下げるべきフェーズ。
スコアカード(10点満点)
- アルファ/期待値設計:3.5
- 可観測性/計測:8.0
- 信頼性/フォールトトレランス:7.5
- レイテンシ/効率:6.5
- オペ運用規律(チェックリスト等):6.0
- セキュリティ姿勢:6.5
総合(重み付き):6.4/10
→ “運用できる器”は整ってきた。次はEVの配線と極小ロット本運転。
来週の開発計画(8/16–8/22 JST)
週のゴール:「極小ロットで毎日回し、実fillベースでEVを可視化。Cancel p99の尾を詰め、拡大量のGo/No-Go基準を満たす」
1) 共通プラットフォーム(最優先:EV配線とSLO)
- 実fill-PnLパイプラインを完成(D1–D2)
- fillログ→
fills.parquet
(ts, side, price, qty, fee, venue, slip_bp) - 手数料/リベート/FR(該当時)を反映したEV計算ジョブ(rolling 50/100 trades)
- ダッシュ指標:
p_fill
,slip_p95
,exec_spread_bp
,fee_bp
,EV_rolling
- fillログ→
- SLO/Go-NoGoの定義を固定(D1)
- 共通SLO:err_rate ≤ 0.2%, cancel_p99 ≤ 200ms, slip_p95 ≤ 6bp
- 拡大判断:EV_rolling100 > 0, p_fill ≥ 35%、インシデント0
- 設定スキーマのCI検証(D2)
config/*.yml
をpydantic/JSON Schemaで起動前バリデーション。不正キー/型をブロック。
2) ArbBot(収益の最短ルート)
- 極小ロット定常運転(24/7)(D1開始)
- DEX→CEX/ CEX→DEXの両方向でpost-only優先。
- 監視:スパイク検知(p99>250ms 連続3回→30s一時停止)
- p99尾の切り分け(D2–D4)
- 段別:
md→decide→prelat→req→ack
のヒストグラム出力と相関を取る - Jupiter TTFB測定の常時化(環境変動の切り分け)
- Adapter I/O(同期/非同期、コネクション再利用)と内部キュー深さを調整
- 段別:
- EV源泉の検証実験(D3–D5)
- ボラティリティRegime × post_only × notionalバケットのA/B
- **TTL/並列度/価格鮮度(fx_book_age_ms)**の三点最適化
- 拡大量の基準
- 連続3日でEV_rolling100 > 0、err_rate ≤ 0.2%, cancel_p99 ≤ 200msで**notional 1.5–2.0×**へ
3) MMBot(安定運転の柱)
- Cancel p99の集中改善(D2–D4)
- ローカルRTT計測+Binance/Bybit API単独RTTで基準線確立
- 内部処理の短縮(キュー/ロック/GCホットパス削減)。post_only/price bandの再確認。
- 在庫スキュー再導入の計画(D5)
- CanaryでスキューOFF→小バケットONの段階導入、maker比率/逆選択コストで評価
- 実fillダッシュ:maker比率、spread実効、
cancel->replace
の連鎖p99
4) 清算スナイプ(短期:検知→評価の正合一致)
- セルフテスト合格を本番準備チェックリストに昇格(D1)
- 検知→約定までの“時間差”の実測(D3–D5)
- リファレンスと自検知のtΔ分布作成、勝てる窓特定
- Go/No-Go:tΔ中央値が想定ウィンドウ内&
slip_p95
許容内で微ロット試験開始
5) セキュリティ小回り(半日×2)
- IDE/拡張機能棚卸し:許可リスト方式、権限過多検出
- APIキー運用:ローテーション計画・使用権限の最小化・監査ログ確認
理論値を知っているとおかしな数値に気づけるようになるの良いな。この配線でこの速度は物理的に無理でしょって分かるからプロセス丸ごとすっ飛ばしている可能性に言及できる。
そもそもそういうことが起こらないで欲しいのだけど。— よだか(夜鷹/yodaka) (@yodakablog) August 13, 2025
引き続き配線は整えていく。私、まだアルファを掘る力が弱いんだなぁ。ここが根本的に稼ぎに直結する部分だから、今後は研究に振るリソースを増やさないとダメだね。こういう類の力は急には伸びないと分かってはいても、実際かなりもどかしい。でも、焦らずコツコツやる。自分との勝負。
— よだか(夜鷹/yodaka) (@yodakablog) August 12, 2025
週間タイムブロック(目安)
- 毎朝 04:30–07:00:深掘り(EVパイプライン/Cancel p99対策)
- 午前 09:00–12:00:実装とセルフテスト(単体→結合)
- 午後 14:00–16:00:極小ロット運転+ダッシュ確認(異常対応)
- 夕方 17:00–18:00:A/B集計・日次レポ(学び/明日の一手)
- 毎日 90分:アルファ研究の固定枠(“速度”以外の優位探索)
次週からの置き換え・運用ルール
- p99の0ms/N/A混入禁止(サンプル閾値未満はN/A)
- 拡大量のGo/No-Goを数値で宣言してから動く
- 極小ロットを“常時回す”(心理バリアを下げ、実fill統計を増やす)
- EVはrollingで見る(50/100トレード窓でプラスを確認してから増量)
一言でまとめ
“器”はほぼ揃った。**来週は「極小ロットで回し続けてEVを可視化→SLOを満たして拡大」**に全振り。
勝ち筋は“測る→小さく勝つ→増やす”。 この順番を崩さなければ、必ず前に進む。