版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、內(nèi)容目錄 HYPERLINK l _TOC_250011 前言4 HYPERLINK l _TOC_250010 方法4 HYPERLINK l _TOC_250009 篩選因子的邏輯4噪音與信號4因子動量4 HYPERLINK l _TOC_250008 因子庫以及篩選方法5因子庫和預處理5篩選因子時間點5邊際篩選6因子評價6典型情況樣例7 HYPERLINK l _TOC_250007 預測模型8線性多因子模型8機器學習模型列表9模型動態(tài)篩選與加權(quán)9 HYPERLINK l _TOC_250006 投資組合構(gòu)造方法11 HYPERLINK l _TOC_250005 3. 結(jié)果11 HYP
2、ERLINK l _TOC_250004 篩選因子11 HYPERLINK l _TOC_250003 分組回測13線性多因子模型13滬深 300 指數(shù)增強14中證 500 指數(shù)增強163.2.4. 中證 1000 指數(shù)增強183.2.5. 全市場選股19 HYPERLINK l _TOC_250002 4. 結(jié)論21 HYPERLINK l _TOC_250001 附錄:財務數(shù)據(jù)列表22 HYPERLINK l _TOC_250000 風險提示23信息披露24圖表目錄圖 1:各種類型因子的效果示意圖8圖 2:驗證集 RankIC12圖 3:線性多因子模型的全市場信息系數(shù)14圖 4:全市場分組
3、回測,基于線性多因子模型14圖 5:滬深 300 指數(shù)成分內(nèi)的信息系數(shù)15圖 6:滬深 300 指數(shù)成分股分組回測15圖 7:中證 500 指數(shù)成分內(nèi)的信息系數(shù)16圖 8:中證 500 分組回測17圖 9:中證 1000 指數(shù)成分內(nèi)的信息系數(shù)18圖 10:中證 1000 指數(shù)成分股分組回測18圖 11:全市場的信息系數(shù)19圖 12:全市場分組回測20表 1:各季度入選的前五個因子12表 2:滬深 300 指數(shù)成分股組 5 的分年度表現(xiàn)16表 3:中證 500 指數(shù)成分股組 5 的分年度表現(xiàn)17表 4:中證 1000 指數(shù)成分股組 5 的分年度表現(xiàn)19表 5:全市場組 5 的分年度表現(xiàn)20表 6
4、:本文使用的風格因子、財務項目列表22前言我們在上一期研報基于財務與風格因子的機器學習選股德邦金工機器學習專題之三中介紹了一種利用財務因子來提高機器學習模型選股能力的方法, 其中,我們直接給出了用到的財務因子,并且在整個樣本期中均使用了同一批財務因子。實際上,因子的選擇是重要的,一方面,我們需要篩選有效的因子;另一方面,篩選因子的過程必須是沒有前視偏差的。如果因子的選擇有前視偏差,則容易造成回測結(jié)果優(yōu)異,樣本外跟蹤表現(xiàn)不佳的情況。在本文中,我們討論如何篩選有效的財務因子,提出一種系統(tǒng)性地運用機器學習方法篩選資產(chǎn)負債表、利潤表、現(xiàn)金流量表中的財務因子的方法。文中也展示了基于風格因子和財務因子的機
5、器學習模型的選股能力。方法篩選因子的邏輯我們基于眾多的財務、行情數(shù)據(jù)計算了數(shù)百個因子。一方面,不同的因子在同一時期的表現(xiàn)不同;另一方面,同一因子在不同的時期表現(xiàn)也不相同,這兩點是我們進行因子篩選的底層邏輯。此外,相對于使用所有因子的方法,篩因子的方法可以顯著降低模型的復雜度和過擬合風險,同時也能夠規(guī)避在樣本外規(guī)律發(fā)生反轉(zhuǎn)的因子??陀^的因子篩選減少了數(shù)據(jù)窺探偏誤。根據(jù)一套客觀的方法論來動態(tài)篩選因子,可以更好地防止數(shù)據(jù)窺探的發(fā)生。相對而言,如果主觀選擇一批因子再進行回測,或有一定的“未來函數(shù)”的嫌疑,因為人們可以根據(jù)對過往的歷史數(shù)據(jù)進行觀察,事后選出歷史上有效的因子,再運用這些因子進行選股。噪音與
6、信號在任意一個時期,我們考察期初的因子值與股票在該時期的收益率之間的關(guān)系,我們可以將因子劃分為以下兩個類別:信號因子,因子值與股票收益之間存在相關(guān)性,這種相關(guān)性并不局限于線性關(guān)系。無論相關(guān)性是否線性,我們都可以根據(jù)這種相關(guān)性進行選股。噪音因子,因子值與股票收益之間不存在顯著的相關(guān)性,我們無法根據(jù)這類因子進行選股。因子篩選的第一個任務,就是基于歷史數(shù)據(jù)篩選出信號因子并排除噪音因子。因子動量在連續(xù)的多個時期中,因子值與股票收益率之間的關(guān)系可能是時變的。例如, 小市值因子從 2015 年初至 2016 年底表現(xiàn)良好,具有非常顯著的超額收益,但該因子卻在 2017 年間經(jīng)歷了顯著回撤。雖然如此,研究歷
7、史上因子的表現(xiàn)依然是有價值的,因為我們可以嘗試利用表現(xiàn)相對穩(wěn)定的因子的動量效應,即認為因子的效用會在短期延續(xù)。基于此,篩選因子時,強調(diào)兩個方面的要求:在中長期的歷史統(tǒng)計中,因子是信號因子,與股票收益率之間存在一個統(tǒng)計上顯著的關(guān)系。同樣,這個關(guān)系不限于線性關(guān)系。在近期的市場環(huán)境下,這個關(guān)系在統(tǒng)計意義上依然有效。因子庫以及篩選方法我們首先介紹本文使用的基于財務報表的因子庫,然后介紹因子篩選方法。因子庫和預處理本文的因子庫包括 CNE5 的 10 個風格因子以及來自于利潤表的 66 個項目、來自資產(chǎn)負債表的 149 個項目和來自現(xiàn)金流量表的 86 個項目,上述每個因子均衍生出兩個因子,即其季度和年度
8、增速。所有財務數(shù)據(jù)的列表見附錄。因子預處理的第一步為無量綱化處理。對于這些項目中的大多數(shù),并不使用項目的原始數(shù)值,因為總量類項目具有很大的量綱,例如,總營收、總利潤等。對于這些總量類項目,我們將其數(shù)值除以公司的總資產(chǎn)。其余的均為比例類項目, 例如凈資產(chǎn)回報率、總資產(chǎn)回報率等,對于這些項目,直接使用原始值。第二步是舍棄空值比例較大的項目,如果一個項目的空值比例達 40%以上, 則舍棄該項目。第三步是中位數(shù)去極值處理,為了避免財務因子極端值對模型的不利影響, 對每一個財務因子,在每一個橫截面上,我們采用式(1)的中位數(shù)去極值的方法去除極端值。 = + , + , ,(1)其中,是任意一個財務因子的
9、值,是因子值在橫截面上的中位數(shù),D是序列|x xm|的中位數(shù),n是一個參數(shù),本文中取 3,而為去極值后的結(jié)果。第四步是填空值,對于每一個項目,將空值填為橫截面上的中位數(shù)。我們認為這比填零更好,因為填中位數(shù)表示該個股在該項目上的值是中性的,盡可能避免未知數(shù)值的因子發(fā)揮選股作用。篩選因子時間點本文使用風格因子以及財報數(shù)據(jù),其中風格因子為日頻率數(shù)據(jù),而財報數(shù)據(jù)在每年有三次集中披露。我們主要使用季度數(shù)據(jù),A 股上市公司一季報、半年報和三季報的披露截止時間分別為 4 月 30 日、8 月 31 日和 10 月 31 日。我們在這三個日期后的首個交易日進行橫截面選股,即每年只進行三次選股。選股的時間點不宜
10、早于或者晚于上述三個披露截止日期,一方面,如果早于截止日期,部分公司尚未披露最新的財務數(shù)據(jù),會出現(xiàn)將不同季度的數(shù)據(jù)進行對比的情況而有失公允;另一方面,如果晚于截止日期進行選股,則信息失去了時效性。邊際篩選我們采用邊際篩選的方式從因子庫中逐個篩選有效的因子加入當前因子池。在每次篩選的起點,我們將 CNE5 的十個風格因子作為初始因子池,遍歷因子庫中所有的因子,評價各個因子的邊際貢獻,挑選邊際貢獻最高的因子入選因子池。接下來重復這一過程,逐個在邊際上篩選有效的因子。這種篩選方法比較消耗算力,假設(shè)庫中有個因子,最終邊際篩選個因子, 則單因子邊際評價需要進行(2 + 1)/2次,時間復雜度為()。雖然
11、如此, 其效果顯著好于對所有因子的單次遍歷并篩選評價指標最高的個因子的方法。如果僅對因子進行單次遍歷,一方面,多個高度線性相關(guān)的有效因子會同時入選因子池,而這些因子互相間幾乎不提供增量信息,卻增加模型的復雜度和過擬合風險;另一方面,單次遍歷的篩選方式也完全忽略了不同財務因子間的交互效應。如我們在研報利用機器學習捕捉因子的非線性效應德邦金工機器學習專題之一中所述,因子的交互效應在一些場景下是重要的。因子評價邊際篩選因子時,我們需要對未入選的各個單因子的邊際貢獻進行評價。對于某個待選單因子,首先評價加入前的因子池的得分,再評價加入后的因子池得分,兩個得分之差即為的邊際貢獻,邊際貢獻可能為正數(shù)或負數(shù)
12、。我們采用訓練集驗證集的方式對一個因子池進行評價。對于任意一個時間點,我們把前三次季報的數(shù)據(jù)作為驗證集(驗證集的股票收益率均已知),把比驗證集更早九次季報的數(shù)據(jù)作為訓練集。我們將相鄰兩個披露截止日期間的所有股票回報記為,將前一個截止日期的風格因子和常數(shù)列記為,首先 WLS 回歸股票收益率: = + ,(2)其中,為股票的特質(zhì)收益率,為回歸得到的系數(shù)。通常,基于風格因子的線性回歸對收益的解釋力度較低,即為股票收益的絕大部分。將有個財務因子的矩陣記為,隨機森林的輸入為和,輸出為,用訓練集數(shù)據(jù)訓練一個隨機森林模型。接下來,將擬合得到的隨機森林模型作用于驗證集的風格和財務因子上,得到驗證集的各個季度的
13、預測值1, 2, , ,對應地,各期的實際特質(zhì)收益率為1, 2, , 。對驗證集的各個季度,計算秩相關(guān)系數(shù): = ( , ), = 1,2, , ,(3)其中,(,)為計算秩相關(guān)系數(shù)的函數(shù)。因子池, 的最終得分即是驗證集各期相關(guān)系數(shù)的代數(shù)平均數(shù)。以下,我們對上述因子池評價的方法做幾個關(guān)于模型原理、選擇和參數(shù)調(diào)節(jié)的討論:我們選擇基于回歸決策樹的隨機森林進行因子篩選,做出這一選擇的主要原因是隨機森林模型具有強大的抗過擬合能力和相對較快的運算速度。隨機森林方法的核心概念在于自助采樣(bootstrap sampling):給定個樣本的數(shù)據(jù)集,有放回地隨機抽取一個樣本放入采樣集中,經(jīng)過次采樣, 可得到
14、一個和原始數(shù)據(jù)集一樣大小的采樣集,由于有放回抽樣,通常每個采樣集和原始數(shù)據(jù)集不一樣。對于有個回歸決策樹的隨機森林,需要通過上述抽樣方法得到個采樣集,用每個采樣集訓練一個決策樹模型,最終的模型輸出為各個決策樹輸出的均值。單一的決策樹有較強的過擬合傾向,但是他通過計算個決策樹的輸出的均值,可以大幅度緩解過擬合。將因子的總數(shù)量記為,我們選擇決策樹數(shù)量的數(shù)值為: = (10 ln(),(4)其中()為向上取整函數(shù),隨著因子數(shù)量增多而緩慢增加?;貧w決策樹從訓練集中不斷選取具有分類能力的特征,在每個分支節(jié)點, 決策樹選擇重要性最高的特征劃分數(shù)據(jù)集。由于每個決策樹的樣本數(shù)據(jù)不同,每個決策樹的特征選擇也不盡相
15、同,這構(gòu)成了特征選擇的多樣性。在我們的邊際篩選因子的體系中,后入選的因子往往在較下層的分支節(jié)點才能被決策樹選為分類特征。如果決策樹的深度太淺,則造成欠擬合,如果深度太深,容易造成過擬合。因此,隨著因子數(shù)量的增加,有必要逐漸增加決策樹的深度。同上,我們選擇樹的深度的數(shù)值為因子總數(shù)量的函數(shù): = (2 ln(),(5)訓練集季報數(shù)量和驗證集季報數(shù)量是兩個重要的參數(shù)。一方面,如果使用過多的歷史,則必然要使用較早期的市場數(shù)據(jù),但市場的特征可能已經(jīng)發(fā)生顯著變化,不利于根據(jù)模型在未來做出超額收益。另一方面,如果使用過短的歷史,則存在數(shù)據(jù)量不足、模型訓練效果不佳、容易過擬合的問題。因此,必須權(quán)衡利弊,選擇恰
16、當?shù)闹?。通常,驗證集比訓練集小,但驗證集也不可過小以至于失去了可統(tǒng)計性。綜合考慮各因素之后,我們選擇以近三個季報的數(shù)據(jù)作為驗證集,以更早的九個季報的數(shù)據(jù)作為訓練集。典型情況樣例為幫助讀者對因子篩選的過程形成更加直觀的理解,我們以因子的正向暴露為例,列出幾種典型的情況。規(guī)律穩(wěn)定的因子 A:在訓練集和驗證集上,正向暴露因子 A 可以獲得正超額收益。因子 A 容易通過篩選。規(guī)律反轉(zhuǎn)的因子 B:在訓練集上,正向暴露因子 B 可以獲得正超額收益, 但在驗證集上,正向暴露于因子 B 卻獲得了負的超額收益。因子 B 不容易通過篩選。規(guī)律不確定的因子 C:在訓練集上,正向暴露因子 C 在一半樣本上可以獲得正超
17、額收益,在另一半的樣本上卻得到了負的超額收益。無論因子 C 在驗證集上表現(xiàn)出何種特征,因子 C 均不容易通過篩選。近期失效的因子 D:在訓練集上,正向暴露因子 D 可以獲得超額收益, 但在驗證集上該規(guī)律不復存在。因子 D 不容易通過篩選。共線性的因子 E:若上述因子 A 通過了篩選,而因子 E 與因子 A 高度共線性,則因子 E 不容易通過篩選。噪音因子 F:噪音因子一般不能通過篩選。圖 1 是暴露于上述各種類型的單因子的投資組合的凈值曲線的示意圖。根據(jù)上述特征,各個投資組合的凈值曲線在訓練集、驗證集上呈現(xiàn)出了相應的典型特征。圖 1:各種類型因子的效果示意圖注:虛線以左為訓練集,虛線以右為驗證
18、集。資料來源:所繪制預測模型線性多因子模型我們首先構(gòu)造一個線性多因子模型作為對照組,選股因子的值等于各個入選的因子乘以一個正負號后等權(quán)求和,即: = ,(6)0 其中為輸入因子的值,為因子的標準差,為該因子的符號,該符號由上一期因子的信息系數(shù)的正負號決定。例如,2021.10.31 篩選一批因子,根據(jù) 2021.8.31的因子值和從 2021.8.31 到 2021.10.31 的股票回報計算這批因子上一期的信息系數(shù),若信息系數(shù)為正,則因子符號為正,反之則為負。按照這種方式構(gòu)建的等權(quán)線性基準簡單、易于理解,能較好地說明入選的因子的有效性。機器學習模型列表2.2 節(jié)中介紹的邊際篩選因子的方法消耗
19、的算力較大,因為需要在每個橫截面上訓練大量的隨機森林模型。因此,這也要求使用的機器學習模型運算量相對小。相比之下,基于篩選到的因子訓練預測模型時,訓練模型的次數(shù)較少,故預測模型可以運用更多和更加復雜的機器學習模型,我們使用了包括隨機森林、GBDT、XGBoost、LGBM、AdaBoost、神經(jīng)網(wǎng)絡(luò)、支持向量回歸等機器學習模型。其中前五種機器學習模型都是基于決策樹的模型,具有類似的特性,而后面兩種模型不依賴于決策樹模型。之所以使用較多的模型,是因為不同的模型擬合的不同噪音通?;ハ嘞魅酰瑥亩梢酝怀鲎罱K的選股因子中的信號成分。隨機森林通過多個決策樹訓練樣本,可以快速判斷高維度的數(shù)據(jù),并且可以通過
20、集成的方法抗過擬合。GBDT(梯度提升決策樹)利用前向分布算法,迭代前一輪的弱學習器減少本輪誤差。GBDT 可以防止過擬合、魯棒性強,但計算復雜度相對高。XGBoost(分布式梯度增強)是對梯度提升算法的改進,對損失函數(shù)進行二階泰勒展開且通過加入正則化項控制模型的復雜程度。XGBoost 可并行處理,相較GBDT 精度更高,但因復雜度過高會消耗較多內(nèi)存。LGBM(輕量級的梯度提升樹) 采用直方圖算法降低計算復雜度和內(nèi)存使用,但會損失一定精度。AdaBoost(自適應性增強)賦予難以預測的數(shù)據(jù)更多權(quán)重,同時在每一輪中加入新的弱分類器。AdaBoost 優(yōu)勢在于簡單且精度高,但對異常值較為敏感而且
21、不能并行。神經(jīng)網(wǎng)絡(luò)的節(jié)點(神經(jīng)元)由加權(quán)值(權(quán)重)連接,可以設(shè)置不同的隱藏層數(shù)、層的種類、神經(jīng)元數(shù)和激發(fā)函數(shù),具有較高的自由度,但并不自帶集成功能、容易過擬合。支持向量回歸需定義一個偏差值,當模型輸出和真實輸出之間的差的絕對值大于偏差值時計算損失并最小化損失。支持向量回歸可以解決小樣本和非線性問題,但不適用于超大數(shù)據(jù)集,且對缺失數(shù)據(jù)較為敏感。總體來說,不同的機器學習模型各有千秋, 難以絕對、單一地進行評判。在預測股票特質(zhì)收益率的應用場景中,由于數(shù)據(jù)的噪音很大,很大程度上我們是在利用異質(zhì)的模型去擬合不同的噪音,并期望在集成模型中抑制噪音。模型動態(tài)篩選與加權(quán)眾多機器學習模型的機理或參數(shù)各有差異,因
22、此,如果以模型篩選的股票的超額收益來進行評價,則必然存在“好”和“差”的模型,好的模型帶來正超額收益, 差的模型帶來負超額收益。需要強調(diào)的是,我們必須以動態(tài)的眼光來評價模型, 因為同一個模型在每個時期的表現(xiàn)不盡相同。在篩選模型時,需要明確以下幾個方面:集成模型中使用的機器學習模型的種類和個數(shù)各個模型使用的參數(shù),包括模型的參數(shù)和輸入因子的個數(shù)集成模型中各個模型的權(quán)重在構(gòu)建預測模型之前,我們通過邊際篩選因子的方式,對全部因子的有效性進行了排序,但并沒有確定機器學習模型具體該用多少個因子,因此有必要在構(gòu)建預測模型階段確定使用的因子的數(shù)量。通常而言,對于集成的樹模型(隨機森林、GBDT、XGBoost
23、、LGBM、AdaBoost)而言,模型對于輸入因子的數(shù)量不敏感,即使添加一個噪音輸入,模型的表現(xiàn)也不會顯著變差。然而,對于其他模型, 因子數(shù)量過多會引入過多的噪音,可能使得模型的表現(xiàn)顯著下降。實際上,選擇模型階段,有較大的可能性發(fā)生數(shù)據(jù)窺探,即測試者嘗試用不同的模型進行滾動訓練和回測,然后最終選擇使得回測結(jié)果最優(yōu)的模型。數(shù)據(jù)窺探的一個可能后果是,策略在歷史回測中表現(xiàn)優(yōu)異,而樣本外實盤跟蹤效果不佳。為了盡可能地規(guī)避選擇模型階段的數(shù)據(jù)窺探問題,我們用一種系統(tǒng)化的方式來篩選模型并對模型預測值進行加權(quán)。與篩選因子的思路類似,我們采用驗證集評價的方式篩選模型。同樣地,以過去三期的季報為驗證集,以更早的
24、九期季報為訓練集,考察不同模型在驗證集上的選股能力。我們更關(guān)心組合的多頭收益而非多空收益,因此定義一個多頭分位數(shù)指標來衡量因子的多頭選股能力。指標的計算方法如下:首先計算每個股票在全市場收益率排名的分位數(shù),跌幅最大的股票分位數(shù)為 0,漲幅最大的股票分位數(shù)為 1,然后計算選股因子值最大的全市場 20%的股票的平均分位數(shù)。我們以驗證集的三個季度的多頭分位數(shù)的平均值作為模型的評價指標,該指標越大,說明模型在歷史上有越好、越穩(wěn)定的表現(xiàn)。對于任意一個模型M(),其中代表模型的序號,代表模型的輸入因子數(shù)(例如,如果輸入 10 個風格因子和1 個財務因子,則 = 11),那么是的一個函數(shù),我們找到使得最大的
25、輸入因子數(shù),即: = argmax ().(7)我們把模型M在驗證集上最大的多頭分位數(shù)記為,即 = (),如果該數(shù)值大于 0.5,則入選股票的表現(xiàn)總體上強于市場,如果數(shù)值小于 0.5,則入選股票總體上弱于市場。如果選股因子是一個噪音,那么的數(shù)值應該很接近 0.5?;诖耍覀兌x模型M的權(quán)重為: = max( 0.5, 0).(8)根據(jù)式(8),如果一個因子越接近于噪音,則其權(quán)重就越低。最終的集成模型的因子值的計算方法為: = ,(9) 其中,為模型M預測的因子值,為因子值的標準差。我們使用眾多機器學習模型,對于這些模型中“差”的機器學習模型,有兩種可能性:第一,其不超過 0.5,則其權(quán)重為零
26、,不對結(jié)果產(chǎn)生影響;第二,其僅略高于 0.5,則其權(quán)重非常低,對結(jié)果影響微乎其微。因此,因子值對于低質(zhì)量的模型并不敏感。確定了各個機器學習模型使用的因子數(shù)量和權(quán)重,最終的預測模型使用過去十二期季報的數(shù)據(jù)進行訓練,并以根據(jù)最新一期季報的數(shù)據(jù)進行預測。投資組合構(gòu)造方法為便于調(diào)倉,我們規(guī)定調(diào)倉日期為每個月的第一個非節(jié)假日的星期一。我們采用一種較保守的回測方式,在每個調(diào)倉日排除以下情況的股票:暫停交易ST 或*ST收盤漲停上市不滿 20 日的股票我們在不同的股票池內(nèi)進行選股,包括滬深 300 指數(shù)成分、中證 500 指數(shù)成分、中證 1000 指數(shù)成分和全市場。在任意一個股票池內(nèi)進行選股時,可以按照兩種
27、不同的方式進行分組:對所有成分股,根據(jù)因子值的大小進行排序和均勻分組。對全市場的股票,根據(jù)因子值的大小進行排序和均勻分組,隨后,各個分組的股票再和股票池成分取交集。顯然,若在全市場選股,則分組是均勻的。在指數(shù)成分股內(nèi)選股的情況下,按照方法一,各個分組的股票數(shù)量是均勻,按照方法二,各個分組的股票數(shù)量可能存在一定差異。我們傾向于使用方法二進行分組,因為這種方法更好地表達了選股因子的觀點,然而,如果各個分組股票數(shù)量差異過大,我們選用方法一進行分組。具體來說,對于滬深 300 指數(shù)成分,我們選用方法一,對其他情況均采用方法二。下文中,我們將方法一稱為均勻分組法,將方法二稱為非均勻分組法。結(jié)果篩選因子我
28、們在每個最接近披露截止日期的交易日進行因子篩選,圖 2 顯示了各年度和各季度篩選因子的驗證集 RankIC,圖例中顯示的時間是篩選因子的日期,對于每一個日期,均以前三次季報的數(shù)據(jù)作為驗證集,以更早的九次報告的數(shù)據(jù)作為訓練集,訓練和驗證因子篩選模型。圖 2 的第一行子圖的驗證集對應于八月底的因子和從八月底至十月底的收益率;第二行子圖的驗證集對應于上一年十月底的因子和從上一年十月底至四月底的收益率;第三行子圖的驗證集對應于四月底的因子和從四月底至八月底的收益率。圖 2:驗證集 RankICWind,總體上,圖 2 中各條曲線的走勢相近,隨著財務因子數(shù)量的增加,RankIC 先平緩增加,再趨于平緩。
29、篩選的起點是 10 個風格因子,因此,第 11 個因子是首個財務因子。圖 2 表明,引入首個財務因子的邊際提升最明顯,因為相對最有效的財務因子會被首先挑選出來。從第 17 個財務因子起,驗證集 RankIC 隨著因子數(shù)量的增加不再有顯著變化,這是因為因子庫中有效的因子的總數(shù)并不多。表 1 列舉了各個年度、季度前五個被篩選出的財務因子的列表,因子按照被篩選出來的順序從上往下排列。一個具有代表性的例子是凈資產(chǎn)回報率(ROE),根據(jù)傳統(tǒng)的有效性檢驗方法的結(jié)果,該指標有效性的分水嶺是 2017 年,在 2017年前后該指標由無效變得有效。而在我們提出的動態(tài)篩選因子的框架中,自 2018年三季度起凈資產(chǎn)
30、回報率密集入選前五名有效因子,而此前很少入選。根據(jù)表 1,多數(shù)入選財務因子與利潤、營收以及增速相關(guān),部分與現(xiàn)金流、負債、費用以及增速相關(guān),篩選結(jié)果比較符合通常的認知。另一方面,少數(shù)不太常用的財務因子,例如應交稅費的年度增速、應付職工薪酬等因子也偶爾入選,說明這些非常用因子在某些時期也能發(fā)揮一定的選股作用。表 1:各季度入選的前五個因子2015.042015.082015.10固定資產(chǎn)固定資產(chǎn)凈利潤_年度增速季度凈資產(chǎn)回報率年度增速應收票據(jù)_季度增速固定資產(chǎn)折舊、油氣資產(chǎn)折耗、生物性生物資產(chǎn)折舊_年度增速銷售費用_年度增速投資凈收益_季度增速基本每股收益_年度增速管理費用基本每股收益_年度增速綜
31、合收益總額應收票據(jù)_季度增速動量_季度增速無形資產(chǎn)攤銷2016.042016.082016.10歸屬母公司股東的凈利潤_年度增速營業(yè)利潤_年度增速凈利潤_年度增速固定資產(chǎn)(合計)應付職工薪酬負債合計_年度增速管理費用銷售商品、提供勞務收到的現(xiàn)金_季 非流動資產(chǎn)合計_年度增速度增速固定資產(chǎn)折舊、油氣資產(chǎn)折耗、生物性生物資產(chǎn)折舊_年度增速資產(chǎn)總計_季度增速處置固定資產(chǎn)、無形資產(chǎn)和其他長期資產(chǎn)收回的現(xiàn)金凈額_ 季度增速貨幣資金_季度增速分配股利、利潤和償付利息所支付的基本每股收益現(xiàn)金2017.042017.082017.10其他應付款利潤總額營業(yè)總收入_年度增速資產(chǎn)總計_季度增速少數(shù)股東權(quán)益_年度增
32、速預收賬款營業(yè)利潤_年度增速負債合計_年度增速歸屬母公司普通股東綜合收益總額經(jīng)營活動現(xiàn)金流入小計_年度增速支付的其他與經(jīng)營活動有關(guān)的現(xiàn)金盈余公積金_季度增速應收票據(jù)及應收賬款流動負債合計存貨_季度增速2018.042018.082018.10稀釋每股收益稀釋每股收益歸屬母公司股東的凈利潤應交稅費_年度增速季度凈資產(chǎn)回報率季度增速季度凈資產(chǎn)回報率長期借款財務費用季度凈資產(chǎn)回報率年度增速管理費用財務費用_年度增速籌資活動現(xiàn)金流出小計_季度增速少數(shù)股東權(quán)益歸屬母公司普通股東綜合收益總額資本公積金_年度增速2019.042019.082019.10凈利潤利潤總額_季度增速支付給職工以及為職工支付的現(xiàn)金
33、流動資產(chǎn)合計_季度增速預收賬款_年度增速季度凈資產(chǎn)回報率季度增速稀釋每股收益_季度增速投資活動現(xiàn)金流出小計_季度增速營業(yè)總收入_年度增速基本每股收益_年度增速經(jīng)營活動現(xiàn)金流入小計_季度增速利潤總額_年度增速投資活動現(xiàn)金流出小計_年度增速固定資產(chǎn)報廢損失_季度增速經(jīng)營活動產(chǎn)生的現(xiàn)金流量凈額2020.042020.082020.10營業(yè)總收入_年度增速稀釋每股收益凈利潤購建固定資產(chǎn)、無形資產(chǎn)和其他長期資產(chǎn)支付的現(xiàn)金營業(yè)總收入_年度增速凈利潤_年度增速經(jīng)營活動現(xiàn)金流出小計支付給職工以及為職工支付的現(xiàn)金應付票據(jù)及應付賬款收到的稅費返還綜合收益總額_季度增速季度凈資產(chǎn)回報率季度增速未分配利潤_季度增速長
34、期股權(quán)投資_年度增速期末現(xiàn)金及現(xiàn)金等價物余額_年度增速2021.042021.082021.10季度凈資產(chǎn)回報率季度凈資產(chǎn)回報率固定資產(chǎn)折舊、油氣資產(chǎn)折耗、生物性生物資產(chǎn)折舊收到其他與經(jīng)營活動有關(guān)的現(xiàn)金營業(yè)利潤_年度增速所得稅_季度增速凈利潤市值_季度增速存貨預付賬款_年度增速營業(yè)總收入_季度增速收到其他與籌資活動有關(guān)的現(xiàn)金_季度增速凈利潤稀釋每股收益_季度增速應交稅費_季度增速Wind,分組回測首先,我們根據(jù)式(6)計算線性多因子模型的因子值,限于篇幅,我們僅展示該因子在全市場做分組回測的結(jié)果。我們根據(jù)式(7)計算了合成因子并測試了該因子在不同股票池內(nèi)的表現(xiàn),包括滬深 300 指數(shù)、中證 5
35、00 指數(shù)、中證 1000 指數(shù)和全市場。我們發(fā)現(xiàn),該因子在各個股票池內(nèi)都有顯著的選股效果。線性多因子模型圖 3 顯示了線性多因子模型的全市場信息系數(shù),平均 RankIC 為 0.06,Rank ICIR 為 0.61。雖然因子有一定選股能力,但總體表現(xiàn)差強人意。這是因為線性多因子模型過于簡單,并且只依賴于單期的數(shù)據(jù),穩(wěn)定性比較弱。圖 3:線性多因子模型的全市場信息系數(shù),圖 4 顯示了根據(jù)線性多因子模型因子在全市場分組回測的結(jié)果,采用等權(quán)的方式構(gòu)造投資組合,基準為中證 1000 指數(shù)。從全回測期的超額收益來看,分組有較好的單調(diào)性,說明入選的因子總體上是有效的。然而,組 5 的超額收益并不高。從
36、超額收益的時間序列來看,在整個回測期其穩(wěn)定性較差。圖 4:全市場分組回測,基于線性多因子模型注:等權(quán)構(gòu)造組合,均勻分組,基準為中證 1000 指數(shù)。,如果使用該因子在滬深 300 指數(shù)、中證 500 指數(shù)、中證 1000 指數(shù)成分股內(nèi)進行分組回測,表現(xiàn)同樣差強人意。此外,我們嘗試了使用過去三期、六期、十二期的數(shù)據(jù)做線性回歸來確定因子符號的方法,結(jié)果均不夠理想,限于篇幅我們不逐一展示。以下,我們僅展示基于機器學習集成模型計算的選股因子的回測結(jié)果。滬深 300 指數(shù)增強根據(jù)機器學習集成模型因子在滬深 300 指數(shù)成分內(nèi)選股,從 2014-10-31 至2021-08-30,因子各期 RankIC
37、的時間序列見圖 5,平均 RankIC 為 0.142,RankICIR 為 1.037。在絕大部分時期,因子的 RankIC 為正。由于 RankIC 指標反映的是池內(nèi)的股票的收益率與因子值的秩相關(guān)系數(shù),總體上反映了因子的多空收益水平,因此,即使 RankIC 的數(shù)值為負數(shù),多頭組也并非絕對弱于整個股票池的平均水平。因此,我們需要綜合考察 RankIC 和分組回測的結(jié)果來考察因子的表現(xiàn)。圖 6 顯示了滬深 300 指數(shù)成分股的分組回測的結(jié)果。考慮到滬深 300 指數(shù)的構(gòu)造方法,我們在構(gòu)建投資組合時使各個股票按照自由流通市值加權(quán)。在回測時期內(nèi),多頭組 5 的年化超額收益為 12.6%,組 1
38、的空頭收益為 6.4%。黑色的虛線為組 5 相對組 1 的多空收益曲線,該曲線具有整體上行的趨勢,但波動較大。紅色的實線顯示了多頭組 5 相對于滬深 300 指數(shù)的超額收益,該超額收益曲線較為穩(wěn)健。多頭組 5 的分年度表現(xiàn)見表 2,超額收益在近六年均正。多頭組 5 的年均雙邊換手率僅為 3.62,組合的換手率極低。圖 5:滬深 300 指數(shù)成分內(nèi)的信息系數(shù),圖 6:滬深 300 指數(shù)成分股分組回測注:按照自由流通市值加權(quán)構(gòu)造組合,均勻分組,基準為滬深 300 指數(shù)。,表 2:滬深 300 指數(shù)成分股組 5 的分年度表現(xiàn)20152016201720182019202020212015 年初至今策
39、略年化收益率-0.01-0.050.42-0.110.620.54-0.020.21基準年化收益率0.06-0.120.22-0.260.370.28-0.050.09超額年化收益率-0.070.060.190.150.250.250.030.13策略年化波動率0.410.190.120.240.210.250.240.25基準年化波動率0.390.210.10.210.20.230.180.23超額年化波動率0.130.070.060.070.080.080.10.09策略夏普比率(rf=2%)-0.08-0.43.27-0.542.922.1-0.170.77基準夏普比率(rf=2%)0.
40、1-0.652.02-1.311.781.15-0.40.28信息比率-0.520.913.462.153.0730.311.42策略最大回撤0.440.170.070.210.110.170.240.44策略最大回撤起始2015-06-082016-01-062017-11-212018-01-262019-04-192020-03-052021-02-102015-06-08策略最大回撤終止2015-08-252016-01-282017-12-072018-10-292019-05-092020-03-232021-03-242015-08-25基準最大回撤0.430.190.060.3
41、20.130.160.180.47基準最大回撤起始2015-06-082016-01-062017-11-222018-01-242019-04-192020-03-052021-02-102015-06-08基準最大回撤終止2015-08-262016-01-282017-12-072018-12-272019-06-062020-03-232021-07-272016-01-28超額最大回撤0.160.040.030.030.060.070.110.16超額最大回撤起始2015-01-152016-09-262017-11-162018-02-222019-02-142020-04-282
42、021-02-102015-01-15超額最大回撤終止2015-08-172016-11-172017-11-272018-04-182019-03-072020-08-032021-03-162015-08-17策略卡瑪比率-0.03-0.315.77-0.525.583.18-0.090.49基準卡瑪比率0.13-0.63.69-0.812.751.75-0.290.18超額卡瑪比率-0.441.617.455.494.323.570.280.83注:按照自由流通市值加權(quán)構(gòu)造組合,均勻分組,基準為滬深 300 指數(shù)。Wind,中證 500 指數(shù)增強根據(jù)機器學習集成模型因子在中證 500 指
43、數(shù)成分內(nèi)選股,從 2014-10-31 至2021-08-30,因子各期 RankIC 的時間序列見圖 7,平均 RankIC 為 0.082,Rank ICIR 為 0.705。因子的 RankIC 在多數(shù)時期為正。圖 7:中證 500 指數(shù)成分內(nèi)的信息系數(shù),圖 8 顯示了中證 500 指數(shù)成分股的分組回測的結(jié)果。我們采用各個股票等權(quán)的方式構(gòu)造組合。在回測期內(nèi),五組的單調(diào)性好,多頭組 5 的超額收益接近 10%, 超額收益穩(wěn)定性極佳。多頭組 5 的分年度表現(xiàn)見表 3,超額收益在全部年份均為正。組合的年均雙邊換手率為 4.28,換手率較低。圖 8:中證 500 分組回測注:等權(quán)構(gòu)造組合,非均勻
44、分組,基準為中證 500 指數(shù)。Wind,表 3:中證 500 指數(shù)成分股組 5 的分年度表現(xiàn)20152016201720182019202020212015 年初至今策略年化收益率0.67-0.170.11-0.250.310.350.380.14基準年化收益率0.44-0.180-0.340.270.220.160.04超額年化收益率0.220.020.110.090.040.130.220.1策略年化波動率0.490.30.160.250.220.270.160.28基準年化波動率0.450.290.150.240.230.260.150.27超額年化波動率0.090.040.040.0
45、50.060.060.070.06策略夏普比率(rf=2%)1.33-0.610.59-1.111.351.192.170.43基準夏普比率(rf=2%)0.95-0.7-0.15-1.51.080.770.920.09信息比率2.580.463.041.90.732.143.031.65策略最大回撤0.510.260.140.320.170.170.080.52策略最大回撤起始2015-06-122016-01-062017-04-132018-01-242019-04-042020-02-252021-02-192015-06-12策略最大回撤終止2015-09-152016-01-282
46、017-06-012018-10-182019-06-062020-03-232021-03-102018-10-18基準最大回撤0.510.250.140.380.220.150.10.65基準最大回撤起始2015-06-122016-01-062017-04-112018-01-082019-04-042020-02-252021-02-192015-06-12基準最大回撤終止2015-09-152016-01-282017-06-012018-10-182019-08-092020-03-232021-03-102018-10-18超額最大回撤0.050.030.020.030.050.
47、040.030.09超額最大回撤起始2015-03-252016-09-122017-08-072018-07-132019-01-312020-08-072021-10-132014-10-31超額最大回撤終止2015-04-202016-12-282017-08-232018-09-172019-03-072020-09-092021-10-212014-12-30策略卡瑪比率1.3-0.640.83-0.791.852.014.590.27基準卡瑪比率0.88-0.72-0.02-0.911.251.411.680.07超額卡瑪比率4.750.534.932.840.773.616.98
48、1.05注:等權(quán)構(gòu)造組合,非均勻分組,基準為中證 500 指數(shù)。Wind,中證 1000 指數(shù)增強根據(jù)機器學習集成模型因子在中證 1000 指數(shù)成分股內(nèi)的 RankIC 見圖 9。圖 9:中證 1000 指數(shù)成分內(nèi)的信息系數(shù),從 2014-10-31 至 2021-08-30,平均 RankIC 為 0.09,Rank ICIR 為 0.973。因子的 RankIC 在絕大多數(shù)時期為正。圖 10 顯示了中證 1000 指數(shù)成分股的分組回測的結(jié)果。我們采用各個股票等權(quán)的方式構(gòu)造組合。分組的單調(diào)性好,多頭組 5 的超額收益總體上較為穩(wěn)健,年化超額收益為 11.9%。多頭組 5 的分年度表現(xiàn)見表 4
49、,超額收益在絕大多數(shù)年份為正。組合的年均雙邊換手率為 4.34,換手率較低。圖 10:中證 1000 指數(shù)成分股分組回測注:等權(quán)構(gòu)造組合,非均勻分組,基準為中證 1000 指數(shù)。Wind,表 4:中證 1000 指數(shù)成分股組 5 的分年度表現(xiàn)20152016201720182019202020212015 年初至今策略年化收益率1.35-0.21-0.07-0.320.340.330.450.14基準年化收益率0.79-0.2-0.18-0.380.260.20.210.02超額年化收益率0.5700.10.050.070.130.240.12策略年化波動率0.510.330.170.250.
50、230.280.190.3基準年化波動率0.460.320.160.250.250.270.190.29超額年化波動率0.10.040.030.040.060.050.060.06策略夏普比率(rf=2%)2.63-0.68-0.55-1.361.381.112.30.41基準夏普比率(rf=2%)1.66-0.71-1.22-1.60.980.661.010.01信息比率5.81-0.063.131.241.312.493.792.07策略最大回撤0.540.270.170.380.180.160.090.61策略最大回撤起始2015-06-122016-01-062017-03-16201
51、8-01-082019-04-092020-02-252021-09-082015-06-12策略最大回撤終止2015-09-022016-01-282017-06-012018-10-182019-08-092020-03-232021-10-282018-10-18基準最大回撤0.530.270.20.420.220.160.110.72基準最大回撤起始2015-06-122016-01-062017-01-052018-01-082019-04-042020-02-252021-01-052015-06-12基準最大回撤終止2015-09-152016-01-282017-12-2520
52、18-10-182019-08-092020-04-012021-02-052018-10-18超額最大回撤0.060.040.010.040.060.050.040.06超額最大回撤起始2015-07-312016-07-252017-11-092018-10-222019-01-312020-08-272021-10-122014-12-02超額最大回撤終止2015-09-022016-12-202017-11-232018-11-262019-03-072020-09-092021-10-272015-01-05策略卡瑪比率2.52-0.77-0.45-0.861.892.025.10.
53、24基準卡瑪比率1.48-0.76-0.89-0.891.191.281.890.03超額卡瑪比率9.1-0.067.621.411.312.526.781.95注:等權(quán)構(gòu)造組合,非均勻分組,基準為中證 1000 指數(shù)。,全市場選股機器學習集成模型因子在全市場的 RankIC 見圖 11。從 2014-10-31 至 2021- 08-30,平均 RankIC 為 0.081,Rank ICIR 為 1.037。因子在絕大數(shù)時期的 RankIC 為正。圖 11:全市場的信息系數(shù),圖 12 顯示了全市場分組回測的結(jié)果。我們采用各個股票等權(quán)的方式構(gòu)造組合。分組的單調(diào)性好,多頭組 5 的超額收益非常
54、穩(wěn)健,在全回測區(qū)間未見顯著回撤,年化超額收益率為 12.3%。多頭組 5 的分年度表現(xiàn)見表 5,超額收益在全部年份均為正。組合的年均雙邊換手率為 4.06,換手率較低。圖 12:全市場分組回測注:等權(quán)構(gòu)造組合,均勻分組,基準為中證 1000 指數(shù)。Wind,表 5:全市場組 5 的分年度表現(xiàn)20152016201720182019202020212015 年初至今策略年化收益率0.92-0.130-0.270.350.30.340.14基準年化收益率0.79-0.2-0.18-0.380.260.20.210.02超額年化收益率0.140.080.180.10.080.10.130.12策略年
55、化波動率0.460.30.150.240.220.260.170.28基準年化波動率0.460.320.160.250.250.270.190.29超額年化波動率0.090.040.040.050.060.050.060.06策略夏普比率(rf=2%)1.99-0.5-0.1-1.21.491.081.840.47基準夏普比率(rf=2%)1.66-0.71-1.22-1.60.980.661.010.01信息比率1.591.724.491.971.432.222.032.16策略最大回撤0.510.250.140.330.170.150.10.51策略最大回撤起始2015-06-122016
56、-01-062017-03-162018-01-092019-04-092020-02-252021-09-082015-06-12策略最大回撤終止2015-09-152016-01-282017-06-012018-10-182019-08-092020-03-232021-10-282018-10-18基準最大回撤0.530.270.20.420.220.160.110.72基準最大回撤起始2015-06-122016-01-062017-01-052018-01-082019-04-042020-02-252021-01-052015-06-12基準最大回撤終止2015-09-15201
57、6-01-282017-12-252018-10-182019-08-092020-04-012021-02-052018-10-18超額最大回撤0.070.030.010.040.070.040.050.07超額最大回撤起始2015-01-162016-03-042017-11-212018-10-222019-01-312020-08-272021-10-122015-01-16超額最大回撤終止2015-06-182016-04-142017-12-152018-11-272019-03-072020-09-092021-10-272015-06-18策略卡瑪比率1.81-0.520.03
58、-0.832.042.063.440.29基準卡瑪比率1.48-0.76-0.89-0.891.191.281.890.03超額卡瑪比率2.032.9113.022.51.212.772.71.84注:等權(quán)構(gòu)造組合,均勻分組,基準為中證 1000 指數(shù)。,結(jié)論本文基于動態(tài)因子和模型篩選的方法構(gòu)建了一個在大、中、小盤股中均有效的選股策略。財務因子的效應在不同的時期不盡相同,因此,我們需要選擇在當前時期最可能有效的財務因子來進行選股。另一方面,根據(jù)一套客觀的方法進行因子篩選可以減少數(shù)據(jù)窺探偏誤,提高回測結(jié)果的可信程度。首先,我們需要排除噪音因子并篩選信號因子。然而,信號因子的規(guī)律可能在不同的時期發(fā)
59、生反轉(zhuǎn),因此, 需要尋找規(guī)律穩(wěn)定的因子。本質(zhì)上,這是利用因子的動量。我們選擇一季度報、中報和三季度報披露的截止日期進行因子篩選。這樣兼顧了數(shù)據(jù)的及時性與同步性。我們以十個 CNE5 風格因子為起點,用邊際篩選因子的方法逐步擴大因子池, 即在邊際上逐個篩選信息增益最大的因子,重復這個操作直到獲得足夠多的因子。我們以驗證集評價的方式對因子池整體的有效性進行打分。篩選因子的結(jié)果表明, 前幾個入選的財務因子的邊際貢獻顯著,后入選的財務因子作用很有限。在模型層面,我們構(gòu)建了一個機器學習集成模型。集成模型中,我們使用了包括隨機森林、GBDT、XGBoost、LGBM、AdaBoost、神經(jīng)網(wǎng)絡(luò)、支持向量回
60、歸等各類機器學習模型。使用不同種類的機器學習模型,可以盡可能抑制最終的選股因子中的噪音。在每一期選股時,我們依然采用驗證集評價的方式來篩選樣本內(nèi)有效的模型,并將其運用于樣本外。這種基于一套客觀方法篩選模型的方法既有利于提高模型的表現(xiàn),也有利于規(guī)避模型層面的數(shù)據(jù)窺探誤區(qū)。我們同樣構(gòu)建了一個線性多因子模型作為對照組,機器學習集成模型的表現(xiàn)遠超過線性多因子模型。我們展示了機器學習集成模型計算的選股因子的在滬深 300 指數(shù)成分、中證500 指數(shù)成分、中證 1000 指數(shù)成分和全市場中的選股能力,在各個股票池中,模型都能取得較高且穩(wěn)定的超額收益。附錄:財務數(shù)據(jù)列表表 6:本文使用的風格因子、財務項目列
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冀中能源合同范本
- 出售鏟車合同范本
- 公墓出售合同范本
- 文具行業(yè)的信息安全與數(shù)據(jù)保護考核試卷
- 農(nóng)機隊耕種合同范例
- 業(yè)主單位合同范本
- 供暖管道維修投標合同范本
- 公司發(fā)勞動合同范例
- 室內(nèi)游藝器材市場營銷策略考核試卷
- 家用空調(diào)系統(tǒng)維護與調(diào)試考核試卷
- 川2020J146-TJ 建筑用輕質(zhì)隔墻條板構(gòu)造圖集
- (完整)讀歌詞猜歌名
- 八年級下開學第一課主題班會
- 初中英語人教版 八年級上冊 單詞默寫表 漢譯英
- pcs-9611d-x說明書國內(nèi)中文標準版
- GB/T 1634.1-2004塑料負荷變形溫度的測定第1部分:通用試驗方法
- 無人機航拍技術(shù)理論考核試題題庫及答案
- T∕CMATB 9002-2021 兒童肉類制品通用要求
- 工序勞務分包管理課件
- 暖通空調(diào)(陸亞俊編)課件
- 工藝評審報告
評論
0/150
提交評論