---
# System prepended metadata

title: 量化交易回測數據庫

---

---
type: slide
---

# 量化交易回測數據庫
A1115531錢昱名

----

# 起源
交易機器人
回測數據
回測指標

<!-- 最近在研究交易機器人 -->

----

# 要解決的問題
1. 回測指標亂算
2. 回看數據差

<!-- 回測指標亂算或是跟我想要的不一樣 -->
<!-- 回測數據改一下或是程式碼版本變了就差很多 -->

----

![image](https://hackmd.io/_uploads/r1bRVi7Na.png)


----

![image](https://hackmd.io/_uploads/B18nSsQV6.png)

---

# 資料庫

所以這個資料庫要可以
1. 儲存交易回測數據
2. 交易程式碼
3. 交易者訊息
4. 輸入交易測略的參數

----

# ER-Model

![image](https://hackmd.io/_uploads/rJ6ysoX4p.png)

----

# Data Dictionary

### `trader` Table

|     欄位      | 型態         | 空值允許 | 預設 | 備註           |
|:-------------:| ------------ | -------- | ---- | -------------- |
|  `trader_Id`  | INT          | NO       |      | 自動增量的主鍵 |
| `trader_Name` | VARCHAR(255) | YES      |      | 交易者的名稱   |

----

### `strategy` Table

|      欄位       | 型態         | 空值允許 | 預設 | 備註                 |
|:---------------:| ------------ | -------- | ---- | -------------------- |
|  `strategy_Id`  | INT          | NO       |      | 自動增量的主鍵       |
|   `trader_Id`   | INT          | NO       |      | 參考`trader`表的外鍵 |
| `strategy_Name` | VARCHAR(255) | YES      |      | 交易策略的名稱       |
|     `code`      | LONGTEXT     | YES      |      | 策略的具體代碼       |

----

### `review` Table

|          欄位          | 型態   | 空值允許 | 預設 | 備註                   |
|:----------------------:| ------ | -------- | ---- | ---------------------- |
|      `review_Id`       | INT    | NO       |      | 自動增量的主鍵         |
|     `strategy_Id`      | INT    | NO       |      | 參考`strategy`表的外鍵 |
|         `ROI`          | DOUBLE | YES      |      | 投資回報率             |
|     `totle_Profit`     | DOUBLE | YES      |      | 總利潤                 |
|     `max_Drawdown`     | DOUBLE | YES      |      | 最大回撤額             |
| `max_Drawdown_Percent` | DOUBLE | YES      |      | 最大回撤百分比         |
|      `max_Runup`       | DOUBLE | YES      |      | 最大盈利               |
|  `max_Runup_Percent`   | DOUBLE | YES      |      | 最大盈利百分比         |
|     `sharpe_Ratio`     | DOUBLE | YES      |      | 夏普比率               |
|    `profit_Factor`     | DOUBLE | YES      |      | 盈利因子               |
|       `win_Rate`       | DOUBLE | YES      |      | 勝率                   |
|  `totle_closed_Trade`  | INT    | YES      |      | 總關閉交易數           |

----

### `trade_parameter` Table

|      欄位      | 型態   | 空值允許 | 預設 | 備註                 |
|:--------------:| ------ | -------- | ---- | -------------------- |
| `parameter_Id` | INT    | NO       |      | 自動增量的主鍵       |
|  `review_Id`   | INT    | NO       |      | 參考`review`表的外鍵 |
|  `init_Fund`   | DOUBLE | YES      |      | 初始資金             |
|  `trade_Fee`   | DOUBLE | YES      |      | 交易費用             |

----

### `trade` Table

|      欄位      | 型態   | 空值允許 | 預設 | 備註                 |
|:--------------:| ------ | -------- | ---- | -------------------- |
|   `trade_Id`   | INT    | NO       |      | 自動增量的主鍵       |
|  `review_Id`   | INT    | NO       |      | 參考`review`表的外鍵 |
| `trade_Order`  | INT    | YES      |      | 交易順序             |
|  `entry_Date`  | DATE   | YES      |      | 進場日期             |
|  `entry_Time`  | TIME   | YES      |      | 進場時間             |
|  `exit_Date`   | DATE   | YES      |      | 出場日期             |
|  `exit_Time`   | TIME   | YES      |      | 出場時間             |
| `entry_Price`  | DOUBLE | YES      |      | 進場價格             |
|  `exit_Price`  | DOUBLE | YES      |      | 出場價格             |
|    `profit`    | DOUBLE | YES      |      | 利潤                 |
| `trade_Amount` | DOUBLE | YES      |      | 交易金額             |




---

# 未來

## 想要增加的
1. 自訂回測指標
    1. 最大利潤回撤比
    2. 盈虧比
    3. 自訂指標 盈虧比*(1-最大利潤回撤比)
2. 更好的回測曲線
    1. 滑鼠移上去會顯示這單的累積營利
    2. 設定區間最大利潤回撤比
    3. 可以按天來當X軸。
3. 更好的回測UI
