張 樂,張忠能
“投資時鐘”模型是美國華爾街金融人士提出的一種將經濟周期與資產和行業輪動聯系起來的方法。該模型將經濟周期分為四個階段:衰退、復蘇、過熱和滯脹。每一個階段都對應著表現超過大市的某一特定資產類別:債券、股票、大宗商品或現金。本文通過計算機手段借助中國股票市場模擬實現投資時鐘模型,通過觀察標準化數據直觀圖,分析其應用效果。
美林證券2004年提出了“投資時鐘”理論,該理論是一種自上而下,基于經濟階段劃分,實現資產輪動和行業輪動的投資方法。通過分析30年的美國市場數據,美林驗證了以下原理:經濟是有周期的,且可以根據CPI 和產出的變化趨勢將經濟周期劃分為復蘇、過熱、滯脹和收縮四個不同階段,如圖1所示:

圖1 投資時鐘圖形
不同行業在不同經濟階段相對表現不同;在不同的經濟階段,可以通過配置優勢資產類別和優勢行業來獲利。[1]
“投資時鐘”理論在美國得到了廣大投資者的認可,而在我國,由于股票市場才20年,相關研究則較少,而通過計算機技術的方式進行劃分和研究的則基本還是空白,要將這個模型應用實現,需要通過建造一個金融數據庫,然后分析板塊與指數間的關系,通過市盈率凈利潤等財務指標才能得到不同行業板塊在各個時期的表現與差異。
為了對中國股票市場進行研究,首先需要取得A 股市場所有股票的財務數據和歷史行情數據。因此搭建一個便于研究的金融數據庫是必不可少的。
由于研究的是過往的走勢情況,因此數據采集的內容主要分為財務數據和走勢數據。這兩類數據均從wind 金融終端中導入到SQL SERVER 數據庫中。所有上市公司歷年的財務數據方面,為了方便研究,截取的財務指標為公司的單季度凈利潤總額情況、凈資產、股本大小,時間周期為季度,與公司每年出具的財務報表時間相同。走勢數據方面,截取的數據則均為公司在市場交易階段的歷史數據,包括過去5年公司每日復權后成交價,每日總市值與流通市值以及公司的交易代碼,市場交易時間列表等。
A 股市場上目前交易的股票基數龐大且在不斷增多,因此對所有股票分類歸屬顯然是十分有必要的,這也就形成了板塊的概念。一個板塊中,包含了板塊所屬行業的所有公司,它能夠有效的反應出一個行業的整體情況,從而便于研究行業在市場不同階段所代表的特殊屬性。
一個好的板塊劃分是十分重要的。板塊與板塊之間必須保持獨立性,這樣在時鐘模型分析時得出的結果才具有代表性和普遍性。通過比較和研究,可以發現申萬一級行業板塊分類最具有代表性。它將全市場A 股股票分成23 個大類,很好的涵蓋了整個中國經濟的行業分布,同時具有相當的獨立性并被市場所認可。
因此,按照申萬一級行業劃分,創建一個SectorStockPool的分析類,從建立好的數據庫中,分別將各一級行業的下屬公司以code 作為關鍵字讀入對應的pool 中去,每個pool 均有一個tradingstock 子類,該子類包含兩個參數code 和 name,分別代表股票代碼和股票名稱,保存時以數組形式保存,保證A 股全體公司均有唯一對應的申萬板塊屬性,而板塊本身也有code 和name的屬性,code 和申萬板塊的代碼相同。當需要對某個板塊進行分析時,只需調用sectorStockPool 類下的getStocks 函數,通過交易日作為接口,即可將對應板塊下的所有股票代碼方便的調出,具體類函數與參數如下所示:

基礎數據庫框架和板塊構成搭建完成后,就可以開始對各行業的情況進行分析。“投資時鐘”模型中注重對于經濟狀況和市場狀況的聯系,因此,選擇一個同時兼顧實體經濟與市場走勢兩方面變化的指標作為基準十分重要。
市盈率指標(Price to Earning Ratio,以下簡稱PE)是一個十分經典的反應公司投資價值的指標,它表示在一個考察期(通常為12 個月的時間)內,股票的價格和每股收益的比例公式(1)

通過觀察PE的指標公式可以發現,PE 指標的分子每股價格乘以該公司的總股本等于公司的總市值,反應的是公司市場上的認可度,而分母每股凈利潤乘以總股本等于公司當期的凈利潤,反應的是公司當期的發展表現。由此可以得出PE 指標的另一個表達形式,如公式(2)

PE 指標作為金融市場最基礎的指標,是最常用來評估股價水平是否合理的指標之一,但它本身也存在局限性需要改善。
首先,不同行業的公司無法簡單直接對比PE 大小。市場對于各個行業的發展前景認可度不盡相同,對于未來能持續高增長的行業給予認可度較高,因此整個行業的PE 值也往往維持在高位,而對于未來增速較慢甚至會出現負增長的行業則往往給予較低的PE 值。
其次,相同行業在不同時期的PE 標準也不盡相同。周期性行業如有色金屬等和經濟預期情況相關性較大,因此PE 波動范圍也較大,而非周期性行業如食品飲料隨也受到經濟情況影響,但相對影響較小,因此波動較小,不能一概而論。
而不同的凈利潤統計方式也使得PE 計算方法略有不同,靜態市盈率反映數據不夠全面,有的PE 甚至是粗略的用半年報凈利潤乘以2 或單季報乘以4的方式來計算公司的凈利潤情況,這顯然是不全面的。因為很多行業比如白酒行業有明顯的季節性,二、四季度往往是消費高峰期,單季度凈利潤較高,而一、三季度則是淡季,凈利潤相對相對較低,簡單的分析一個季度的數據意義不大。
鑒于PE 指標的特性,在實現“投資時鐘模型”應考慮分3 步走:
首先,分析凈利潤時采用動態分析法,即讀取的公司凈利潤為截止當時狀態下,過去4 個季度的凈利潤之和,這種滑動的凈利潤計算方式,能夠最大程度的反映公司在過去一年中的業績情況。通過讀取公司每個交易日的總市值和滑動凈利潤并進行運算,得到公司每個時間點的滑動PE。
其次,對于同一行業以時間為序列進行標準化處理,直觀的分析出該行業在一段時間內的變化趨勢,并為下一步分析不同行業做準備。
最后,將不同行業第一次標準化的值二次標準化,使得各板塊的走勢在同一坐標體系下能夠很直觀的得到體現,從而能夠分析出不同時期具備投資價值的行業。
具體流程,如圖2所示:

圖2 投資時鐘實現流程圖
通過“投資時鐘”的模型設計可以發現,PE 指標是對板塊分析財務方面指標的重點,然而不同時期,不同行業的橫縱向很難直接進行對比,因此需要平滑pe的數據,同時針對不同時期和行業進行二次標準化,將各行業的數據反映到相同的坐標體系下。“投資時鐘”在股市中實現過程中應包括:滑動EP、一次標準化、二次標準化與輸出識別4 個關鍵模塊。
PE 值的統計是該模型的基礎,必須保證數據的有效性和準確性,否則整個模型的數據都將失去意義。
由滑動PE的公司可知,統計滑動PE 需要由公司的總市值和公司的滑動凈利潤兩個因子構成。
在構建基礎數據庫的時候,已經保留了各家公司每日的市值情況,因此,此處需要考慮的是如何統計板塊的市值情況。在SectorStock pool 類中已經儲存了申萬23 個行業的下屬所有公司的股票代碼,因此,只需要通過調用該類中各板塊下屬個股代碼,并在構建好的數據庫查詢對應市值并求和即可得到所有行業每日的市值變化情況。
而行業凈利潤方面,則選擇到當前日為止,最近4 個季度的凈利潤之和,這樣可以保證財務數據的有效性和代表性。具體采集方法與市值的求法相似,借助板塊代碼,在數據庫中查詢對應單季度凈利潤情況,并求取連續4 個季度的凈利潤求和作為單家公司的滑動凈利潤。然后再根據板塊下屬分類,對對應公司求和,從而得到板塊的滑動凈利潤。考慮到PE 值普遍為10-100 之間,絕對數值相對較大,不方便計算,故而選擇PE的倒數作為考量基礎,即凈利潤除以總市值,這個指標稱作EP 指標。
統計完滑動EP 后,得到了每個行業在每個時間的EP情況,但不同行業的波動性不同,無法直接用EP 進行比較,因此需要對EP 進行處理,得到一個能夠比較不同行業狀況的指標,這種處理方式就被稱為標準化。
標準化的方式很多,有歸一法、百分法等等,本文采用的是求標準差這種比較經典的方式。具體的方法為:假設當前日期為T,板塊為A,將以T 為截止日的兩年內所有交易日的板塊A的pe 值儲存在一個Input 數組中,這樣23 個板塊就有23 個Input 數組,而每個Input 數組也隨著交易時間tradingdate的變化,自動更新。得到Input 數組后,對每個數組求出該組數據的平均值Average 和方差Variance,然后調用如公式(3)

如此即可得到每個板塊每日標準化后的結果。
這個結果能夠反應出任何一個行業在歷史上的好壞情況和波動情況,但無法反映出相對其他行業的優劣,因此為了直觀對各個行業進行對比還需要二次標準化。
二次標準化的基本思路很簡單,就是對一維標準化后的因子進行二次處理,使之能夠在同一坐標體系下進行比較,進而能夠做出判斷。
在實現的時候可以構造一個standardizeBySector 函數,傳入的接口則是數據庫中儲存的交易日列表tradingdate 以及各板塊的代碼,采用一次標準化時相似的方式,當交易日掃描到某一日時,從23 個一次標準化后的板塊數組中分別取出當日該板塊的一次標準化值信息,并利用前文所述的標準化公式對各個板塊進行二次標準化,這樣就能得到最終想要的二次標準化的結果。
應用實現的主設計語言為C#,主要考慮到該語言在和office 軟件以及 SQL Server的連接上十分容易,通過C#自身的數據接口,可以將算好的二次標準化結果導出到Excel中。由于中國股票市場從2006年開始至今正好走過了一波復蘇、過熱、滯脹和收縮的4 個周期,因此系選擇時間也選擇了從2006年開始至今。為了方便比較市場的整體情況,將滬深300 指數這幾年的走勢也一并輸出到Excel 進行比較分析,并得出最后的結果。經過二次標準化后,所有板塊的標準化后值均在0 附近,正值的板塊估值較低有投資價值,負值的板塊相對則不具備投資價值,如圖3所示:

圖3 標準化后部分數據
中國股市從2006年到2008年走過一波完整的投資時鐘周期,具體劃定為2006年1 月-2007年1 月為復蘇期,2007年1 月-2007年10 月為過熱期,2007年10 月-2008年3 月為滯脹期,2008年3 月-2008年10 月為收縮期,通過比較不同時期板塊標準化的值即可得到結論。
由于針對的是板塊與行業的研究,因此驗證模型效果時,需要將板塊數據圖形化后與板塊指數的走勢相比對得到該模型的有效性。
以有色金屬板塊為例,如圖4所示:

圖4 有色金屬板塊驗證圖例
有色金屬板塊的投資時鐘數據顯示該板塊是一個過熱期的投資品種,該板塊在過熱期的因子值最高可達2.5,具備相當高的投資價值,而對比有色金屬板塊指數和滬深300指數的實際走勢,有色金屬板塊在過熱期較全市場確實呈現出明顯的超額收益。
通過類似對比,復蘇期較具備投資價值的行業有挖掘、房地產、餐飲旅游、公共事業、黑色金屬、化工、機械設備、食品飲料、醫藥生物;過熱期較具備投資價值的行業有電子元器件、家用電器、有色金屬;滯脹期較具備投資價值的行業有電子元器件、紡織服裝、化工、家用電器、農林牧漁、輕工制造;收縮期較具備投資價值的行業有餐飲旅游、紡織服裝、機械設備、交通設備、交通運輸、輕工制造、商務貿易、食品飲料、醫藥生物等行業。
投資時鐘模型是美國華爾街金融人士提出的一種將經濟周期與資產和行業輪動聯系起來的方法,為了將其運用于中國股市,通過構造金融數據庫,將板塊中上市公司的財務數據和行情數據有機結合,可以給予使用者不同時期板塊表現的直觀印象。分析人員將該應用效果與自身經驗結合后,可以進一步挖掘投資時鐘模型的獨特魅力。“投資時鐘”模型的實現通過有色金屬板塊的用例效果,體現了不同行業板塊在不同時期表現的差異性與優越性。
[1]Michael Hartnett.The Investment Clock[J].金融工程,2010.4:1-3