---
# System prepended metadata

title: 202209_ML&FinTech_09
tags: [202209_ML&FinTech]

---

---
title: 202209_ML&FinTech_09
tags: 202209_ML&FinTech
---


# 量化交易與機器學習濾網建置

## 1. Motivation



![](https://i.imgur.com/XWIdArB.jpg)

隨著減碳議題逐漸被重視，台灣也預計在2040年禁售燃油機車，與國際攜手往2050零碳排的目標邁進，可知電動車產業成為未來發展的重點，另外**電動車產業彼此之間可以聯想到有高度的相關性(題材)，因此我們想透過機器學習的技術對目標公司的股票進行股價預測**，希望進一步成為投資人的參考依據或指標。

本報告的核心價值在於**利用機器學習中不同的演算法**（ex: random forest、xgboost、Naive Bayes、ensemble learning algorithm）來比較及預測未來的股票走勢，再以模型訓練的結果來**修正原始交易策略**，使得Return、Mdd & CalmarRatio獲得明顯改善，以此建構出一套戰勝市場的交易策略。


## 2. Data 
**預測標的: 2308 台達電**($y$)
我們想去<font color="blue">預測隔日股價上漲的機率</font>($y_{t+1}$)，以下Table為模型$x_t$

|Notation|Description|Type|
|--|--|---|
| $x_{t,1}$|2360 致茂調整股價 at day $t$|Price & Return|
| $x_{t,2}$|3665 貿聯KY調整股價 at day $t$|Price & Return|
| $x_{t,3}$|1536  和大調整股價 at day $t$|Price & Return|
| $x_{t,4}$|1503士電調整股價 at day $t$|Price & Return|
| $x_{t,5}$|4721 美琪瑪調整股價 at day $t$|Price & Return|
| $x_{t,6}$|2371 大同調整股價 at day $t$|Price & Return|
| $x_{t,7}$|1537 廣隆調整股價 at day $t$|Price & Return|
| $x_{t,8}$|1723 中碳調整股價 at day $t$|Price & Return|
| $x_{t,9}$|6509 聚和調整股價 at day $t$|Price & Return|
| $x_{t,10}$|8183 精星調整股價 at day $t$|Price & Return|
| $x_{t,11}$|1533 車王電調整股價 at day $t$|Price & Return|
| $x_{t,12}$|TWII 台股大盤加權指數 at day $t$|Price & Return|
| $x_{t,13}$|S&P500 標準普爾指數 at day $t$|Price & Return|
| $x_{t,14}$|法人買賣超幅度(外資) at day $t$|Volume|
| $x_{t,15}$|法人買賣超幅度(投信) at day $t$|Volume|
| $x_{t,16}$|法人買賣超幅度(自營) at day $t$|Volume|
| $x_{t,17}$|台達電成交量 at day $t$|Volume|
| $x_{t,18}$|MA20 at day $t$|Technical|
| $x_{t,19}$|MA60 at day $t$|Technical|
| $x_{t,20}$|KD(K) at day $t$|Technical|
| $x_{t,21}$|KD(D) at day $t$|Technical|
| $x_{t,22}$|MACD at day $t$|Technical|
| $x_{t,23}$|RSI at day $t$|Technical|

### 資料起訖時間:
| **類別** | **股價** | **報酬率** |
| -------- | -------- | -------- |
| 機器學習訓練+測試期     | 2011/7/18~2020/9/30     | 2011/7/19~2020/9/30     |
|     交易策略期間    |       2020/10/5~2022/10/7   |        2020/10/5~2022/10/7|


附註:
- MA為移動平均線，代表過去一段時間的平均成交價格，本報告使用20日及60日為例。

- MACD以慢速(n=26)、快速(n=12)兩條平滑移動平均線來測量中長期趨勢，透過計算「收盤時股價或指數變化的指數移動平均值（EMA）」之間的離差程度（ DIF ）而來。
(1)EMA: 依據不同天，時間較近的資料給予較高的權重，所計算出的移動平均線
(2)離差值DIF是利用短期與長期的EMA相減計算出來的
(3)計算出DIF後，再取DIF的移動平均，就是 MACD 線

- RSI是以某段時間，股價「平均漲幅」與「平均跌幅」所計算出來的數值，測量現在股價是強還是弱，數值介於0~100間，數字越大表示股價愈強，而本報告以14日做計算

RSI=(一段時間內)股票漲幅平均值/

---


![](https://i.imgur.com/L8xvFDF.jpg)

- KD指標是由K值跟D值所組成的兩條線圖，K值與D值都代表股價變化速度，差別在變化速度是快還是慢，但數值皆介於0~100之間。
(1)K值為「快速平均值」，又稱快線，對股價變化的反應較靈敏、快速
(2)D值為「慢速平均值」，又稱慢線，對股價變化的反應較不靈敏
![](https://i.imgur.com/Jfj5Oel.png)


### :apple:EDA
在資料科學上，首先應執行資料探勘，運用視覺化或基本統計等工具，來對資料有個初步的認識，以利後續對資料進行複雜、嚴謹的分析，亦即所謂的三大步驟，**<font color="#f00">檢查資料、觀察特徵到構想模型</font>**，良好並有效率的資料探勘分析幫助我們釐清問題，並執行有意義的研究。

#### 一、熱力圖
股價:
![](https://i.imgur.com/HhOBvZ5.png)

從股價熱力圖可觀察到幾個現象，**一為台達電股價與各大類股皆有相當程度的關聯性**，探究原因乃為同類型、同樣相關行業的股票通常都會有齊漲齊跌的現象，乃為股票同質性。**二為移動平均與台達電或是各大類股也有一定程度的相關**，其實這也滿直覺的，移動平均是由台達電股價資料計算而成，而台達電股價又與類股走勢相關，因此移動平均也會與類股走勢相關。**三為技術指標與投信、外資的法人買賣超呈現普通程度的相關**，這反而就無法說明什麼特別的現象，而是說可能技術指標的計算方式剛好用到該指標，或是買賣超幅度剛好有可能有某一程度的力量來影響股票走勢，進一步帶動其相關性，不過技術指標間還是有不同程度的相關性，尤以MACD、RSI、KD值最為顯著。**四為台股大盤指數與標準普爾指數皆有顯著相關性**，推測大盤的變動有可能為我們準確預測的精隨之一，而與本報告欲預測的台達電也有頗高的線性相關。

報酬率:
![](https://i.imgur.com/bjVZtWS.png)
從報酬率熱力圖可觀察到幾個現象，**類股的股價資料在轉換為報酬率後，發現仍有輕度的線性相關現象**，唯與股價相比，程度可說是相差甚大，但仍可以說是類股之間具有關聯性。至於其他現象則與股價圖相符，在此不再贅述。

#### 二、結論
**1.從共變異數熱力圖可以發現，在<font color="#f00">相關電動車概念股中，彼此之間皆高度相關</font>，故在線性相關上，相關概念股在某種程度上可以解釋台達電股價，但股價之間相關並不代表在隨機性更高漲跌之間回具有顯著解釋力，故未來主要著重在非線性關係上準確率之良窳**
**2.股價之外，<font color="#f00">技術指標(除了MA20、60)、三大法人買賣超並未與台達電有顯著線性相關</font>**



#### 三、漲跌次數
1.**因變數資料中涵蓋不同規模資料，從股價、交易量、買賣超金額、技術指標，由於單位不同，最終可能導致模型學習收斂過於緩慢問題或資料變化度不一致問題(<font color="#f00">標準小至9.4，大至83</font>)，故進行去單位化，除了減少電腦耗時，在某些情況也能減少模型迭代次數**

2.台達電漲跌次數分配
![](https://i.imgur.com/y85Py5n.png)

**漲跌次數分配<font color="#f00">並無不平衡現象</font>，故模型並不會學習到大量漲或跌的資料樣本，產生過度擬合現象**


## 3. Formulation

$S_t$: 股票在時間點$t$的價格
$y_t=I_{\{S_t>S_{t-1}\}}$: 台達電之隔日股價上漲的機率 

$x=(x_1,\ldots,x_{23})$, $p=23$. (此處已在Data的部分提及，故不再加以贅述)

本研究透過金融分析與 EDA 來揀選出合適的 $x$ 並預測 $y$，使用機器學習中分類樹、隨機森林、XGBoost、SVM等方法來進行預測，期望能藉由精準的估計漲跌機率，來進行後續交易策略的建置，期許能帶來低風險、高報酬的卓越績效。

## 4. Analysis

**<font color="#f00">特徵值只列出前10大權種</font>**

### 資料型態為return
#### 分類樹模型
##### 參數

| 調整參數          | 範圍          | 最適化參數 |
| ----------------- |:------------- | ---------- |
|     max_depth     | 隨機(2~128)   |      16      |
| min_samples_split | 隨機(2~128)   |       59    |
| max_leaf_nodes    | 隨機(2~128)   |       54    |
| criterion         | gini或entropy   |        gini    |
| min_samples_leaf  | 隨機(2~128) |       4     |
| random_state      | 4             |            |
| n_trials          | 1000           |            |

##### 混淆矩陣
![](https://i.imgur.com/MeV884i.png)

|          | 績效(未標準化)               |
| ----------------- |:----------------------- |
| Accuracy | 0.56512 |
| F1 Score    | 0.56703 |
| Recall         | 0.56828 |
| Precision   | 0.56579 | 

##### 特徵職權種
![](https://i.imgur.com/7U9ZQ8Z.png)

| 特徵值 | 百分比 |  低貢獻之特徵值   |  百分比   |
| ------ |:------ | --- | --- |
| 2308 vloume (thousand)   | 11    |   1503  |   0  |
| MA20 | 10  |     |     |     |
| slowk   | 8     |    |     |
| slowd   | 6     |     |     |
| SP500   | 6      |     |     |

---


#### 隨機森林
##### 參數
| 調整參數          | 範圍          | 最適化參數 |
| ----------------- |:------------- | ---------- |
|     max_depth     | 隨機(2~128)   |      49      |
| min_samples_split | 隨機(2~128)   |       26     |
| max_leaf_nodes    | 隨機(2~128)   |        117    |
| criterion         | gini或entropy   |        entropy   |
| min_samples_leaf  | 隨機(2~128) |       3     |
| max_features  | auto或sqrt |       sqrt     |
| bootstrap  | True或False |       False     |
| random_state      | 10             |            |
| n_trials          | 100           |            |


##### 混淆矩陣

![](https://i.imgur.com/0srCAiP.png)



|          | 績效(未標準化)               |
| ----------------- |:----------------------- |
| Accuracy | 0.53642 |
| F1 Score    |0.31818 |
| Recall         | 0.21586 |
| Precision   |0.60494 | 

##### 特徵值權重
![](https://i.imgur.com/kXlSfBn.png)


| 特徵值 | 百分比 |  低貢獻之特徵值   |  百分比   |
| ------ |:------ | --- | --- |
| 8183    | 6     |     |     |
| slow| 5  |     |     |     |
| slowk   | 5     |     |     |
|  4721   | 5     |     |     |
| 2308 investment credit (m)   | 5      |     |     |


---



#### XGboost
##### 參數

| 調整參數          | 範圍          | 最適化參數 |
| ----------------- |:------------- | ---------- |
|     max_depth     | 隨機(2~128)   |      10      |
| n_estimators | 隨機(10~200)   |       99     |
| gamma    | 隨機(0~0.9)   |        0.3412    |
| learning_rate         | 隨機(0.01~0.19)   |        0.1899    |
| random_state      | 4            |            |
| n_trials          | 300            |            |


##### 混淆矩陣
![](https://i.imgur.com/wUxbtKK.png)

|          | 績效(未標準化)               |
| ----------------- |:----------------------- |
| Accuracy | 0.56954 |
| F1 Score    | 0.49871 |
| Recall         | 0.42731 |
| Precision   |0.59877 | 

##### 特徵值權重
![](https://i.imgur.com/VFELkGS.png)

| 特徵值(排序) | 百分比 |  無貢獻之特徵值   |  百分比   |
| ------ |:------ | --- | --- |
| 4721   |5     |     |    |
| MA20   | 5    |     |     |
| slowk   | 5     |    |    |
| slowd    | 5     |    |     |
| SP500   | 5      |     |     |




#### SVM(支持向量機)
**由於SVM於使用非線性核函數時為映射到高維度空間中，故無法計算特徵值權重大小**
##### 參數
| 調整參數          | 範圍          | 最適化參數 |
| ----------------- |:------------- | ---------- |
|     kernel     | rbf或sigmoid   |     sigmoid      |
| C | 隨機(0.1~10)   |       0.127     |
| gamma    | auto或scale   |        scale    |
| random_state      | 4             |            |
| n_trials          | 200            |            |




##### 混淆矩陣
![](https://i.imgur.com/4cUdJSA.png)

|          | 績效(未標準化)               |
| ----------------- |:----------------------- |
| Accuracy | 0.49890 |
| F1 Score    | 0.53388 |
| Recall         | 0.61905 |
| Precision   |0.46931 | 


### 總結


#### 模型比較
| 績效 | 分類樹 |  隨機森林   |  XGboost   |SVM   |
| ------ |:------ | --- | --- | --- |
|  Accuracy  | 0.56512    |  0.53642    |   **0.56954** |0.49890|
| F1 Score   |  **0.56703**   | 0.31818    | 0.49871    |0.53388|
| Recall   |   0.56828   |0.21586   |   0.42731 |**0.61905**|
| Precision   | 0.56579     | **0.60494**   |  0.59877  |0.46931|

### 資料型態為price
#### 分類樹
##### 參數

| 調整參數          | 範圍          | 最適化參數 |
| ----------------- |:------------- | ---------- |
|     max_depth     | 隨機(2~128)   |      107      |
| min_samples_split | 隨機(2~128)   |       37     |
| max_leaf_nodes    | 隨機(2~128)   |        102    |
| criterion         | gini或entropy   |       gini    |
| min_samples_leaf  | 隨機(2~128) |       13     |
| random_state      | 4             |            |
| n_trials          | 1000          |            |

##### 混淆矩陣
![](https://i.imgur.com/tsH9Vz2.png)


|          | 績效              |
| ----------------- |:----------------------- |
| Accuracy | 0.53084|
| F1 Score    | 0.60038 |
| Recall         | 0.70485 |
| Precision   | 0.52288 | 

##### 特徵職權種
![](https://i.imgur.com/cVHZEA1.png)

| 特徵值 | 百分比 |  低貢獻之特徵值   |  百分比   |
| ------ |:------ | --- | --- |
| 2308 dealer (m)    | 11    |     |     |
| slowk | 10  |      |     |     |
| 2360   | 9   |     |    |
| 2308 investment credit (m)   | 9     |     |     |
| 2308 vloume (thousand)   | 8      |     |     |

#### 隨機森林
##### 參數
| 調整參數          | 範圍          | 最適化參數 |
| ----------------- |:------------- | ---------- |
|     max_depth     | 隨機(2~128)   |     24      |
| min_samples_split | 隨機(2~128)   |       72     |
| max_leaf_nodes    | 隨機(2~128)   |        68    |
| criterion         | gini或entropy   |       gini   |
| min_samples_leaf  | 隨機(2~128) |       2     |
| max_features  | auto或sqrt |       sqrt     |
| bootstrap  | True或False |       False     |
| random_state      | 10             |            |
| n_trials          | 100            |            |


##### 混淆矩陣
![](https://i.imgur.com/waBVhmG.png)



|          | 績效               |
| ----------------- |:----------------------- |
| Accuracy | 0.52203 |
| F1 Score    |0.36735 |
| Recall         | 0.27753 |
| Precision   | 0.54310 | 

##### 特徵值權重
![](https://i.imgur.com/dpJo8Qr.png)



| 特徵值 | 百分比 |  低貢獻之特徵值   |  百分比   |
| ------ |:------ | --- | --- |
| slowk   | 9     |     |     |
| 2308 dealer (m)| 6  |     |     |     |
| 2308 investment credit (m)    | 6     |     |     |
| 2308 vloume (thousand)    | 6     |     |     |
| 4721   | 5      |     |     |

#### XGboost
##### 參數

| 調整參數          | 範圍          | 最適化參數 |
| ----------------- |:------------- | ---------- |
|     max_depth     | 隨機(2~128)   |      41      |
| n_estimators | 隨機(10~200)   |       13     |
| gamma    | 隨機(0~0.9)   |         0.4864    |
| learning_rate         | 隨機(0.01~0.19)   |        0.0133    |
| random_state      | 4            |            |
| n_trials          | 100            |            |


##### 混淆矩陣
![](https://i.imgur.com/blG40hU.png)


|          | 績效(未標準化)               |
| ----------------- |:----------------------- |
| Accuracy | 0.52863 |
| F1 Score    | 0.50233 |
| Recall         | 0.47577 |
| Precision   |0.53202 | 

##### 特徵值權重
![](https://i.imgur.com/rbpLsN6.png)


| 特徵值(排序) | 百分比 |  無貢獻之特徵值   |  百分比   |
| ------ |:------ | --- | --- |
| 1537   |5     |     |    |
| MACD   | 5    |     |     |
| slowk   | 5     |    |    |
| 1723   | 5     |    |     |
| 4721   | 5      |     |     |

#### SVM(支持向量機)
**由於SVM於使用非線性核函數時為映射到高維度空間中，故無法計算特徵值權重大小**
##### 參數
| 調整參數          | 範圍          | 最適化參數 |
| ----------------- |:------------- | ---------- |
|     kernel     | rbf或sigmoid   |     sigmoid      |
| C | 隨機(0.1~10)   |       0.131     |
| gamma    | auto或scale   |        scale    |
| random_state      | 4             |            |
| n_trials          | 100            |            |




##### 混淆矩陣
![](https://i.imgur.com/lawP4IB.png)


|          | 績效(未標準化)               |
| ----------------- |:----------------------- |
| Accuracy | 0.44273 |
| F1 Score    | 0.46285 |
| Recall         | 0.59890 |
| Precision   |0.37716 | 


#### 附註
![](https://i.imgur.com/drjrMLM.png)
**準確度(Accuracy) = (TP+TN)/(TP+FP+FN+TN)**
**精確度(Precision) = TP/(TP+FP)**
**召回率(Recall) = TP/(TP+FN)**
![](https://i.imgur.com/KvOxCrC.png)

---

## 績效比較


| 績效 | 分類樹 |  隨機森林   |  XGboost   | SVM   |
| ------ |:------ | --- | --- | --- |
| Accuracy  |**0.53084**                              | 0.52203 |  0.52863 |    0.44273 |     |
| F1 Score  | **0.60038** | 0.36735                               | 0.50233 |     0.46285 |     |
| Recall    | **0.70485** | 0.27753                               |0.47577 |     0.59890 |     |
| Precision | 0.52288                               | **0.54310** |  0.53202 |    0.37716|


## 交易策略
### :pencil: 主邏輯(原策略)

**買進: RSI_12 > 50 + RSI_6 > RSI_12(黃金交叉) + close > MA 
放空: RSI_12 < 50 + RSI_6 < RSI_12(死亡交叉) + + close < MA** 

**賣出: RSI_12 < 50 + close < MA
回補: RSI_12 > 50 + close > MA**

**停損停利: 5%**

**回測區間:** 2020/10/05~2022/10/07
**資金管理:** 設一開始持有本金$1000元，每一次交易都固定投入$100。
**手續費:** 0.1425% (進出各課一次)
**證交稅:** 0.3% (平倉時課一次)

RSI_12: 12天計算之RSI
RSI_6: 6天計算之RSI
MA: 110天日內移動平均線
### 回測結果

**紅線**:未計算交易成本之損益曲線
**藍線**:有計算交易成本之損益曲線(<font color="#f00">手續費+稅</font>)
![](https://i.imgur.com/dFno445.png)



### Equity & Drawdown
透過dd可以觀察交易策略在回測下的曝險程度
**可發現在盤整區域與空頭區段出現dd擴大的情況(紅色區域)**
![](https://i.imgur.com/xHSX192.png)



### 交易落點分析
觀察交易策略的問題得以進一步優化策略
- 多單的勝率 = 63.16%
- 空單的勝率 = 36.36%
* **可知做空的點位差強人意，有許多改進的空間**
![](https://i.imgur.com/81XsMZJ.png)


### 績效評估
**可以將重點擺在 CalmarRatio = 年化報酬率 / 最大回落比例**
 (反映投資人面臨資產價格大幅波動時的心理痛苦程度)
| 績效 | 基本策略 | 
| ------ |:------ |
| Profit |  $40.8   |
| **Return** |  4.08% |
|**Mdd**    |    2.39% |
| **Calmar Ratio** | 1.71 |
| Trade Times |     41  |
| Win Rate    |  46.78%  |
| Profit Factor |   1.43  | 
| Win Loss Ratio |   1.5  |

**Profit**: 累積獲利
**Return**: 累積報酬
**Mdd**: 權益最大回落程度(%)
**Calmar Ratio**: Return / Mdd
**Trade Times**: 總交易次數
**WinRate**: 交易獲利次數 / 總交易次數
**Profit Factor**: 總獲利 / 總損失
**WinLossRatio**: 平均獲利 / 平均損失



### 參數最佳化  →  K = 0.05, length(MA) = 110
![](https://i.imgur.com/YCB8Kgv.png)

---

## 加入濾網策略與回測整體績效

### **如何修正**
我們希望利用機器學習模型來<font color="#f00">**預測明日股價漲跌的機率**</font>，**藉由模型結果來輔助我們判斷做空進場的時機點，過濾掉因市場的雜訊所釋出的假訊號**，進而找出更加的空單進場點位，不只提高作空的勝率，也提升了整體績效。

**0.7為主觀認定**: 我們認為當模型預測明日下跌機率超過0.7時，可以更加確定空方力道，因此在滿足主策略與此條件時才會進行空單佈局。


買進: RSI_12 > 50 + RSI_6 > RSI_12(黃金交叉) + close > MA 
放空: RSI_12 < 50 + RSI_6 < RSI_12(死亡交叉) + close < MA + <font color="#f00">**隔日下跌機率 > 0.7 </font>(機器學習)**
(其於假設皆與之前一致，可至原策略回顧)

---
### 模型比較(price)

**由於<font color="#f00">XGboost</font>與<font color="#f00">分類樹</font>有較佳預測的平均準確度，因此主要使用這兩種模型進行優化**
### XGboost

無交易成本獲利(red) : $63.46
有交易成本獲利(blue) : $52.63
![](https://i.imgur.com/E89ayCA.png)
![](https://i.imgur.com/ht1l354.png)
多單勝率 : 66.67%
**無放空交易**(皆不滿足明日下跌機率0.7的條件)

![](https://i.imgur.com/cNOZvSv.png)
**在此模型中，確實有讓獲利持續創高，但因為XGboost(price)預測明日下跌機率皆沒有大於70%，搭配濾網的策略放棄了所有放空機會，只佈入多單，此結果已經違背濾網設置的初衷，且有交易次數過少的問題。**

### 分類樹

無交易成本獲利(red) : $49.34
有交易成本獲利(blue) : $30.40
![](https://i.imgur.com/Z6yg6n6.png)
![](https://i.imgur.com/jTB9A68.png)
多單勝率 : 64.71%
空單勝率 : 40%
![](https://i.imgur.com/xwSraUW.png)
**在此模型中，獲利沒有持續創高，且可看出若考慮交易成本，獲利甚至出現減少的趨勢，雖然空單勝率提高了，但卻影響到多單的勝率，這是因為策略採取單一部位進場，在加入濾網條件後，還影響到了多單進場的時機。**

---
### 模型比較(return)
### XGboost

無交易成本獲利(red) : $75.09
有交易成本獲利(blue) : $52.53
![](https://i.imgur.com/4iAZDP6.png)
![](https://i.imgur.com/vTSkrMZ.png)
多單勝率 : 66.67%
空單勝率 : 40%
![](https://i.imgur.com/m0wZOXl.png)
**在此模型中，獲利有持續性創高，但是考慮交易成本的損益與無考慮交易成本的損益差距越來越大，可知交易成本吃掉了很多獲利，仍有很多的優化空間。**


### 分類樹

無交易成本獲利(red) : $76.03
有交易成本獲利(blue) : $58.73
![](https://i.imgur.com/zh5XvI6.png)
![](https://i.imgur.com/mFuOdmk.png)
多單勝率 : 66.67%
空單勝率 : 54.55%
![](https://i.imgur.com/ThNKZmv.png)
**在此模型中，不只看出獲利有明顯創高，DD也有控制住，而交易成本也沒有吃掉太多利潤，可知用分類樹(return)模型來進行交易策略優化，有較好的效果。**


### 整體績效之比較


| 績效 | <font color="#f00">基本策略</font> |XGboost(price)|分類樹(price)|XGboost(return)|:trophy:分類樹(return)|
| ------ |------|-----|------|------|------|
| Profit |  $40.8 |$52.63|$30.4|$52.53|$58.73|
| Return |  4.08%|5.26%|3.04%|5.25%|5.87%|
|**Mdd**    |  <font color="#f00">**2.39%**</font>|1.46% |2.51%|2.31%|**1.46%**|
| **Calmar Ratio** | <font color="#f00">**1.71**</font>|3.61 |1.21|2.27|**4.03**|
| Trade Times |  41|18| 32| 38 |29|
| **Win Rate**    |  <font color="#f00">**46.78%**</font>|66.67% |53.12% | 52.63%|**62.07%**|
| Profit Factor | 1.43|2.51|1.4 |1.66 |2.03|
| Win Loss Ratio | 1.5|1.26| 1.23|1.5 |1.24|

**與前述觀察結果一致，分類樹(return)優化結果表現最為亮眼，成功控制住Mdd，勝率從46%提高至62%，Calmar Ratio也提升至4倍以上，<font color="#f00">確實排除了不佳的做空點位</font>(雜訊)。**

---
## 5. Conclusion
透過資料探勘找出有用的變數來進行研究，推敲其可能具有的預測性質，爾後在機器學習多種模型的分析之下，預測出在不同模型之下，目標變數隔日漲跌的機率，再將其加入原本既有的交易策略，發現再加入新的濾網後，確實能帶來更卓越的績效，風險更低，報酬更高，結果證明透過機器學習建構新濾網，確實能為既有的交易策略優化，儼然為投資界點燃一盞明燈。
### 機器學習
#### 資料形式為price
- **<font color="#f00">分類樹</font>在預測股票漲跌中，F1 Score為0.60038，為所有模型中表現最佳，且在<font color="#f00">預測為漲的準確度</font>高達0.70485，為為資料形式price模型中看跌最佳表現**
- **<font color="#f00">分類樹</font>平均準確率為0.53084，為資料形式price模型中最佳表現**
- **<font color="#f00">隨機森林</font>在<font color="#f00">看跌預測中準確度</font>為0.76，為所有資料形式price模型中看跌最佳表現，但漲預測準確度低，故總準確度僅為0.52203**
- **<font color="#f00">XGboost</font>平均準確度為0.52863，僅次於分類樹模型(資料形式price)**

#### 資料形式為return

- **<font color="#f00">分類樹</font>在預測股票漲跌中，F1 Score為0.56703，為所有資料形式return模型中表現最佳，且看漲與看跌機率差異不大(看跌:0.5545，看漲:0.56828)，平均優於其他模型**
- **<font color="#f00">SVM</font>在<font color="#f00">看漲預測準確度</font>為0.619為所有資料形式return看漲中有最好表現**
- **<font color="#f00">隨機森林</font>在<font color="#f00">看跌預測準中準確度</font>為0.85，為所有資料形式return看跌預測中表現最佳，但漲預測準確度低，故總準確度僅為0.53642**
- **<font color="#f00">XGboost</font>平均準確度為0.56954，為所有資料形式return模型中最佳表現**

#### 總結
- **<font color="#f00">資料形式為return分類樹</font>在預測股票漲跌中有最佳預測表現**
- **<font color="#f00">資料形式為return隨機森林</font>在看跌預測有最佳表現**
- **<font color="#f00">資料形式為price分類樹</font>在看漲預測有最佳表現**
- **不管資料形式price或return，<font color="#f00">分類樹與XGboost</font>皆有較佳平均準確度**


### :apple:交易策略
- **XGboost(price): 獲利有創高，但放棄所有放空機會，違背濾網設置的初衷。**
- **分類樹(price): 獲利沒有創高，因為濾網影響到多單進場的時機，且交易成本吃掉許多獲利。**
- **XGboost(return): 獲利有創高，但後期獲利逐漸無法負擔交易成本 (差距擴大)。**
- **分類樹(return): 獲利不只持續創高，交易成本也有控制住，不影響多單進場時機，且符合濾網設置的目的，此模型完美消除了其他模型的缺陷，導致績效最為突出。**

**總結: 以回測績效來說，分類樹(return)模型能夠最有效率的優化原本的交易策略，達到Calmar Ratio 超過4倍的佳績，獲得最高的風險報酬比。雖然我們並沒有進一步進行樣本外回測(檢驗策略的實際可行度)，但此結果已<font color="#f00">反應出機器學習用於優化交易策略的可能性，我們認為這才是此專案最大的貢獻**</font>。