ノートPC上の取引ボットは、退屈な一つの理由で悪い考えです:あなたのノートPCは24時間365日オンラインではなく、市場はそうです。取引の途中で蓋を閉じれば、ボットは建玉の管理を止めます。Freqtrade — 人気のオープンソースPython取引ボット — は無人で動くように作られていて、それこそ小さなVPSの用途です。実際に何が必要か、Dockerでどう構成するか、そしてぶつかるまで誰も触れない正直な限界を、ここに記します。
なぜ自分のマシンではなくサーバーか
理由は二つ、どちらも実際的:
- 稼働時間。 ボットは四六時中、市場を見張り建玉を管理しなければなりません。ノートPCがスリープや再起動をするたびにボットは盲目になります — 逃したエントリー、あるいはもっと悪く、誰も見ていない建玉。
- 遅延と安定性。 VPSは取引所への安定したルートを持つデータセンター接続の上に座ります。家庭のwifiのジッターやNATリセットは、価格に反応するボットの助けになりません。
これはどの取引ボットもVPSで動かす背後にある同じ論理です — Freqtradeは要件を具体的にするだけです。
実際に何が必要か
Freqtrade自体は軽量ですが、ワークロードには現実的に:
- live / dry-runのボット: 2 GB RAMが快適な下限です。Dockerイメージ、いくつかのペア、インジケーター、SQLiteの取引DBがみな少しの余裕を欲しがります。**$5 Micro(2 vCPU / 2 GB / 25 GB)**が正しい出発点です。1 GBでも少数ペアの単一のシンプルな戦略なら動きますが、縁に近づいています。
- 多くのペア / 複数戦略: **$8 Small(4 vCPU / 4 GB / 35 GB)**へ上げましょう — ペアが増えると同時のインジケーター計算が増え、メモリ上のdataframeが大きくなります。
- ディスク: 控えめ。イメージ、あなたの
user_data、取引DBは25 GBに余裕で収まります。バックテスト用にダウンロードした過去データだけが増えるもの — そしてそれは主にローカルマシンに置かれます(下記)。
Docker Composeで構成する
DockerはFreqtradeを動かす、保守された最も痛くない方法です。まっさらな箱で:
sudo apt update && sudo apt install -y docker.io docker-compose-v2
mkdir ~/ft && cd ~/ft
docker run --rm -v "$(pwd)/user_data:/freqtrade/user_data" \
freqtradeorg/freqtrade:stable create-userdir --userdir user_data
公式のcomposeファイルを取得し、対話的に設定を作成します(取引所、ステーク、dry-runについて尋ねてきます):
curl -s https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml
docker compose run --rm freqtrade new-config --config user_data/config.json
まずdry-run — 常に
新しい戦略を実弾に向けないこと。Freqtradeは既定でdry-run(ペーパートレード)で、戦略がしばらくlive市場データで自らを証明するまでそこに留めておくべきです。config.json で:
{
"dry_run": true,
"dry_run_wallet": 1000
}
起動して見守る:
docker compose up -d
docker compose logs -f
composeファイルの restart: unless-stopped ポリシーが、ここでのsystemd相当です — Dockerがクラッシュやサーバー再起動の後にボットを戻します、手動の手順なしで。(Dockerの外で動かすほうが好みなら、Restart=always のsystemdユニットが同じ仕事をします — どのボットも生かし続けるのと同じ原理です。)
取引所APIキー — 人を噛む部分
ここで取引の構成が高くつく形で狂います。二つのルール、交渉の余地なし:
- 取引権限のみ。引き出しは決して有効にしない。 キーが漏れても、最悪でも望まぬ取引 — 資金がドアから歩き出すことではありません。Freqtradeは引き出しアクセスを決して必要としません。
- キーをIPホワイトリストに。 ほとんどの取引所はAPIキーを特定のIPに縛れます。これは**専用IPプラン**で動かす具体的な理由です:キーはあなたのサーバーの固定アドレスからのみ効きます。NATプランではボットがノードのアウトバウンドIPを共有し、それはあなただけのものではありません — ボットが機能するには十分ですが、きれいにホワイトリストできません。
キーは config.json に置き、全員読み取り不可にし(chmod 600)、コンテナは非rootユーザーで動かします。そしてまず箱を締めましょう — 新VPSセキュリティチェックリストは10分で、大事な扉を閉めます。
user_dataをバックアップ
あなたの戦略、設定、取引履歴はすべて user_data にあります。それが失いたくないものです:
tar czf ft-backup-$(date +%F).tar.gz user_data
それを定期的にサーバーから引き出しましょう(あるいはオブジェクトストレージへ)。取引DBを失うのはパフォーマンス履歴を失うこと;調整済み戦略を失うのは最適化のやり直しです。
正直な限界
- バックテストとhyperoptは重い — ローカルで。 それらは長い間CPUを張り付け、共有のバースト志向VPSはスパイク的なワークロード向けで、何時間もの持続的な100%負荷向けではありません(利用規約にも反します)。自分のマシンで最適化し、結果をliveで走らせるためにデプロイしましょう。VPSはliveボットのためで、研究のためではありません。
- CPUは共有/バースト。 ローソク足を待って反応するのが主なliveボットには最適;1年分の1分足をhyperoptで挽くには不適。
- 一つのリージョン、CPUのみ。 サーバーはドイツにあり、GPUはありません。Freqtradeには問題なし(CPU/ロジックであってML訓練ではない) — 戦略が重いMLモデルに寄りかかるなら知っておく価値があり、それはやはりローカルで訓練するほうが良いです。
結論
VPSのFreqtradeはliveボットのための正しい構成です:集中した戦略には$5 Micro、多くのペアを走らせるなら$8 Small、稼働時間には restart: unless-stopped のDocker Compose、そして漏洩が資金を抜けないよう取引のみ・IPホワイトリスト済みのAPIキー。重いバックテストとhyperoptはノートPCに留め、user_data をバックアップし、サーバーには得意な一つのこと — 市場が動く間オンラインでい続けること — をさせましょう。サインアップはメールのみでUSDCまたはUSDTで支払います;専用IPはここで価値あるただ一つのアップグレードで、純粋にAPIキーのホワイトリストのためです。
デプロイの準備はいい? Freqtradeは Microプラン で快適です;より重いバックテストや多くのペアには Small へサイズアップを。
コメント
まだコメントはありません。最初になりましょう。