碩士論文 · 電資工程研究所 · PPTS × GAPPTS

遺傳演算法於利潤價格分布為基礎的
交易策略最佳化技術之研究

依論文方法重建的互動展示頁,核心流程是先用 PPTS 將歷史價格切成等距區間,計算各區間的平均利潤與達標機率,再用 GAPPTS 在 48 檔元大台灣 50 股票樣本上搜尋最佳參數組合。

48 檔股票樣本 2019–2023 訓練 2024 測試 PPTS GAPPTS 價格區間利潤分析
正報酬覆蓋率
股票樣本數
訓練期間
測試期間

PPTS × GAPPTS 研究流程

論文把歷史價格資料拆成價格區間統計問題,再用遺傳演算法搜尋最佳區間數、持有天數、目標利潤與進場門檻,避免固定參數策略在不同個股與產業上失靈。

🗃
資料整理
48 檔個股 · 2019–2024
📏
PPTS 區間切分
將價格切成 m 個等距區間
📈
利潤機率分析
平均利潤 + 達標機率
🎯
輪盤選擇
保留高適應度參數組
🔀
交叉 / 突變
CR 0.8 · MR 0.1
最佳策略
輸出逐檔最佳參數
染色體結構(29 bit)
適應度與評估指標
研究資料設計
母體:元大台灣 50 成分股中的 48 檔股票
訓練集:2019–2023 歷史資料
測試集:2024 外樣本回測
系統:Python、SQL Server、Gradio 介面
目標:比較 GAPPTS、固定參數 PPTS 與 Buy & Hold

PPTS 價格區間利潤邏輯

PPTS 先依買入價把歷史交易切進不同價格區間,統計每個區間的平均利潤與達標機率,再用 α 門檻判斷該區間屬於買入訊號還是保守區間。

所選個股的價格區間平均利潤 / 達標機率
每個柱狀代表該價格區間的平均利潤,折線代表達成目標利潤的機率。綠色區間表示通過 α 門檻的買入候選。
48 檔樣本績效分級
論文把樣本分成「有效果」「一般」「無效果」三類。互動頁保留同一個分級框架,方便直接對照研究結果。
所選個股最佳化參數
所選個股測試績效
論文整體觀察

選股與 GA 參數重跑

你可以切換不同 ETF50 個股,重新執行 GAPPTS,觀察相同方法在不同產業與價格結構上會如何收斂到不同的參數組合。

依論文的跨產業比較方式切換股票池
逐檔查看 PPTS / GAPPTS 的參數與績效差異
論文建議值:50
論文系統預設:50
輪盤選擇後的單點交叉機率
論文系統預設:0.10
PPTS 將價格切成 m 個等距區間
買入後持有天數
區間達標機率的門檻

GAPPTS 互動模擬器

逐代觀察族群適應度如何收斂,以及最優染色體如何在 4 維參數空間中逼近所選個股的最佳策略設定。

第 1 代 / 50
Fitness —
族群適應度收斂曲線
1 代族群 fitness 分布
當代最佳染色體 → PPTS 參數

所選個股的 2024 年測試表現

下圖以訓練期間建立的價格區間規則,回放 2024 年的測試資料,觀察 GAPPTS 如何在同一檔股票上產生買賣訊號、累積淨值與交易紀錄。

2024 測試價格 + PPTS 進出場訊號
策略淨值曲線(初始資金 100)
績效統計
代表性交易紀錄(前 8 筆)

GAPPTS vs 固定參數 PPTS vs Buy & Hold

論文指出 GAPPTS 相較固定參數策略與 Buy & Hold 能更有效提升報酬與風險控制。這裡用所選個股的互動重跑結果做同一視角比較。

所選個股報酬比較
同評估預算下的搜尋效率

市場資料同步、TAIFEX 合約月與日線快取檢視

這一區直接讀取後端 market layer。你可以手動同步 TWSE 現貨、TAIFEX 期貨與 Yahoo fallback 資料,並直接檢查 instrument cache、contract month 與最近日線 bars。

Market Cache
點選 instrument 後,右側 bars 會重新查詢對應 symbol;若是 TAIFEX 來源,contract month 會一起顯示。
TWSE + TAIFEX + Yahoo
尚未載入資料
Recent Daily Bars
尚未選取 instrument。

試跑 GA 策略 (Python in Browser)

直接讀取上方 「選股與 GA 參數重跑」 的所有欄位:選到的股票、POP / GENS / CR / MR、以及 m / hold / target。按執行會將真實價格序列注入 Python runtime。

Python 3.11 (Pyodide) · GUI 參數會覆蓋程式中的預設值