トレーディングボット、裁定取引スクリプト、市場データ収集ツールは一日中動き続け、2つのことが重要になります。落ちないこと、そして取引所に近いことです。VPS は、自宅のパソコンよりもその両方に優れています。
なぜ自宅で動かさないのか
- 停電やルーターの再起動で、最悪のタイミングでボットが止まってしまいます。
- 家庭用回線はジッターが大きく、取引所から近いことはまれです。
- パソコンを24時間つけっぱなしにするコストは、小さな VPS より高くつきます。
ボット向け VPS で重要なこと
- 取引所までのネットワークレイテンシ。主要な暗号資産取引所の多くは、マッチングエンジンを少数のリージョンに置いています。利用する API までのラウンドトリップが最も短いロケーションを選びましょう。
- 安定した CPU。専有 CPU のプランは、共有 CPU よりもタイミングが安定します。
- 安定した稼働率。ステータスページがあり、ログやデータベースを高速に扱える NVMe ストレージを備えたプロバイダーを選びましょう。
- 控えめなリソース。多くのボットは 1〜2 vCPU と 2 GB の RAM で十分です。
推測せず、測定する
候補となる2、3か所のロケーションで小さなプランを注文し、取引所の API までの実際のレイテンシをテストします。
ping -c 20 api.example-exchange.com
curl -o /dev/null -s -w "connect: %{time_connect}s total: %{time_total}s\n" https://api.example-exchange.com/ping
mtr -rwc 50 api.example-exchange.com
最良の単発結果ではなく、中央値と最悪値で選びましょう。平均がわずかに高いことよりも、スパイクのほうが痛手になります。
ボットを動かし続ける
[Unit]
Description=Trading bot
After=network-online.target
[Service]
User=bot
WorkingDirectory=/opt/bot
ExecStart=/usr/bin/python3 bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
/etc/systemd/system/bot.service として保存し、systemctl enable --now bot で有効化します。Systemd はクラッシュ後にボットを再起動し、起動時にも開始します。
安全チェックリスト
- 取引のみの権限を持ち、出金を無効にした API キーを使います。
- 取引所の設定で、各キーをサーバーの IP アドレスに制限します。
- キーは環境変数、または権限を制限したシークレットファイルに保存し、公開リポジトリには絶対に置かないでください。
- すべての注文をログに記録し、エラーや異常な残高にはアラートを設定します。
- まずは少額でテストしてください。自動売買は短時間で資金を失う可能性があります。
ここに書かれている内容は投資助言ではありません。高速なサーバーがあっても、戦略が利益を生むとは限りません。