改善|自動売買の開発・検証

失敗や見送りをどう直したか

自動売買で起きるエラー、データ不足、想定外の損失を分け、原因確認から修正、再テスト、採否判断までの進め方を紹介します。

改善
順を追って確認

はじめに

うまくいかなかった結果をすべて同じ『失敗』にすると、直す場所を間違えます。プログラムの不具合、データの問題、ルールどおりに売買した損失を分けて扱います。

しっかり者の女性キャラクター

損失が出た銘柄は、次から除外すれば改善できる?

負けた後だけ名簿から消したら、成績表の書き換えや。先に説明できる理由が必要やで。

サイト案内役のおっちゃんキャラクター
女性キャラクターの返答

結果を見て都合よく変えず、原因と修正の根拠を残すんだね。

最初に失敗の種類を分ける

注文が送れなかった、データを取得できなかった、計算結果が想定と違った場合は、仕組みや運用の問題です。一方、決めたルールどおりに約定して損失になった取引は、市場で起こりうる結果です。

種類を分けずに条件だけ変えると、不具合が残ったままになったり、損失を見た後の調整で過去にだけ合う仕組みになったりします。

  • プログラムや接続のエラー
  • 不足・遅延・対象違いなどのデータ問題
  • ルールどおりに成立した取引の利益と損失

一度に直す範囲を狭くする

複数の条件を同時に変えると、どの変更が結果に影響したか分からなくなります。まず問題を再現し、原因と考えられる部分を絞って修正します。

修正後は、問題が起きた例だけでなく、これまで正しく動いていた例も確認します。新しい修正によって別の動きを壊していないかを見るためです。

  • 問題が再現する入力と手順を残す
  • 変更する部分をできるだけ一つに絞る
  • 修正前に動いていた例も再テストする

採用・見送り・継続確認を分ける

修正して一度良くなっても、すぐに本番のルールへ採用するとは限りません。確認できた期間や取引数が不足していれば、継続確認として記録します。

期待した改善が見られない案は、削除してなかったことにせず、見送った理由を残します。後から同じ案を繰り返さず、別の改善と比較するための材料になります。

  • 確認がそろった変更は採用候補
  • 証拠が足りない案は継続確認
  • 改善しなかった案は理由を付けて見送り