面向量化金融的開源機器學習模型
機器學習交易演算法將統計學習模型(梯度提升、神經網路、Transformer)應用於金融時間序列資料,以預測價格走勢或產生交易訊號。這些開源實作涵蓋迴歸(價格目標)與分類(方向)兩種表述。
ML 演算法如何跨函式庫連接
ML 演算法如何在交易系統中協同運作
Price, volume, indicators
Model predictions
Signal threshold filtering
Profit taking & stop loss
Position sizing & portfolio
在關鍵維度上比較 ML 演算法
| 指標 | LightGBMRegressorFreqtrade | LightGBMClassifierFreqtrade | XGBoostRegressorFreqtrade | XGBoostClassifierFreqtrade | CatboostRegressorFreqtrade | PyTorchMLPRegressorFreqtrade | PyTorchTransformerRegressorFreqtrade | LGBModelQlib (Microsoft) | XGBModelQlib (Microsoft) | DNNModelQlib (Microsoft) | ALSTMQlib (Microsoft) | TFTModelQlib (Microsoft) | GATsQlib (Microsoft) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 複雜度 | ⭐⭐⭐intermediate | ⭐⭐⭐intermediate | ⭐⭐⭐intermediate | ⭐⭐⭐intermediate | ⭐⭐⭐intermediate | ⭐⭐⭐⭐advanced | ⭐⭐⭐⭐advanced | ⭐⭐⭐intermediate | ⭐⭐⭐intermediate | ⭐⭐⭐⭐advanced | ⭐⭐⭐⭐advanced | ⭐⭐⭐⭐advanced | ⭐⭐⭐⭐advanced |
| 預測類型 | 迴歸 | 分類 | 迴歸 | 分類 | 迴歸 | 迴歸 | 迴歸 | 混合 | 混合 | 混合 | 序列 | 混合 | 混合 |
| 訓練速度 | ⚡⚡⚡ | ⚡⚡⚡ | ⚡⚡⚡ | ⚡⚡⚡ | ⚡⚡ | ⚡⚡ | ⚡ | ⚡⚡ | ⚡⚡ | ⚡⚡ | ⚡ | ⚡⚡ | ⚡⚡ |
| 準確度 | 📊📊📊 | 📊📊📊 | 📊📊📊 | 📊📊📊 | 📊📊📊 | 📊📊📊 | 📊📊📊📊 | 📊📊 | 📊📊 | 📊📊 | 📊📊📊 | 📊📊 | 📊📊📊📊 |
| 最適合 | 表格資料 | 表格資料 | 表格資料 | 表格資料 | 通用 | 非線性模式 | 時間序列模式 | 通用 | 通用 | 通用 | 序列資料 | 通用 | 圖關係 |
Gradient boosting regression model for price movement prediction using LightGBM.
| n_estimators | 1000 | Number of boosting rounds |
| learning_rate | 0.01 | Step size shrinkage |
freqai/prediction_models/LightGBMRegressor.pyGradient boosting classification model for directional prediction (up/down/neutral).
| n_estimators | 1000 | Number of boosting rounds |
freqai/prediction_models/LightGBMClassifier.pyXGBoost-based regression model for continuous value prediction.
| n_estimators | 1000 | Number of boosting rounds |
| max_depth | 6 | Maximum tree depth |
freqai/prediction_models/XGBoostRegressor.pyXGBoost-based classification model for directional prediction.
| n_estimators | 1000 | Number of boosting rounds |
freqai/prediction_models/XGBoostClassifier.pyCatBoost gradient boosting model with native categorical feature support.
| iterations | 1000 | Number of boosting iterations |
freqai/prediction_models/CatboostRegressor.pyMulti-layer perceptron neural network for regression-based price prediction.
| hidden_dim | 128 | Hidden layer dimension |
| dropout_percent | 0.2 | Dropout rate |
freqai/prediction_models/PyTorchMLPRegressor.pyLightGBM model for stock return prediction using technical and fundamental features.
| num_leaves | 31 | Maximum number of leaves |
| learning_rate | 0.1 | Boosting learning rate |
qlib/contrib/model/gbdt.pyXGBoost model for stock return prediction.
qlib/contrib/model/xgboost.pyDeep neural network for nonlinear feature extraction and return prediction.
| hidden_size | 256 | Hidden layer size |
qlib/contrib/model/pytorch_nn.pyAttention-based LSTM for sequential stock data modeling with attention mechanism.
| hidden_size | 64 | LSTM hidden size |
| num_layers | 2 | Number of LSTM layers |
qlib/contrib/model/pytorch_alstm.pyTemporal Fusion Transformer combining static and temporal features for multi-horizon prediction.
qlib/contrib/model/pytorch_tft.py