- 股票多因子模型實戰:Python核心代碼解析
- 陸一瀟
- 1182字
- 2024-01-22 19:17:19
1.2.3 多因子模型的實踐框架
多因子框架體系可以歸結為“道”和“術”兩個層面。在上面一小節中,我們簡單介紹了多因子模型背后的底層原理,可以說是“道”的層面,簡單理解即可;而在這一小節中,我們要講解一下“術”的層面,也就是實際操作過程中是怎么將“道”這一層面的思想體現出來的。先看一下多因子模型框架結構圖,如圖1-2所示。

圖1-2 多因子模型框架結構
多因子模型的具體構建分為3個子部分:單因子測試與篩選、因子合成和組合構建。在進入實盤之后,還應當增加“歸因分析”的部分。本書由于篇幅有限,只討論前面三個部分。
第一部分是單因子測試與篩選,如圖1-3所示。
先構建自己的因子池,并通過測試模板和特定的指標不斷地測試這些因子,把目前市場下可行、有效的因子納入入選因子池,這個過程就叫作“因子篩選”,這一過程以因子池和因子測試為基礎。
因子測試與篩選的詳細內容將會在本書第4章介紹。
第二部分是因子合成。

圖1-3 因子測試與篩選示意圖
因子合成的過程很簡單,就是對上一步篩選出來的因子進行加權求和變成一個合成因子,如圖1-4所示。但其加權的過程有很多種方法,有傳統的指標加權方法,也有比較復雜的機器學習和深度學習的加權方法,還可以完全不依賴于數量模型,單純依靠投資者對當前市場的理解和經驗進行加權,甚至可以將多種模型相結合。

圖1-4 因子合成示意圖
目前在整個股票多因子體系中,這一部分可研究、挖掘的點是最多的,而且也是主觀投資者與量化投資者可以相互結合的環節。
第三部分是組合構建。
當我們通過一定的手段獲得合成因子后,其實就獲得了每一只股票的一個總的因子分值。我們可以按照從小到大的順序給股票池中的股票排序,接下來根據合成因子的打分來計算哪只股票買多少比例,這就是股票組合的構建,如圖1-5所示。

圖1-5 組合構建示意圖
股票組合的構建方法:最簡單的方法是選出得分前20%的股票,然后等權買入;也可以采用復雜的數學方法,例如將優化算法結合馬科維茲的組合理論進行組合優化,最終得到一個優化器計算出來的組合結果。
所謂的組合,簡單來看其實就是每只股票的占比權重,如表1-2所示。
表1-2 股票組合表

上面我們分了三個部分靜態介紹了多因子模型的操作框架,下面我們從時間維度,動態理解一下這一模型具體是如何進行股票調倉的。
假設現在是T時刻,而我們的調倉周期是t,那么依賴于現在可以獲得的數據計算出T時刻的合成因子值,并通過組合構建方法計算出一個組合,記為PT,如表1-3所示。
表1-3 組合PT

調倉周期可以是數分鐘也可以是數個交易日甚至是數個月。在一個調倉周期(t)后,我們可以依賴新的數據計算出T+t時刻的股票組合,即PT+t,如表1-4所示。
表1-4 組合PT+t

T+t時刻的新的組合可以與前一個組合進行軋差,在對比差異之后,進行調倉,確認需要買入和賣出的股票數量,如表1-5所示。如果調倉方向為負數,那么就是賣出特定比例的股票;如果為正數,那么就是買入特定比例的股票,最終使得組合PT變成PT+t。
表1-5 組合軋差

- C語言程序設計案例教程
- Java程序設計與開發
- Visual Basic程序設計教程
- Raspberry Pi for Secret Agents(Third Edition)
- Building Mapping Applications with QGIS
- KnockoutJS Starter
- Angular開發入門與實戰
- BeagleBone Black Cookbook
- SQL Server數據庫管理與開發兵書
- 精通MySQL 8(視頻教學版)
- IBM Cognos TM1 Developer's Certification guide
- Scala Functional Programming Patterns
- SCRATCH編程課:我的游戲我做主
- Joomla!Search Engine Optimization
- Enterprise Application Architecture with .NET Core