--- 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表示 ![](https://i.imgur.com/B6H4Ifl.jpg) ![](https://i.imgur.com/eIWVc2s.png) ![](https://i.imgur.com/3r44jbH.png) 每筆資料皆有公佈時間、代表的時間與資料本身的值三個維度。以股價資料來說,公佈時間與代表時間相同,可以簡單的以二維陣列儲存,但是其他資料要以什麼樣的資料結構儲存,就取決於選股條件是如何建構 ✓ 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. 可以先將因子減去它當期的平均,再取絕對值來解決這個問題 ![](https://i.imgur.com/jW4x4au.png) ## 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大的股票 ![](https://i.imgur.com/pnZ49AY.png) 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| ![](https://i.imgur.com/dnWdHtY.jpg) ## 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 --- ---