上一章嘗試了用隨機森林模型預測漲跌
這一張要嘗試用SVM
SVM是一個參數化模型 跟隨機森林不同SVM內部會學一個權重用來把數據分成兩類


SVM在學的就是找一個W值使得 2/w愈大愈好 w愈小愈好
通常具有良好的汎化能力

一樣SVM模型繼承自BaseStrategy這個類別
首先定義了初始化時要定義特徵欄位跟模型
以及有一個fit方法 可以訓練內部的模型

再來也有產生訊號的方法
保存模型的方法
載入模型的方法
再來一樣是回測函數

首先根據策略產生訊號
然後初始化變量

再來對訊號做遍歷
買入時紀錄一筆
賣出時紀錄一筆
每一個迴圈結束前都更新asset_curve資產曲線

若遍歷完訊號沒結算則結算
然後計算一大堆東西之後返回結果

再來這裡定義取得資料的函數

用yfinance取得rsi stoch_k atr_ratio willr 等等技術指標
以及用收盤價的漲跌定義target

再來用2023到2024資料訓練模型

然後觀察模型在2024到2025的表現


可以發現雖然有賺錢但是那是因為大盤在漲本身買了不動放著都會賺
未來我們要研究 更好的回測機制 要測試牛熊市
完整代碼:
https://github.com/skywalker0803r/AlphaCoin