schema_version: 1 id: swing-opportunity-daily display_name: Swing Opportunity Daily display_name_ja: スイング取引機会の日次確認 cadence: daily estimated_minutes: 40 target_users: - part-time-swing-trader difficulty: intermediate api_profile: fmp-required when_to_run: >- Only after market-regime-daily has produced a non-restrictive exposure decision. Identifies swing trade candidates and builds entry plans. when_to_run_ja: >- market-regime-daily が非制限的なエクスポージャー判断を出した後にのみ実行する。 スイング取引候補を抽出し、エントリー計画を作成する。 when_not_to_run: >- Do not run when the latest market-regime-daily exposure_decision is cash-priority or restrictive. Do not use as a standalone screener without the regime gate. when_not_to_run_ja: >- 最新の market-regime-daily の exposure_decision が cash-priority または restrictive の場合は実行しない。レジームゲートを通さず、単独のスクリーナーとして使用しない。 required_skills: - vcp-screener - drawdown-circuit-breaker - technical-analyst - position-sizer - trader-memory-core - pre-trade-discipline-gate optional_skills: - stockbee-momentum-burst-screener - stockbee-exhaustion-hammer-screener - canslim-screener - breakout-trade-planner - theme-detector # Informational only — validator does NOT enforce inter-workflow ordering. # See docs/dev/metadata-and-workflow-schema.md § 2.4. prerequisite_workflows: - id: market-regime-daily artifact: exposure_decision rationale: >- New swing trade risk requires a non-restrictive exposure decision. Skip this workflow on cash-priority or restrictive days. rationale_ja: >- 新規スイング取引のリスクを取るには、非制限的なエクスポージャー判断が必要である。 cash-priority または restrictive の日はこのワークフローを見送る。 artifacts: - id: circuit_breaker_decision produced_by_step: 1 required: true - id: vcp_candidates produced_by_step: 2 required: true - id: momentum_burst_candidates produced_by_step: 3 required: false - id: exhaustion_hammer_candidates produced_by_step: 4 required: false - id: canslim_candidates produced_by_step: 5 required: false - id: theme_candidates produced_by_step: 6 required: false - id: validated_setups produced_by_step: 7 required: true - id: position_sizing produced_by_step: 8 required: true - id: trade_plans produced_by_step: 9 required: false downstream_hints: - trade-memory-loop - id: candidate_journal_entry produced_by_step: 10 required: true downstream_hints: - trade-memory-loop - id: pre_trade_discipline_decision produced_by_step: 11 required: true steps: - step: 1 name: Check account circuit breaker name_ja: 口座のサーキットブレーカーを確認する skill: drawdown-circuit-breaker produces: - circuit_breaker_decision decision_gate: true decision_question: >- Is the account circuit breaker clear (TRADING_ALLOWED) for new trade risk today? decision_question_ja: >- 本日の新規取引リスクについて、口座のサーキットブレーカーは TRADING_ALLOWED になっているか。 - step: 2 name: Run VCP screener name_ja: VCPスクリーナーを実行する skill: vcp-screener produces: - vcp_candidates decision_gate: false - step: 3 name: Run Stockbee momentum burst screener name_ja: Stockbeeモメンタムバースト・スクリーナーを実行する skill: stockbee-momentum-burst-screener optional: true produces: - momentum_burst_candidates decision_gate: false - step: 4 name: Run Stockbee exhaustion hammer screener name_ja: Stockbeeエグゾースションハンマー・スクリーナーを実行する skill: stockbee-exhaustion-hammer-screener optional: true produces: - exhaustion_hammer_candidates decision_gate: false - step: 5 name: Run CANSLIM screener name_ja: CANSLIMスクリーナーを実行する skill: canslim-screener optional: true produces: - canslim_candidates decision_gate: false - step: 6 name: Theme detection cross-check name_ja: テーマ検出でクロスチェックする skill: theme-detector optional: true produces: - theme_candidates decision_gate: false - step: 7 name: Validate setups on weekly chart name_ja: 週足チャートでセットアップを検証する skill: technical-analyst consumes: - vcp_candidates - momentum_burst_candidates - exhaustion_hammer_candidates - canslim_candidates - theme_candidates produces: - validated_setups decision_gate: true decision_question: >- Which candidates have a clean weekly setup (Stage 2 uptrend, tight base, or Stockbee-style range expansion from a controlled base) and pass the manual chart review? For exhaustion hammers, confirm the pullback is not thesis-breaking and risk to the day low is acceptable. Reject candidates that don't pass. decision_question_ja: >- 明確な週足セットアップ(Stage 2の上昇トレンド、引き締まったベース、または 制御されたベースからのStockbee式レンジ拡大)があり、チャートの手動レビューを 通過する候補はどれか。エグゾースションハンマーでは、押しが投資仮説を崩すものではなく、 当日安値までのリスクが許容範囲かを確認する。通過しない候補は却下する。 - step: 8 name: Calculate position size name_ja: ポジションサイズを計算する skill: position-sizer consumes: - validated_setups produces: - position_sizing decision_gate: false - step: 9 name: Build entry plan name_ja: エントリー計画を作成する skill: breakout-trade-planner optional: true consumes: - validated_setups - position_sizing produces: - trade_plans decision_gate: false - step: 10 name: Register thesis in journal name_ja: 投資仮説を記録する skill: trader-memory-core consumes: - position_sizing - trade_plans produces: - candidate_journal_entry decision_gate: true decision_question: >- For each candidate that survived validation, register the thesis with entry / stop / target. Confirm risk per trade matches position-sizer output and total portfolio heat is within budget. decision_question_ja: >- 検証を通過した各候補について、エントリー、ストップ、目標を含む投資仮説を登録する。 取引ごとのリスクが position-sizer の出力と一致し、ポートフォリオ全体の リスク量が上限内であることを確認する。 - step: 11 name: Run manual execution discipline gate name_ja: 手動執行規律ゲートを実行する skill: pre-trade-discipline-gate consumes: - candidate_journal_entry - position_sizing - trade_plans - circuit_breaker_decision produces: - pre_trade_discipline_decision decision_gate: true decision_question: >- Before placing any manual broker order, does each actionable candidate pass the written-plan, predefined-stop, position-size, recent-loss, market-regime, and circuit-breaker discipline checks? decision_question_ja: >- ブローカーへ手動注文を出す前に、実行可能な各候補は、文章化された計画、事前設定した ストップ、ポジションサイズ、直近損失、市場レジーム、サーキットブレーカーの 規律チェックを通過しているか。 manual_review: - Confirm market-regime-daily exposure_decision allows new risk before acting. - Confirm circuit_breaker_decision is TRADING_ALLOWED before screening or sizing new candidates. - Reject any candidate where weekly setup is unclear, even if screener passed. - Treat Stockbee momentum burst output as candidate generation only; require chart validation and risk-distance review. - Treat Stockbee exhaustion hammer output as candidate generation only; confirm the pullback is not caused by a thesis-breaking news event and verify risk to the day low. - Verify total portfolio heat is within budget before placing any order. - Confirm pre_trade_discipline_decision is GO before placing any manual broker order. - All orders are placed manually at the broker; no auto-execution. manual_review_ja: - 実行前に market-regime-daily の exposure_decision が新規リスクを許可していることを確認する。 - 新規候補の抽出やサイズ計算前に circuit_breaker_decision が TRADING_ALLOWED であることを確認する。 - スクリーナーを通過していても、週足セットアップが不明確な候補は却下する。 - Stockbeeモメンタムバーストの出力は候補生成だけに使い、チャート検証とリスク距離の確認を必須とする。 - Stockbeeエグゾースションハンマーの出力は候補生成だけに使い、押しが投資仮説を崩すニュースによるものではないことと、当日安値までのリスクを確認する。 - 注文前にポートフォリオ全体のリスク量が上限内であることを確認する。 - ブローカーへ手動注文を出す前に pre_trade_discipline_decision が GO であることを確認する。 - すべての注文はブローカーで手動入力し、自動執行しない。 journal_destination: trader-memory-core