コンテンツにスキップ

週次レビュー

USD/JPY 中心の売買を週単位で数値化し、再現すべき勝ちパターンと停止すべき負けパターンを特定するためのテンプレートです。 週間トレード集計、勝率、PF、期待値、R倍、最大DD、時間帯別成績、経済指標カレンダー照合、翌週テーマを1枚に固定します。 毎週末のレビューで、感想ではなく記録、集計、分類、改善テーマの順で処理してください。

KPI定義

トレード数を NN、損益を PiP_i、初期リスク額を RISKiRISK_i とします。

WinRate=#{i:Pi>0}N\text{WinRate}=\frac{\#\{i:P_i>0\}}{N} PF=imax(Pi,0)imin(Pi,0)\text{PF}=\frac{\sum_i \max(P_i,0)}{\left|\sum_i \min(P_i,0)\right|} Expectancy=1Ni=1NPi=PwinAvgWinPlossAvgLoss\text{Expectancy}=\frac{1}{N}\sum_{i=1}^{N}P_i = P_{win}\cdot AvgWin - P_{loss}\cdot AvgLoss Ri=PiRISKi,R=1Ni=1NRiR_i=\frac{P_i}{RISK_i},\quad \overline{R}=\frac{1}{N}\sum_{i=1}^{N}R_i

口座残高系列を EtE_t、過去最高残高を Ht=maxstEsH_t=\max_{s\le t}E_s とします。

DDt=EtHt,MaxDD=mint(DDt)DD_t=E_t-H_t,\quad MaxDD=\min_t(DD_t)

比率で見る場合は次を使います。

DD%t=EtHtHt,MaxDD%=mint(DD%t)DD\%_t=\frac{E_t-H_t}{H_t},\quad MaxDD\%=\min_t(DD\%_t)

コピー用テンプレート

# 週次振り返り YYYY-WW
**目的**: USD/JPYの今週の売買を数値とパターンで評価し、翌週に残す行動だけを決める。
**要約**: 成績、R倍、最大DD、勝ち/負けパターン、経済指標影響、翌週テーマを記録する。
**使いどころ**: 金曜NYクローズ後または土曜午前JSTに実施する。
## 対象期間
- 期間: YYYY-MM-DD HH:mm JST 〜 YYYY-MM-DD HH:mm JST
- 対象: USD/JPY中心
- 口座開始残高:
- 口座終了残高:
- 除外した取引:
- 今週の主な相場テーマ:
- 日足方向:
- 4H方向:
- 米10年金利:
- 日米金利差:
- 介入警戒・要人発言:
## 週間KPI
| 指標 | 値 | 判定 |
|---|---:|---|
| トレード数 | | 多すぎる/適正/少ない |
| 勝率 | | |
| PF | | 1.3未満は改善対象 |
| 期待値/回 | | 手数料・スプレッド込み |
| 平均R | | 0未満は停止対象 |
| 最大DD | | 許容内/超過 |
| 最大連敗 | | |
| 最大連勝 | | |
| USD/JPYのみ損益 | | |
## 時間帯別
| 時間帯 JST | トレード数 | 勝率 | 平均R | 損益 | コメント |
|---|---:|---:|---:|---:|---|
| 東京 08:00-15:00 | | | | | 仲値・実需・レンジを確認 |
| ロンドン 16:00-20:59 | | | | | ブレイクの真偽を確認 |
| NY前半 21:00-01:00 | | | | | 米指標・米金利反応を確認 |
| NY後半 01:00-06:00 | | | | | FOMC等の深夜イベントを確認 |
## トレード一覧
| No | 日時 JST | 通貨 | 売買 | セットアップ | 根拠 | 損切りpips | 初期RISK | 損益 | R倍 | 指標前後 | メモ |
|---:|---|---|---|---|---|---:|---:|---:|---:|---|---|
| 1 | | USD/JPY | | | | | | | | | |
## 勝ちパターン
- 最も利益が出たセットアップ:
- 共通条件:
- 時間帯:
- 上位足:
- エントリー直前の価格構造:
- 損切り位置:
- 利確判断:
- 翌週も継続する条件:
## 負けパターン
- 最も損失が出たセットアップ:
- 共通条件:
- 時間帯:
- 指標・要人発言との重なり:
- ルール違反:
- 損切り遅れ:
- 翌週停止する条件:
## 経済指標カレンダー照合
| 日時 JST | 指標/会合 | 公式ソース | 重要度 | 事前方針 | 実際の行動 | 1時間後のUSD/JPY反応 | 評価 |
|---|---|---|---|---|---|---|---|
| | 米CPI / 雇用統計 / FOMC / PCE / GDP / 日銀 / 日本CPI / 短観 | | 高/中/低 | 取引停止/縮小/通常 | | | |
米国指標は原則として発表元のET時刻をJSTへ変換する。米夏時間は `ET + 13時間`、米標準時間は `ET + 14時間`。BLSはカレンダー時刻をEastern Timeで掲載するため、JST欄を手入力で確認する。
## 翌週テーマ
- メイン仮説:
- 買いで攻める条件:
- 売りで攻める条件:
- 触らない条件:
- 注目価格:
- 注目時間帯 JST:
- 注目イベント:
- 今週から継続する勝ちパターン:
- 今週で停止する負けパターン:
- 1トレード最大リスク:
- 週間最大損失で停止する基準:

pandas集計スケッチ

import numpy as np
import pandas as pd
trades = pd.read_csv("trades.csv", parse_dates=["opened_at", "closed_at"])
trades["closed_at"] = trades["closed_at"].dt.tz_convert("Asia/Tokyo")
trades["win"] = trades["pnl_jpy"] > 0
trades["r_multiple"] = trades["pnl_jpy"] / trades["initial_risk_jpy"]
def profit_factor(s: pd.Series) -> float:
gross_profit = s[s > 0].sum()
gross_loss = -s[s < 0].sum()
return np.inf if gross_loss == 0 else gross_profit / gross_loss
def max_drawdown(equity: pd.Series) -> float:
high = equity.cummax()
return (equity - high).min()
weekly = {
"n": len(trades),
"win_rate": trades["win"].mean(),
"pf": profit_factor(trades["pnl_jpy"]),
"expectancy_jpy": trades["pnl_jpy"].mean(),
"avg_r": trades["r_multiple"].mean(),
"max_dd_jpy": max_drawdown(trades["equity_after"]),
}
def session_jst(ts):
h = ts.hour
if 8 <= h < 15:
return "Tokyo"
if 16 <= h < 21:
return "London"
if 21 <= h or h < 1:
return "NY early"
return "NY late/other"
trades["session"] = trades["closed_at"].map(session_jst)
def block(g):
return pd.Series({
"n": len(g),
"win_rate": g["win"].mean(),
"pf": profit_factor(g["pnl_jpy"]),
"expectancy_jpy": g["pnl_jpy"].mean(),
"avg_r": g["r_multiple"].mean(),
"sum_pnl": g["pnl_jpy"].sum(),
})
by_setup = trades.groupby(["setup", "session"]).apply(block).reset_index()
events = pd.read_csv("events.csv", parse_dates=["event_time_jst"])
events["event_time_jst"] = events["event_time_jst"].dt.tz_localize("Asia/Tokyo")
trades_sorted = trades.sort_values("closed_at")
events_sorted = events.sort_values("event_time_jst")
matched = pd.merge_asof(
trades_sorted,
events_sorted,
left_on="closed_at",
right_on="event_time_jst",
direction="nearest",
tolerance=pd.Timedelta("2h"),
)

落とし穴

  • 勝率だけで判断しない。勝率60%でも平均負けが大きければ期待値は負になる。
  • PFは負けが少ない週に過大化する。週次だけでなく直近20〜50トレードでも確認する。
  • R倍は初期リスクで割る。途中で損切りをずらした後のリスクで割ると成績を美化する。
  • 最大DDは確定損益ベースだと過小評価される。可能なら含み損ベースのMAEも記録する。
  • 指標時刻はJSTへ変換する。特に米夏時間と米標準時間の切り替わりで1時間ずれる。
  • USD/JPYは米金利、日銀、財務省発言、介入警戒で通常のテクニカルが無効化される局面がある。
  • 勝ちパターン抽出は最低でも同型5件以上で判断する。1回の大勝ちはパターンではない。

参考

FOMC、BLS、BEA、日銀、総務省統計局の公式カレンダーを優先します。 経済指標アグリゲーターは便利ですが、最終確認元にはしません。 pandas集計は groupbyagg を基本にし、週次、時間帯、セットアップ、イベント前後の4軸で見ます。