Bot

開発記録#151(2025/3/25)「論文ベースのbot開発フローpart.13」

2025年3月25日

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。

本記事では「暗号通貨のパンプ&ダンプスキームの検出」に関する論文をベースにbot開発の過程をまとめていきます。

🚀 最終確認結果のレビューと調整

次のステップとして、以下の内容を進めます。

✅ 最終確認結果のレビュー
✅ パラメータやエラーハンドリングの微調整
✅ 本番環境の安定稼働開始


1. 最終確認結果のレビュー

✅ 確認チェックリスト

チェック項目内容ステータス
データ収集Bybit APIから正しくデータが取得できるか✅
P&Dイベント検出実際の市場データでP&Dイベントが検出されるか✅
取引執行逆張りモードとリスク回避モードが正確に機能するか✅
Slack通知エラー発生時やBot停止時に通知が送信されるか✅
GrafanaダッシュボードCPU/メモリ使用状況やBotの取引データが確認できるか✅
再接続機能ネットワーク障害発生後に自動再接続ができるか✅

2. パラメータとエラーハンドリングの最終調整

✅ パラメータの最適化

項目旧値最適値説明
STOP_LOSS_PERCENT3%4.2%小さな変動への対応強化
TAKE_PROFIT_PERCENT5%6.8%過剰な利益確定を防止
TRADE_AMOUNT$100$150取引単位を増加し利益幅の最大化
CPUリミット500m600mBotの負荷増加に対応
メモリリミット512Mi1Giデータ増加時の安定稼働確保

✅ エラーハンドリングの調整

エラータイプ旧動作新動作
APIタイムアウト再試行3回 → 停止再試行5回 → Slack通知 → 停止
データ取得エラーデータ欠損時に停止データ再取得 → エラーログ記録
Bot停止即座に再起動Slack通知 → 5分後に再起動

3. 本番環境の安定稼働開始

✅ デプロイ手順

  1. イメージのビルドとプッシュ
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker build -t your_dockerhub_username/crypto_bot:latest .
docker push your_dockerhub_username/crypto_bot:latest
docker build -t your_dockerhub_username/crypto_bot:latest . docker push your_dockerhub_username/crypto_bot:latest
docker build -t your_dockerhub_username/crypto_bot:latest .
docker push your_dockerhub_username/crypto_bot:latest
  1. Kubernetes環境へデプロイ
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
kubectl apply -f hpa.yaml
kubectl apply -f configmap.yaml
kubectl apply -f deployment.yaml kubectl apply -f service.yaml kubectl apply -f hpa.yaml kubectl apply -f configmap.yaml
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
kubectl apply -f hpa.yaml
kubectl apply -f configmap.yaml
  1. 最終稼働確認
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl get pods
kubectl get services
kubectl get pods kubectl get services
kubectl get pods
kubectl get services
  1. 監視確認 (Prometheus/Grafana)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl port-forward svc/grafana 3000:80
kubectl port-forward svc/grafana 3000:80
kubectl port-forward svc/grafana 3000:80

ブラウザで http://localhost:3000 にアクセス


✅ 稼働状況の監視

リアルタイムログ確認

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl logs -f <POD_NAME>
kubectl logs -f <POD_NAME>
kubectl logs -f <POD_NAME>

CPU/メモリ監視

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl top pods
kubectl top pods
kubectl top pods

Slack通知確認

  • 取引成功/失敗
  • エラー発生
  • Bot再起動

4. 次のステップ

今後の運用に向けて、以下のタスクに取り組みます。

✅ 稼働状況の定期確認
✅ バックアップ戦略の構築 (データの自動保存と復旧手順の整備)
✅ トレード戦略の継続的な改善 (AIや機械学習モデルの組み込み)

Yodaka

次の記事では、運用開始後の最初のチェックポイントの設定に取り組みます。

関連
開発記録#152(2025/3/25)「論文ベースのbot開発フローpart.14」

続きを見る

-Bot

S