【要約】14営業日連続でシステムが取引しなかった話 — skipを構造リスクに昇格させる設計 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者が自動売買システムの運用中に、14日間連続で取引が発生しない事態に直面した。従来の損益ベースのログでは、取引が行われなかった理由が判別できなかった。
- ・「何もしない」ことが正常な判断か、設計ミスかが不明。
- ・イベントが発生しないこと自体が、観測不能なリスクとなる。
// Approach
開発者は「skip(見送り)」を構造的なリスクとして扱う設計を導入した。取引見送りの理由を分類し、連続日数に応じて段階的に警告を出す仕組みを構築した。
- ・見送り理由を「市況」「個別」「制約」「規範」の4バケツに分類。
- ・連続skip日数をカウントする「D-Nカウンタ」を実装。
- ・7/14/21日のしきい値に基づき、監視から強制レビューへエスカレーション。
// Result
この設計により、連続skipが発生した際に原因を特定するためのレポートが自動生成される。設計者が「何を見て判断すべきか」が明確になった。
- ・「制約パラメータ(最大損失キャップ等)の不備」を即座に特定可能。
- ・「何もしない」状態を、設計変更のための能動的なトリガーへ昇格。
Senior Engineer Insight
> 「イベントの不在」を観測対象とする設計は、極めて実戦的だ。自動化が進むほど、異常な「静寂」が最大の故障要因となる。制約条件を独立したカテゴリとして分離した点は、パラメータチューニングの工数を劇的に下げる。運用コストを抑えつつ、システムの健全性を維持する優れたアプローチである。