【要約】「確信が持てない」で skip しない自動売買 — 判断 skip と条件 skip を分けた設計 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
個人開発者が運用する自動売買システムにおいて、相場環境への不安や連敗による心理的要因が、ロジック内に「判断skip」として混入していた。これにより、以下の課題に直面していた。
- ・「自信がないからやめる」という主観が、物理的な条件不一致と混同される。
- ・スキップ理由が言語化できず、事後の検証や再現が困難になる。
- ・「弱気で逃げたのか、条件が合わなかったのか」の判別がつかない。
// Approach
開発者は、意思決定レイヤーを「判断」と「条件」の2段階に分離する設計変更を行った。主観的な迷いを、客観的な価格条件の厳格化へと置き換える手法である。
- ・
TradeDecisionクラスを導入し、skipとconditional_enterを明確に分離する。 - ・「自信がない」という判断を、
build_price_conditionによる価格条件の絞り込みに変換する。 - ・寄付き後の価格を一定間隔でポーリングし、設定した条件を満たした場合のみ発注する。
// Result
設計変更により、スキップの理由が「主観」から「事実(数値)」へと変わり、運用の透明性が向上した。
- ・「もし発注していたら」という反事実ログの計算が可能になった。
- ・条件不一致の連続を、戦略の妥当性を判断するシグナルとして扱えるようになった。
- ・意思決定のプロセスが完全に再現可能となり、データに基づいた振り返りが実現した。
Senior Engineer Insight
> 意思決定における「主観」を「パラメータ」へ変換する設計は、極めて実戦的だ。単なる自動化ではなく、検証可能な「観測可能なシステム」への昇華を意味する。ただし、条件設定が恣意的になれば本末転倒である。条件は戦略ごとの定数やATRなどの統計量に基づき、厳格に管理しなければならない。この原則を守ることで、初めてデータに基づいた継続的な改善サイクルが回る。