跳轉到

波浪理論機率式波數判斷系統規劃

摘要

這份規劃設計一套系統化的波浪理論判斷程式,用於台指期 / 小台等 OHLCV 商品資料,輸出目前可能位於第幾浪、各波浪路線的相對信心、關鍵多空點位、失效點與目標區。

核心原則不是硬判斷唯一波數,而是承認波浪理論具高度主觀性,採用多情境排名:

路線 A:多頭第 3 浪延伸中,相對信心 42%
路線 B:多頭第 5 浪末端,相對信心 28%
路線 C:ABC 反彈 C 浪,相對信心 18%

v0 的「機率」應稱為相對信心,等累積人工標註與歷史回測後,再校準為統計機率。

系統定位

第一階段是「波數分類 / 情境判斷器」,不是自動交易系統。它把主觀數浪流程拆成可驗證模組:

  1. OHLCV 資料清理。
  2. Swing pivot 偵測。
  3. 產生多組可能波浪候選。
  4. 用規則、Fibonacci、通道、動能與多週期一致性評分。
  5. 輸出主路線、替代路線、失效點、突破點、跌破點與目標區。

架構

OHLCV 資料
Pivot 偵測:ZigZag / ATR ZigZag / Fractal
候選波形產生:Impulse / ABC / in-progress wave
規則評分:hard rules + soft heuristics
Fibonacci / Channel / Momentum / Multi-timeframe scoring
Softmax 轉為相對信心
JSON / Markdown / PNG 報告

資料與時間週期

初版建議以台指期為主:

  • 商品:TXF / MTX。
  • 初始週期:60m + 15m。
  • 日線:作為高週期方向輔助。

每筆 OHLCV 至少需包含:

timestamp
open
high
low
close
volume optional
symbol optional
timeframe optional

所有 pivot 與 wave scenario 都必須記錄 confirmed_at,避免回測時偷看未來。

Pivot 偵測

v0 建議同時支援三種 pivot:

  • 百分比 ZigZag:價格反向超過固定百分比才確認轉折。
  • ATR ZigZag:價格反向超過 N × ATR 才確認轉折。
  • Fractal Pivot:用左右窗口找局部高低點,但必須記錄確認延遲。

Fractal pivot 的核心欄位:

pivot_time = 真正高低點所在 K 棒
confirmed_at = 右側窗口完成的 K 棒時間

回測只能在 confirmed_at 之後使用該 pivot。

波浪候選類型

v0 支援:

  • 多頭五浪推進。
  • 空頭五浪推進。
  • 多頭 / 空頭 ABC 修正。
  • 進行中的第 3 浪、第 4 浪、第 5 浪與 C 浪。

暫緩:

  • 三角形。
  • double three / triple three。
  • expanded / running flat 詳細分類。
  • 完整遞迴級別標註。

核心波浪規則

五浪推進

主要硬規則:

  • 第 2 浪不能完全跌破 / 漲破第 1 浪起點。
  • 第 3 浪不能是 1、3、5 中最短。
  • 第 4 浪通常不能重疊第 1 浪價位區;期貨可給少量容忍區。
  • 多頭第 3 浪應突破第 1 浪高點;空頭反之。

ABC 修正

主要規則:

  • A 與 C 為同方向修正腿。
  • B 為反彈或回測,不應在 simple zigzag 假設下完全失效。
  • C 浪常見目標為 C = AC = 1.618A

評分模型

每個 scenario 計算 raw score:

raw_score =
  2.00 * rule_score
+ 1.00 * fibonacci_score
+ 0.75 * channel_score
+ 0.75 * momentum_score
+ 0.50 * multi_timeframe_score
+ 0.50 * risk_reward_score
- 1.00 * invalidation_risk_penalty

再使用 softmax 轉成相對信心:

relative_confidence = softmax(raw_score among scenarios)

關鍵多空點位

每條 scenario 都要輸出:

  • invalidation:此路線失效價。
  • bullish_trigger:多方確認或加分價。
  • bearish_trigger:空方確認或警戒價。
  • targets:Fibonacci 或通道目標。
  • support_zone / resistance_zone

多頭第 3 浪

  • 失效:第 2 浪低點。
  • 多方觸發:第 1 浪高點或最近 pivot high。
  • 空方警戒:最近 minor pivot low 或 channel 支撐。
  • 目標:第 1 浪自第 2 浪投射的 1.618、2.0、2.618。

多頭第 5 浪

  • 失效:第 4 浪低點。
  • 多方觸發:第 3 浪高點。
  • 空方警戒:第 4 浪低點或 2-4 通道跌破。
  • 目標:第 1 浪等長、wave1~3 的 0.618、通道上緣。

ABC 完成

  • 失效:C 浪極值。
  • 觸發:突破 / 跌破 B 浪。
  • 目標:回測 B、前一級別第 4 浪區、或新推進浪目標。

台灣大叔 / fanny 來源整合

台灣大叔 YouTube 與 fanny Threads/IG 可作為實戰規則來源,但不能直接憑印象寫進程式。建議流程:

  1. 收集 YouTube 影片連結、逐字稿或重點時間戳。
  2. 收集 Threads/IG 公開貼文連結、截圖與文字說明。
  3. 將每個主張整理成 rulebook entry。
  4. 若規則能表達成 condition / effect,才進入程式。
  5. 用人工標註案例驗證是否有預測力。

收紅 / 收黑與 K 線確認

收紅收黑應納入 v0,但定位為「確認因子」而不是硬性波數定義。它用來判斷突破是否有效、修正是否結束、第五浪是否末端,以及 C 浪是否仍在延伸。

基本特徵:

is_red = close > open
is_black = close < open
body_ratio = abs(close - open) / max(high - low, epsilon)
close_location = (close - low) / max(high - low, epsilon)
strong_red = is_red and body_ratio >= 0.60 and close_location >= 0.70
strong_black = is_black and body_ratio >= 0.60 and close_location <= 0.30
long_upper_shadow = upper_shadow_ratio >= 0.50
long_lower_shadow = lower_shadow_ratio >= 0.50

建議新增 candle_score

raw_score =
  2.00 * rule_score
+ 1.00 * fibonacci_score
+ 0.75 * channel_score
+ 0.75 * momentum_score
+ 0.50 * candle_score
+ 0.50 * multi_timeframe_score
+ 0.50 * risk_reward_score
- 1.00 * invalidation_risk_penalty

應用方式:

  • 第 3 浪啟動:突破第 1 浪高點後收紅,尤其強紅 K,提升第 3 浪信心。
  • 第 4 浪結束:回撤到合理區域後出現長下影、強紅或黑黑紅,提升第 5 浪啟動信心。
  • 第 5 浪末端:創高但收黑、長上影、實體縮小或動能背離,提升末端風險信心。
  • ABC 完成:C 浪到達目標區後收紅、長下影或紅 K 吞噬,提升修正完成信心。
  • C 浪延伸:到目標區後仍連續強黑,降低 ABC 完成信心。

多空 trigger 應優先採用收盤確認:

bullish_trigger_confirmed = close > trigger_level
bearish_trigger_confirmed = close < trigger_level

若只是盤中觸及,標記為:

touched_not_confirmed

這對台指期尤其重要,因為短線影線與假突破很多。

實作模組

建議在 strategy 專案根目錄中建立:

scripts/wave/
  data.py
  pivots.py
  fibonacci.py
  wave_models.py
  wave_candidates.py
  wave_rules.py
  wave_scoring.py
  wave_report.py
  plot_wave_scenarios.py
  run_wave_counter.py

tests/wave/
  test_fibonacci.py
  test_pivots.py
  test_wave_models.py
  test_wave_rules.py
  test_wave_scoring.py

第一版驗收標準

v0 可接受條件:

  • Fibonacci、pivot、wave rules、scoring、report 測試通過。
  • 給定台指期 OHLCV 樣本,可輸出 JSON / Markdown / PNG。
  • 有足夠 pivot 時,至少排名前三條 scenario。
  • 每條 scenario 有失效點與多空觸發點。
  • 報告明確說明機率是相對信心。
  • no-lookahead pivot confirmation 有測試與文件。

後續校準

分類器完成後,再做歷史評估:

  • 當主路線為第 3 浪,後續 5/10/20 根 forward return 是否優於基準?
  • 當主路線為第 5 浪末端,轉折機率是否提高?
  • 當主路線為 ABC 完成,突破 B 後延續機率是否提高?
  • 預測信心 60% 的 scenario,實際命中率是否接近 60%?

相關專案文件

  • docs/plans/wave-theory-probabilistic-counter-plan.md
  • docs/research/wave-theory-rulebook.md
  • docs/research/wave-theory-source-ingestion.md
  • docs/research/wave-theory-candlestick-confirmation.md