---
title: Project06
tags: teach:MF
---
# ML and FinTech: Project by 何建緯
Keywords: 因子檢定
---
## Motivations (Talk 1)
---
近期台股ETF蓬勃發展,可能會聽到某些ETF,像是ESG、高殖利率、低波動、小資高價、中小股動能等等....這些變形的ETF我們給他一個學名,叫做Smart Beta。
一個股票會上漲的因素,背後有許多風險因子在支撐,根據Fama-French的研究,他1993年建立一個三因子模型(簡稱FF3),一個投資組合的超額報酬有三個因子顯示,分別是:
市場風險因子(Rm-Rf)
規模因子SMB
價值因子HML
後來Fama-French在2015年又發表出五因子模型,分別為盈利及投資因子,之後還有不斷地因子出現,一直不斷替資本市場創造更多的超額報酬。
我想驗證的因子是融券餘額這個籌碼因子對於股價的關係。常理而言,融資餘額降低、融券餘額上升應為市場投資人看空該股後續表現。然而透過觀察發現部分熱門股票融券餘額上升、市場散戶傾向做空時,股價反而繼續上揚,表示背後有主力拉抬,致使後續仍有一段漲幅,直到融券持有者遭軋空不堪虧損而回補融券時。這時融券餘額降低,主力常趁勢賣出,股價也隨之下跌。
透過這次驗證我想了解,這項投資策略是否可以當作一個成功擊敗大盤的方法。
## EDA (Talk 2)
https://drive.google.com/drive/folders/17BACphd7cQup5HkgKbT-rb-EJ6FslcsK?usp=sharing
資料來源:TEJ
由於此次檢定中有許多資料,而其中此次研究中最想著重在融券餘額這個因子對股價的影響,故先將Data做以下整理。
✓資料格式與預處理
我從tei抓取歷年的調整後股價資料以及融資融券資料,利用其中2010-2021的資料去回測融券餘額與股價的關係
✓先以前十大市值個股做資料EDA表示



每筆資料皆有公佈時間、代表的時間與資料本身的值三個維度。以股價資料來說,公佈時間與代表時間相同,可以簡單的以二維陣列儲存,但是其他資料要以什麼樣的資料結構儲存,就取決於選股條件是如何建構
✓ ICIR分層回測
ICIR檢定
目的:觀察因子大小對於未來報酬是否有線性相關
- $Normal\ ICIR$:
- $Normal\ IC_{t,\ n} = corr(f_t \ –\ r_{t,\ t+n})$
- $Normal\ IR_{n} = \overline{Normal\ IC}_{n}\ /\ \sigma(Normal\ IC_{n})$
- $n = 1,\ 2,\ ...,\ T - 1;\ t = 1,\ 2,\ ...,\ T-n$
- 顯著門檻:$|\overline{Normal\ IC}_{n}| \ge 0.05$ and $|\overline{Normal\ IR_{n}}| \ge 0.5$
- $Rank\ ICIR$:
- $Rank\ IC_{t,\ n} = corr(f_{t}^{rank} \ –\ r_{t,\ t+n}^{rank})$
- $Rank\ IR_{n} = \overline{Rank\ IC}_{n}\ /\ \sigma(Rank\ IC_{n})$
- $n = 1,\ 2,\ ...,\ T - 1;\ t = 1,\ 2,\ ...,\ T-n$
- 顯著門檻:$|\overline{Rank\ IC}_{n}| \ge 0.05$ and $|\overline{Rank\ IR_{n}}| \ge 0.5$
缺點:
1. IC、IR只能找出越大越好或是越小越好的因子
2. 有些因子是太大不好,太小也不好,剛剛好最好,這類因子雖然有效果,但是若直接進行ICIR檢定,會得到一個不顯著的結果
3. 可以先將因子減去它當期的平均,再取絕對值來解決這個問題

## Problem formulation (Talk 3)
**problem formula**
We would like to build a model to predict
Step 1:分析20檔個股201001的股價與融券餘額
Step 2:挑選出融券餘額金額最高的二十間公司
Step 3:以等權重的方式在201001購買這二十檔股票
Step 4:並以每月換倉一次
Step 5:計算cumulative return
建立一個logistic regression model來預測大盤股價的漲跌
二元模型預測大盤股價
y=1, 融券餘額與股價成正比
y=0, 融券餘額與股價成反比
訓練資料:測試資料=0.75:0.25
訓練資料是20間公司201001-201812前9年的融券餘額和股價資料
測試資料是20間公司201901-202110後3年的融券餘額和股價資料
利用前75%交易日(201001至201812)的融券餘額及股價漲跌作為訓練資料,用訓練結果預測測試後25%的交易日(201901至202110)當日漲跌
**benchmark method**
用均線交易策略
短線上穿長線時買入
短線下穿長線時賣出
## Analysis (Talk 4)
分析出台灣市場近3年來融券餘額金額前20大的股票

note:insample & out-sample comparision
|In sample|Logistic Regression Measurement Score|
|:-:|:-:|
|Accuracy|0.57|
|Precision|0.59|
|Recall|0.595|
|F1 score|0.49|
|Out sample|Logistic Regression Measurement Score|
|:-:|:-:|
|Accuracy|0.49|
|Precision|0.34|
|Recall|0.52|
|F1 score|0.42|

## Conclusion (Talk 4)
* 選用樣本並非所有股票,而是融券餘額金額前20
* 融券餘額量大多為飆股,恐不符合投資風險分散
* 為考量其他技術指標
* 可加入手續費計算
* 加入不同機器學習模型
* 預測崩跌時機
* in sample 表現優於 out sample
* 十年cumulative績效優於大盤
## Reference (Talk 5)
https://neptune.ai/blog/predicting-stock-prices-using-machine-learning
https://www.itread01.com/content/1545816248.html
---
---