WEEKLY REPORT · 2026-W21 (2026-05-18 — 05-24 JST)

動かない相場で、
基盤を固めた週。

今週は +1.0 pips / 2勝1敗 / PF 1.16。 累計は +164.4 pips / 勝率 67.86% を維持した。

3件の決済はすべて BUY、すべて最大保有期間(6時間)超過で終了した。 相場は週を通じて +48 pips の緩やかな上昇。レンジは 76 pips と狭く、 モデルが利益を伸ばす余地がほとんど生まれなかった週だ。
一方で開発面では S3 モデルキー標準化(BUY/SELL パス分離)管理画面キャッシュ問題の修正、さらに 夜間自動トレーニングの基盤整備 が完了し、 将来の SELL モデル本格稼働へ向けたアーキテクチャが一段と整った。

01 · WEEKLY PERFORMANCE

今週のトレード実績

集計期間: 2026-05-18 (Mon) — 05-24 (Sun) JST。 決済済み (exit_time 確定) のトレードのみを対象。

CLOSED TRADES 3 うち勝ち 2 / 負け 1
WIN RATE 66.7% 2勝1敗
PIPS +1.0 平均 +0.33 pips/trade
PNL JPY +28 PF 1.16
CUMULATIVE SINCE 2026-04-08:
CLOSED56
WIN RATE67.86%
PIPS+164.4
PNL-408円
PF1.37
OPEN65
ENTRY (UTC) EXIT (UTC) SIDE PNL pips CLOSE REASON
2026-05-21 21:022026-05-22 03:02 BUY +2.2最大保有期間超過
2026-05-22 05:022026-05-22 11:02 BUY +5.0最大保有期間超過
2026-05-22 11:032026-05-22 17:30 BUY -6.2最大保有期間超過

全件 BUY、全件最大保有期間超過(6時間 = fp=6)。TP/SL どちらにも届かないまま時間切れになるパターンが続く。 金曜夜〜土曜早朝にかけて集中した 3 件は、それぞれ +2.2 / +5.0 / -6.2 pips と小幅に終始した。 週を通じてシグナル判定 203 回のうちエントリーは 3 件のみ(エントリー率 1.5%)。 メタ確率の中央値は 0.478 と閾値 0.55 を恒常的に下回っており、シグナル質の低さが続いている。

02 · SYSTEM CHANGES

今週のシステム変更履歴

2026-05-18 〜 05-24 にコミットされた変更のうち、運用・観測性・公開に関わる主要トピック。 今週は 42 件のコミットと、infrastructure 整備が中心の週だった。

BOT

毎時見送り通知に SELL 評価確率を追加

  • Slack の毎時見送り通知に SELL モデルの評価確率を追加 (#61)。これまで BUY のメタ確率しか見えなかった見送り理由の通知に、SELL 側の評価スコアも併記されるようになった。BUY/SELL 両モデルの動きを一画面で把握できる。
  • docs/operations.md に見送り通知フォーマットの更新内容を反映。
OPS

S3 モデルキー標準化 — BUY/SELL パス分離完了

  • S3 上のモデルキーを production/buy/best_model.pkl / production/sell/best_model.pkl に統一 (Issue #65)。これまで BUY/SELL の区別が不明確だった S3 パス体系を role ベースに刷新。
  • model_manager.py--role buy/sell 引数を追加し、適切なパスへ自動ルーティング。BUY と SELL を独立して S3 に push/pull できるようになった (Issue #64)。
  • 管理画面のモデル情報キャッシュ問題を修正: cmd_restoreinfo.json 生成を追加し、Cache-Control ヘッダーを設定。モデル更新直後に管理画面が古い情報を表示し続ける事象を解消。
  • /fx-deploy SKILL.md のモデルパス記述を production/{role}/ に更新して公式化。
OPS

夜間自動トレーニング基盤の整備

  • 夜間自動トレーニングスキル(/fx-nightly-train)を追加。Mac ローカルでの定期学習を launchd から呼び出すための設定ドキュメントと実行スクリプト一式を整備。
  • ワークフロー設定ファイル・エージェント定義・Claude Code hooks を git 管理対象に追加。チームワークフローの設定がリポジトリと一緒にバージョン管理される。
  • バージョン v0.1.2 へのバンプ完了。uv.lock も同期済み。
  • scripts/ 配下を ruff format で一括整形 (Issue #66)。CI の pre-commit hook との整合性を確保。
03 · META-LABELING ANALYSIS (CUMULATIVE)

メタラベリング検証 — 累積データ

集計期間: 2026-04-08 〜 05-24 (47 日間 / 全 592 シグナル)。 今週分のサンプルだけでは小さすぎるため、運用開始後の累積データで判定する。 シグナル蓄積に伴って毎週この章は更新される。

TOTAL SIGNALS 592 累積シグナル候補
ENTERED 78 実約定 (13.2%)
REJECTED BY META 357 メタラベリングが見送り (60.3%)
REJECTED OTHER 157 建玉上限 (22.8%) + カットオフ (3.7%)
VERDICT — DATA SAYS

メタが弾いたトレードの方が、
相変わらず強い

実約定 56 closed は +164.4 pips / 勝率 67.86% で推移している。 pips ベースの成績は良好だが、PNL JPY が -408 円というマイナスは、 ロット配分と 6時間強制終了によって「勝ちを伸ばせない」ことを示す。
一方で REJECTED_META の shadow 追跡 (39 件確定) は net +174.8 pips / 25 勝 14 敗。 見送られたトレードが勝率 64.1% / 平均 +4.48 pips/trade と、 実約定(+2.94 pips/trade)を上回り続けている。 592 シグナルを積み上げた時点でも、「メタが機会を正しく絞れている」とは言えない状態が続く。

下方リスク(損失抑制) OK 累計 +164.4 pips。建玉上限+カットオフ除外分の shadow は損失寄りで除外正当
上方の取り切り(機会獲得) 不足 REJECTED_META が net +174.8 pips を機会損失として積み上げている
SIGNAL ALLOCATION (592 SIGNALS)
ENTERED7813.2%
REJECTED_META35760.3%
POSITION_FULL13522.8%
CUTOFF223.7%
PIPS OUTCOME — ENTRY 78 (実約定 56 closed)
38 勝 / 18 負 net +164.4 pips
+606.1p
-441.7p
PF 1.37 · 勝率 67.86% · 平均 +2.94p/trade
PIPS OUTCOME — REJECTED 514 (shadow ベース 46件確定)
27 勝 / 19 負 (would-have) net +81.9 pips
+365.3p
-283.4p
うち REJECTED_META 39 件単独では net +174.8p (機会損失上限値)

注: ENTRY の数値は実約定 56 closed トレードの累積。REJECTED の数値は shadow 追跡(確定分のみ)。 建玉上限を無視した上限値であり、実際にはメタが通しても全件 ENTRY できないシグナルがある。

CALIBRATION

確信度は、勝率を予測しているか?

モデルが算出する確信度(meta_prob)と、実際の shadow 勝率の関係。 592 シグナルの時点でも、閾値付近の逆転傾向が継続している。

確信度ビン 件数 shadow 勝率 平均 pips 判定
0.30 – 0.4015 66.7% +2.78 想定外: 低確信度なのに勝つ
0.40 – 0.50254 35.7% -2.01 想定通り: 弱い → 弱い。最大ボリューム帯
0.50 – 0.55148 75.0% +7.48 閾値直下だが良い動き
0.55 – 0.60113 100.0% +16.21 ベスト帯。なのに見送られている
0.60 – 0.65 ⚠40 42.9% -7.54 閾値超え。なのに負ける
0.65 – 0.70 ⚠13 0.0% -31.50 高確信度なのに全敗 (4 週連続)
0.70 – 1.009 shadow データなし
VERDICT — CALIBRATION COLLAPSE (4 週連続)

0.55–0.60 が最強、0.65–0.70 が最弱 ——
592 シグナルでも逆転は消えない

閾値 0.60 付近の逆転傾向は W17(107 件)→ W19(282 件)→ W21(592 件)と一貫して再現している。 0.55–0.60 の shadow 勝率 100% / avg +16.21 pips が最良帯のまま、 0.65–0.70 は 0% 勝率 / avg -31.50 pips で全敗を継続。 サンプルが 2 倍以上に増えても傾向が維持されており、 これはモデルの確信度と実市場の動きが系統的にずれていることをほぼ確定的に示す。
根本解決には現行 BUY モデル(trimix_fx_buy_p5_fp6_USD_JPY_20260515)の再学習、 または meta_threshold の動的調整が必要だ。

MISSED OPPORTUNITIES

「見送られた」勝ちトレード(抜粋)

REJECTED_META のうち 0.50–0.55 帯は 4 件 shadow 確定で勝率 75%(avg +7.48 pips)。 0.55–0.60 帯は 7 件全勝(avg +16.21 pips)。機会損失が最も積み上がっているゾーン。

0.55–0.60 帯 7 件0.55-0.60BUY100% 勝率
avg pips (shadow)shadowBUY+16.21 avg
0.50–0.55 帯 4 件0.50-0.55BUY75% 勝率
avg pips (shadow)shadowBUY+7.48 avg

0.55–0.60 帯は閾値 0.55 の BUY モデルならエントリー候補だが、 建玉上限や他条件でフィルタされるケースがある。 閾値を下げるよりも、この帯への感度を高めるよう meta モデルを再学習する方が根本的な改善につながる。
次週以降: 現行モデルのシグナル質と calibration 逆転傾向を引き続き週次で追跡する。

04 · NEXT WEEK

翌週 (W22) の運用方針

累計 +164.4 pips を維持しつつ、S3 パス分離とキャッシュ修正でインフラが一段整った。 次の焦点はモデル再学習と SELL モデルの実戦投入に向けた検証だ。

ACTION 01

calibration 逆転の根本対処

4 週連続で再現する 0.65–0.70 帯の全敗(avg -31.5 pips)を放置できない。実運用 47 日分のデータを加えた BUY meta モデルの再学習、または閾値の動的調整を検討する。

ACTION 02

夜間自動トレーニングの稼働確認

今週整備した夜間トレーニング基盤(launchd + /fx-nightly-train)が正常稼働しているか確認する。モデルスコアの推移を管理画面で追跡し、改善傾向があれば本番デプロイを検討。

ACTION 03

SELL モデル本番投入準備

S3 パス(production/sell/)が整備された。SELL モデルの学習スコアと calibration を確認し、BUY に並べて本番稼働できる水準か評価する。まずは shadow モードでの並走から。

ACTION 04

継続観測・週次公開

本ページは毎週更新する。次回 W22 (5/25 — 5/31) のレポートで calibration 逆転の改善状況と SELL モデルの進捗を追跡する。

注意: 今週のトレード集計は SQLite 本番 DB から取得した、 JST 2026-05-18 〜 05-24 範囲・exit_time 確定済みのみのデータに基づく。 まだ未決済 (open) 65 件は集計対象外。
メタラベリング検証は累積データ (2026-04-08 〜 05-24 / 全 592 シグナル / shadow outcome 確定 46 件) を使用。 「機会損失 +174.8 pips」等は建玉上限を無視した shadow ベースの理論値であり、実際に増えたであろう pips はこれより少ない。
サンプル数が小さく統計的に有意とは言い切れないため、傾向の指摘に留めている。 本ページは、判断をデータで裏付けるための参考材料であり、結論ではない。

ARCHIVE

過去のレポート

週次レポートのバックナンバー一覧。