UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
データ・研究 · SKILL.md

trade-journaling-and-review

trade-journaling-and-review

Use when logging, reviewing, or analyzing your own executed trades — a canonical append-only trade/execution ledger schema for live fills (also consumed by equity-trading-compliance for tax views), realized expectancy and R-multiple distributions on actual fills with explicit sign and cost conventions, win-rate and hold-time breakdowns by setup, a setup/mis…

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: trade-journaling-and-review description: Use when logging, reviewing, or analyzing your own executed trades — a canonical append-only trade/execution ledger schema for live fills (also consumed by equity-trading-compliance for tax views), realized expectancy and R-multiple distributions on actual fills with explicit sign and cost conventions, win-rate and hold-time breakdowns by setup, a setup/mistake/rule-violation/tilt tagging taxonomy, and the day-2 review-and-improvement loop with precommitted thresholds. Trigger on - trading journal, trade log, review my trades, expectancy, R-multiple, win rate by setup, tilt log, rule violation, post-market review. Historical strategy validation on simulated fills lives in trading-strategy-backtester; market-crowd psychology signals live in trader-psychology-analysis; live risk controls and tilt circuit-breakers live in trading-risk-management.

Trade Journaling and Review

1. Overview + routing

This skill records and reviews your own executed fills — a different artifact from backtest output. trading-strategy-backtester computes stats on SIMULATED fills from historical data (and defers live logic); trader-psychology-analysis models the market CROWD, never your own trades. Neither owns the live-fill journal.

Routing: historical strategy validation on simulated fills → trading-strategy-backtester; market-crowd psychology → trader-psychology-analysis; live risk controls + tilt circuit-breakers → trading-risk-management (this skill's tilt tags FEED that review); tax views over the ledger → equity-trading-compliance.

2. Canonical trade ledger schema (single owner — shared with compliance)

This skill OWNS the canonical trade/execution ledger. equity-trading-compliance CONSUMES this schema for wash-sale / 1099-B views. One ledger, two view owners — this skill owns behavioral + performance views; compliance owns tax views.

Append-only and correction-aware: broker corrections and busts are recorded as NEW events, never in-place edits. History is immutable.

execution_record:          # immutable, one per fill
  execution_id: str        # broker-authoritative, immutable
  event_type: str          # "fill" | "correction" | "bust"
  supersedes: str | null   # execution_id this correction/bust adjusts
  ts: datetime
  symbol: str
  side: str                # buy | sell | sell_short | buy_to_cover
  quantity: int
  price: float
  fees: float
  venue: str

trade_record:              # aggregation over executions
  trade_id: str
  symbol: str
  intended_entry: float
  actual_entry: float      # slippage = actual - intended (signed by side)
  intended_exit: float
  actual_exit: float
  lot_links: list          # lot linkage for tax views (consumed by compliance)
  account_scope: str
  external_accounts_unknown: bool   # explicit when single-account
  setup_tag: str
  market_context: {gap_pct, rvol}   # from the scanning watchlist artifact

3. Realized expectancy + R-multiples (conventions explicit)

def expectancy(win_rate: float, avg_win: float, avg_loss_magnitude: float):
    """Realized expectancy, net of fees.

    avg_loss_magnitude is a POSITIVE number (magnitude), not a negative return.
    """
    loss_rate = 1.0 - win_rate
    return win_rate * avg_win - loss_rate * avg_loss_magnitude


def r_multiple(realized_pnl: float, initial_risk: float):
    """R = realized P&L / initial risk (entry-to-stop at FIRST entry).

    For scale-ins/scale-outs, R is measured against the initial risk, not a
    re-based risk per add.
    """
    if initial_risk <= 0:
        raise ValueError("initial risk must be positive")
    return realized_pnl / initial_risk
  • Expectancy is net of fees/costs; avg loss is a POSITIVE magnitude (the most common sign-error that inflates expectancy).
  • The R denominator is the initial risk at entry; define it once and keep it stable across scale-ins/outs.
  • Minimum-sample honesty: frame small samples with a confidence statement, not a bare n<30 cutoff.

4. Breakdowns

Break realized results down by setup, time-of-day, hold-time, day-of-week, and inspect drawdown sequences on realized equity (not simulated).

5. Tagging taxonomy

Four tag families: setup / mistake / rule-violation / tilt. Tilt tags feed trading-risk-management's circuit-breaker review (a repeated tilt tag is a signal to tighten the live kill switch, not just a journal note).

6. Day-2 review loop

  • Yesterday's rule-violations become today's pre-market checklist.
  • Aggregate weekly.
  • PRECOMMITTED kill/review thresholds for a setup are registered BEFORE the review period, so variance cannot be rationalized away ad hoc after the fact.

7. Privacy note (binding)

Journals contain account balances, P&L, and personal data. Store restricted / encrypted; mask account IDs; keep no verbatim credential or account-number content; redact before sharing.

Anti-Patterns

Anti-PatternWhy It FailsCorrect Approach
Journaling only winnersSurvivorship bias hides the losing edgeLog every executed trade, win or lose
Retro-tagging biasTagging after you know the outcome rewrites the decisionTag setup/mistake at or near execution time
Editing history in placeDestroys the audit trail; corrections vanishAppend-only; record corrections/busts as new events that supersede
Sign-convention expectancy inflationTreating avg loss as negative double-counts and inflates expectancyavg loss is a positive magnitude; net of fees
Expectancy on tiny samples without confidenceA 5-trade "edge" is noiseFrame small samples with confidence, not a bare cutoff
Post-hoc kill criteriaThresholds set after the fact rationalize bad variancePre-commit setup kill/review thresholds before the review period
Conflating backtest stats with realized statsSimulated fills are not your fills; slippage/queue differKeep the live-fill journal separate from backtester output
保存したスキル