波浪理論機率式波數判斷系統規劃¶
摘要¶
這份規劃設計一套系統化的波浪理論判斷程式,用於台指期 / 小台等 OHLCV 商品資料,輸出目前可能位於第幾浪、各波浪路線的相對信心、關鍵多空點位、失效點與目標區。
核心原則不是硬判斷唯一波數,而是承認波浪理論具高度主觀性,採用多情境排名:
v0 的「機率」應稱為相對信心,等累積人工標註與歷史回測後,再校準為統計機率。
系統定位¶
第一階段是「波數分類 / 情境判斷器」,不是自動交易系統。它把主觀數浪流程拆成可驗證模組:
- OHLCV 資料清理。
- Swing pivot 偵測。
- 產生多組可能波浪候選。
- 用規則、Fibonacci、通道、動能與多週期一致性評分。
- 輸出主路線、替代路線、失效點、突破點、跌破點與目標區。
架構¶
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 至少需包含:
所有 pivot 與 wave scenario 都必須記錄 confirmed_at,避免回測時偷看未來。
Pivot 偵測¶
v0 建議同時支援三種 pivot:
- 百分比 ZigZag:價格反向超過固定百分比才確認轉折。
- ATR ZigZag:價格反向超過
N × ATR才確認轉折。 - Fractal Pivot:用左右窗口找局部高低點,但必須記錄確認延遲。
Fractal pivot 的核心欄位:
回測只能在 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 = A或C = 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 轉成相對信心:
關鍵多空點位¶
每條 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 可作為實戰規則來源,但不能直接憑印象寫進程式。建議流程:
- 收集 YouTube 影片連結、逐字稿或重點時間戳。
- 收集 Threads/IG 公開貼文連結、截圖與文字說明。
- 將每個主張整理成 rulebook entry。
- 若規則能表達成 condition / effect,才進入程式。
- 用人工標註案例驗證是否有預測力。
收紅 / 收黑與 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 應優先採用收盤確認:
若只是盤中觸及,標記為:
這對台指期尤其重要,因為短線影線與假突破很多。
實作模組¶
建議在 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.mddocs/research/wave-theory-rulebook.mddocs/research/wave-theory-source-ingestion.mddocs/research/wave-theory-candlestick-confirmation.md