FX自動売買Botの月次レポートの書き方 — 振り返りに使えるテンプレート
はじめに — なぜBotの運用に「振り返り」が必要なのか
FX自動売買Botを動かし始めると、「放置しておけば勝手に稼いでくれる」と思いがちです。しかし、Bot運用の現実はそう甘くない。市場環境は変化し、昨日まで機能していた戦略が突然通用しなくなることは珍しくありません。
月次レポートを書く目的は3つ。
- 客観的にパフォーマンスを数値化する: 感覚ではなくデータで判断する
- 問題の早期発見: ドローダウンの拡大や勝率の低下をトレンドで捉える
- 改善サイクルを回す: 数値に基づいた具体的なアクションを決める
ソフトウェアエンジニアなら、本番環境のモニタリングやポストモーテムを書く習慣があるはず。Bot運用も同じです。定期的にメトリクスを見て、異常があれば原因を調査し、改善する。
この記事では、月次レポートに含めるべき項目とその見方、そしてコピーして使えるテンプレートを提供します。
月次レポートの5つの必須項目
1. 基本情報
まず、レポートの前提条件を記録します。同じフォーマットで毎月書くことで、時系列での比較が容易になります。
| 項目 | 記録内容 |
|---|---|
| 対象期間 | 2026年X月1日〜X月末日 |
| 運用Bot名 | 戦略名やバージョン(例: MeanRevert v2.1) |
| 運用通貨ペア | USD/JPY, EUR/JPYなど |
| 運用資金(月初) | 口座残高 + 含み損益 |
| 運用資金(月末) | 口座残高 + 含み損益 |
| 月間損益 | 月末 - 月初 |
| 月利 | 月間損益 / 月初資金 × 100 |
2. 取引統計
Botのパフォーマンスを数値で把握するための統計情報です。
| 指標 | 意味 | 計算方法 | | –––––––––––––– | ––––––––––– | ————————————— | –––– | — | | 取引回数 | 月間の約定回数 | エントリー→イグジットを1回とカウント | | 勝率 | 利益が出た取引の割合 | 勝ちトレード数 / 総トレード数 × 100 | | 平均利益 | 勝ちトレードの平均利益 | 勝ちトレードの合計利益 / 勝ちトレード数 | | 平均損失 | 負けトレードの平均損失 | 負けトレードの合計損失 / 負けトレード数 | | リスクリワード比 | 1回の利益と損失の比率 | 平均利益 / | 平均損失 | | | プロフィットファクター(PF) | 総利益と総損失の比率 | 総利益 / | 総損失 | | | 最大連敗数 | 連続で負けた最大回数 | — |
各指標の目安
- 勝率: 戦略による。スキャルピングなら60%以上、スイングなら40%以上でも成立する
- リスクリワード比: 1.5以上が理想。1.0未満だと勝率が高くないと成立しない
- PF: 1.0以上なら利益が出ている。1.3以上が安定運用の目安。2.0以上は優秀
PFが最も重要な総合指標です。PF = 1.0はトントン、1.0以下は損失。勝率とリスクリワード比は戦略によって異なるので、PFで総合的に評価します。
3. ドローダウン分析
ドローダウン(DD)は、最高値からの下落幅。資金管理の観点で最も注視すべき指標です。
| 指標 | 意味 |
|---|---|
| 最大ドローダウン(金額) | 月内で最も大きかった資金の下落幅 |
| 最大ドローダウン(%) | 最大DD / その時点の最高資金 × 100 |
| DD発生日時 | いつDDが発生したか |
| DD要因 | 経済指標、相場急変、戦略の問題など |
| DD回復期間 | DDから資金が回復するまでの日数 |
ドローダウンの警戒ライン
| DD水準 | 状態 | アクション |
|---|---|---|
| 5%以下 | 正常 | 通常運用を継続 |
| 5〜10% | 注意 | 原因を調査。一時的か構造的か判断 |
| 10〜20% | 警戒 | ロットを半分に減らすか一時停止を検討 |
| 20%以上 | 危険 | Botを停止し、戦略の見直しを実施 |
これらの数値は一般的な目安です。自分のリスク許容度に合わせて、事前に停止ラインを決めておくことが重要。停止ラインは相場を見ながら変えてはいけない。最初に決めたルールを守ることが資金を守ります。
ドローダウン管理の詳しい考え方は FX自動売買のドローダウン管理 で解説しています。
4. 市場環境メモ
その月の相場環境を記録しておくことで、「どんな相場でBotが機能するのか」を後から分析できます。
記録すべき項目:
- 主要通貨ペアのトレンド方向: レンジ相場だったかトレンド相場だったか
- ボラティリティ水準: 平常時と比べて高かったか低かったか
- 重要経済指標・イベント: FOMC、雇用統計、日銀政策決定会合など
- 相場急変の有無: フラッシュクラッシュ、要人発言による急変など
例:
2026年X月の市場環境:
- USD/JPY: 月前半はレンジ(154.0-155.5)、月後半はFOMC後にドル高方向へトレンド
- ボラティリティ: ATR(14)が平常時の1.3倍。FOMC前後に急上昇
- 主要イベント: X/14 FOMC(利下げ見送り)、X/20 日銀政策決定会合(現状維持)
- 相場急変: X/15にFOMCパウエル議長発言で80pips急落後に反発
この情報は将来のバックテストや戦略改善の材料になります。
5. 改善アクションと来月の方針
月次レポートの最も重要な部分。数値を見て終わりではなく、具体的な改善アクションを決めます。
記録フォーマット:
# 今月の気づき
- (数値から読み取れたこと、良かった点、悪かった点)
# 改善アクション
- [ ] (具体的なタスク。測定可能で期限つき)
# 来月の方針
- (ロットの変更、戦略パラメータの調整、新戦略のテストなど)
改善アクションのポイント:
- 具体的であること: 「もっと勝率を上げる」ではなく「損切りラインを30pipsから25pipsに変更してバックテストする」
- 測定可能であること: 効果を数値で検証できるアクションにする
- 1〜2個に絞ること: 一度に多くの変更を加えると、どの変更が効果的だったか分からなくなる
コピーして使える月次レポートテンプレート
以下のテンプレートをMarkdownファイルとして保存し、毎月コピーして使ってください。
# FX自動売買 月次レポート — 2026年X月
## 基本情報
| 項目 | 値 |
| ------------------- | -------------------- |
| 対象期間 | 2026/X/1 - 2026/X/31 |
| Bot名(バージョン) | |
| 運用通貨ペア | |
| 運用資金(月初) | ¥ |
| 運用資金(月末) | ¥ |
| 月間損益 | ¥ |
| 月利 | % |
## 取引統計
| 指標 | 値 | 前月比 |
| ---------------------------- | --- | ------ |
| 取引回数 | 回 | |
| 勝率 | % | |
| 平均利益 | ¥ | |
| 平均損失 | ¥ | |
| リスクリワード比 | | |
| PF(プロフィットファクター) | | |
| 最大連敗数 | 回 | |
## ドローダウン分析
| 指標 | 値 |
| -------------- | --- |
| 最大DD(金額) | ¥ |
| 最大DD(%) | % |
| DD発生日時 | |
| DD要因 | |
| DD回復期間 | 日 |
## 月間損益推移
(日別の累積損益グラフまたはテーブルを挿入)
| 日付 | 取引回数 | 日次損益 | 累積損益 |
| ---- | -------- | -------- | -------- |
| X/1 | | ¥ | ¥ |
| X/2 | | ¥ | ¥ |
| ... | | | |
## 市場環境
- トレンド方向:
- ボラティリティ水準:
- 主要イベント:
- 相場急変:
## 振り返り
### 今月の良かった点
-
### 今月の課題
-
### 気づき
-
## 改善アクション
- [ ] アクション1(期限: X/XX)
- [ ] アクション2(期限: X/XX)
## 来月の方針
- ***
作成日: 2026/X/XX
テンプレートの使い方 — 自動化のヒント
エンジニアなら、レポート作成を部分的に自動化できます。
データ収集の自動化
取引統計のデータは、取引所のAPIから自動取得できます。
# 概念的なコード例
# 実際のAPI仕様は各取引所のドキュメントを参照
def generate_monthly_stats(trades):
"""月間の取引統計を計算する"""
wins = [t for t in trades if t['profit'] > 0]
losses = [t for t in trades if t['profit'] <= 0]
stats = {
'total_trades': len(trades),
'win_rate': len(wins) / len(trades) * 100 if trades else 0,
'avg_win': sum(t['profit'] for t in wins) / len(wins) if wins else 0,
'avg_loss': sum(t['profit'] for t in losses) / len(losses) if losses else 0,
'total_profit': sum(t['profit'] for t in wins),
'total_loss': abs(sum(t['profit'] for t in losses)),
}
stats['risk_reward'] = (
abs(stats['avg_win'] / stats['avg_loss'])
if stats['avg_loss'] != 0 else 0
)
stats['profit_factor'] = (
stats['total_profit'] / stats['total_loss']
if stats['total_loss'] != 0 else float('inf')
)
return stats
ドローダウンの自動計算
def calculate_max_drawdown(equity_curve):
"""エクイティカーブから最大ドローダウンを計算する"""
peak = equity_curve[0]
max_dd = 0
max_dd_pct = 0
for value in equity_curve:
if value > peak:
peak = value
dd = peak - value
dd_pct = dd / peak * 100 if peak > 0 else 0
if dd > max_dd:
max_dd = dd
max_dd_pct = dd_pct
return max_dd, max_dd_pct
Markdownレポートの自動生成
テンプレートに計算結果を埋め込んで、Markdownファイルとして出力する仕組みを作れば、毎月の作業は「市場環境メモ」と「振り返り・改善アクション」を書くだけになります。
数値入力は自動化し、考察と意思決定は人間が行う。これがBot運用の理想的なワークフローです。
月次レポートを「活きた文書」にする3つの工夫
1. 前月比を必ず記録する
数値の絶対値よりも変化が重要です。
- 勝率が先月55%→今月45%に下がった → 何が変わった?
- PFが先月1.5→今月0.8に下がった → 市場環境?戦略の問題?
前月比をテーブルに入れることで、トレンドの変化に気づけます。
2. 四半期でまとめレポートを書く
月次レポートを3ヶ月分まとめて振り返る「四半期レポート」も有効です。月次では見えない中期的なトレンドが見えてきます。
四半期レポートで確認すること:
- 3ヶ月のPFの推移 → 右肩下がりなら戦略の賞味期限を疑う
- 最大DDの推移 → 拡大傾向なら資金管理を見直す
- 取引回数の推移 → 極端に減少していたらエントリー条件が厳しすぎるかも
3. 改善アクションの実施状況をフォローする
先月立てた改善アクションが「やりっぱなし」にならないよう、今月のレポートで進捗を確認します。
## 先月の改善アクション 進捗
- [x] 損切りラインを30pips→25pipsに変更してバックテスト → 結果: 勝率+3%、PF変わらず。採用。
- [ ] 経済指標発表前30分はエントリーを停止するフィルターを追加 → 未着手。来月に持ち越し。
このフォローがないと、改善アクションは書いただけで終わります。PDCAサイクルの「Check」と「Act」を確実に回すための仕組みです。
月次レポートの公開について
月次レポートを自分だけのメモにするのもいいですが、ブログやnoteで公開する方法もあります。
公開するメリット:
- 自分の運用に責任感が生まれる: 公開すると適当なことが書けない
- 同じことをしている人からフィードバックが得られる: 見落としていた視点が見つかる
- コンテンツとして資産になる: Bot運用の実績記録は、読者にとって価値のある情報
公開する場合の注意:
- 具体的な戦略ロジックは非公開に: エントリー/イグジット条件は伏せる
- 口座残高の公開は慎重に: パーセンテージのみの公開がベター
- 捏造は絶対にNG: 成績が悪い月も正直に公開する。都合の良い数字だけ見せるのは読者への裏切り
口座開設がまだの方へ
FX自動売買Botの運用を始めるには、APIが使える取引口座が必要です。
GMOコインは、REST APIとWebSocketに対応しており、口座開設・取引手数料が無料です。FXだけでなく暗号資産の取引もできるため、将来的にBTCの自動売買に挑戦する際にも使えます。
まとめ
月次レポートは面倒に感じるかもしれませんが、Botの改善速度を確実に上げる習慣です。
- 数値で客観的にパフォーマンスを評価する
- ドローダウンの変化で危険信号を早期にキャッチする
- 改善アクションを具体的に決め、翌月にフォローする
エンジニアにとって、Botは「デプロイして終わり」ではなく「運用して改善し続けるプロダクト」。月次レポートはそのための最も基本的なモニタリングツールです。
上のテンプレートをコピーして、今月から始めてみてください。
Botの始め方は FX自動売買の始め方 完全ガイド で解説しています。
パフォーマンス指標の詳細は FX自動売買のパフォーマンス指標 を参照してください。
ドローダウン管理については FX自動売買のドローダウン管理 で解説しています。