當前位置:編程學習大全網 - 編程語言 - python的量化代碼怎麽用到股市中

python的量化代碼怎麽用到股市中

2010 ~ 2017 滬深A股各行業量化分析

在開始各行業的量化分析之前,我們需要先弄清楚兩個問題:

第壹,A股市場上都有哪些行業;

第二,各行業自2010年以來的營收、凈利潤增速表現如何?

第壹個問題

很好回答,我們使用JQData提供的獲取行業成分股的方法,輸入get_industries(name='sw_l1')

得到申萬壹級行業分類結果如下:它們分別是:農林牧漁、采掘、化工、鋼鐵、有色金屬、電子、家用電器、食品飲料、紡織服裝、輕工制造、醫藥生物、公用事業、交通運輸、房地產、商業貿易、休閑服務、綜合、建築材料、建築裝飾、電器設備、國防軍工、計算機、傳媒、通信、銀行、非銀金融、汽車、機械設備***計28個行業。

第二個問題

要知道各行業自2010年以來的營收、凈利潤增速表現,我們首先需要知道各行業在各個年度都有哪些成分股,然後加總該行業在該年度各成分股的總營收和凈利潤,就能得到整個行業在該年度的總營收和總利潤了。這部分數據JQData也為我們提供了方便的接口:通過調用get_industry_stocks(industry_code=‘行業編碼’, date=‘統計日期’),獲取申萬壹級行業指定日期下的行業成分股列表,然後再調用查詢財務的數據接口:get_fundamentals(query_object=‘query_object’, statDate=year)來獲取各個成分股在對應年度的總營收和凈利潤,最後通過加總得到整個行業的總營收和總利潤。這裏為了避免非經常性損益的影響,我們對凈利潤指標最終選取的扣除非經常性損益的凈利潤數據。

我們已經獲取到想要的行業數據了。接下來,我們需要進壹步分析,這些行業都有什麽樣的增長特征。

我們發現,在28個申萬壹級行業中,有18個行業自2010年以來在總營收方面保持了持續穩定的增長。它們分別是:農林牧漁,電子,食品飲料,紡織服裝,輕工制造,醫藥生物,公用事業,交通運輸,房地產,休閑服務,建築裝飾,電氣設備,國防軍工,計算機,傳媒,通信,銀行,汽車;其他行業在該時間範圍內出現了不同程度的負增長。

那麽,自2010年以來凈利潤保持持續增長的行業又會是哪些呢?結果是只有5個行業保持了基業長青,他們分別是醫藥生物,建築裝飾,電氣設備,銀行和汽車。(註:由於申萬行業在2014年發生過壹次大的調整,建築裝飾,電氣設備,銀行和汽車實際從2014年才開始統計。)

從上面的分析結果可以看到,真正能夠保持持續穩定增長的行業並不多,如果以扣非凈利潤為標準,那麽只有醫藥生物,建築裝飾,電氣設備,銀行和汽車這五個行業可以稱之為優質行業,實際投資中,就可以只從這幾個行業中去投資。這樣做的目的是,壹方面,能夠從行業大格局層面避免行業下行的風險,繞開壹個可能出現負增長的的行業,從而降低投資的風險;另壹方面,也大大縮短了我們的投資範圍,讓投資者能夠專註於從真正好的行業去挑選公司進行投資。

「2010-2017」投資於優質行業龍頭的收益表現

選好行業之後,下面進入選公司環節。我們知道,即便是壹個好的行業也仍然存在表現不好的公司,那麽什麽是好的公司呢,本文試圖從營業收入規模和利潤規模和來考察以上五個基業長青的行業,從它們中去篩選公司作為投資標的。

3.1按營業收入規模構建的行業龍頭投資組合

首先,我們按照營業收入規模,篩選出以上5個行業醫藥生物,建築裝飾,電氣設備,銀行和汽車從2010年至今的行業龍頭如下表所示:

可以看到,雖然時間跨度很長,但是在這5個行業中,營收規模大的公司始終處於領先地位。它們分別是上海醫藥,中國建築,上海電氣,工商銀行,上汽集團。

由於各年度上市公司年報的公布截止日是4月30日,待所有上市公司年報公布後,確定行業龍頭,然後將這些行業龍頭構建成壹個投資組合。那麽,持有投資組合的收益表現如何呢?為了保證投資時間的壹致性,我們假設從2015年4月30號之後的第壹個交易日開始投資,本金是100萬,每個標的投資權重相同,都是20%,並且忽略交易成本,那麽持有該組合至2018年4月30號的投資收益是多少呢?

我們利用JQData提供的獲取行情接口get_price(security='股票代碼', start_date='開始交易日', end_date='投資截止日', frequency='daily', fields=None, skip_paused=False, fq='pre'),分別獲取組合中各個公司在各年度開始交易日和投資截止日(4.30之後的第壹個交易日)的價格,得到最終的投資結果如下圖所示:

可以看到,除了2015.5.4-2016.5.3股災期間,該組合投資收益率和上證指數、滬深300指數有壹個同步的大幅下跌外,從2016.5.3至2018年5.2,改組合連續兩年獲得了正收益,並在2016年大幅跑贏另外兩個基準指數20%以上。

聰明的讀者壹定會問這樣壹個問題,如果我從2018年5月2號開始,投資100萬買入這樣壹個按營收規模衡量的行業龍頭組合,至2018年5月30號,收益表現會如何呢?答案是3.04%,而同期上證指數收益率和滬深300收益率分別是-0.20%和-0.39%,可以說表現非常之好了。具體收益如下表所示:

3.2按扣非凈利潤規模構建的行業龍頭投資組合

如果我們按照扣除非經常性損益的凈利潤來衡量,以上5個行業從2010年至今的行業龍頭又會是哪些呢,我們查出來如下表所示:

可以看到,按照扣非凈利潤來構建投資組合,醫藥生物和電氣設備兩個行業分別發生了行業龍頭的更替,如果要構建基於扣非凈利潤的投資組合,那麽我們就需要每年去調整我們的組合標的以保證組合中都是上壹年度的行業龍頭。和上述投資回測方式壹樣,我們從2015年5月4號買入這樣壹個組合,並在之後每年4月30號之後的第壹個交易日調整組合中的行業龍頭標的,最終的投資結果如下表所示:

可以看到,即使是2015.4.30-2016.5.3股災期間,該組合也跑贏上證指數和滬深300指數3%左右;而2016.5.3至2018年5.2期間更是大幅跑贏兩個基準指數高達30%以上。

同樣的,如果從2018年5月2號開始,投資100萬買入這樣壹個按扣非凈利潤規模衡量的行業龍頭組合,至2018年5月30號,收益表現會如何呢?答案是2.83%,對比同期上證指數收益率和滬深300指數的-0.20%和-0.39%,仍然維持了非常良好的表現。具體收益如下表所示:

結論

通過以上行業分析和投資組合的歷史回測可以看到:

先選行業,再選公司,即使是從2015年股災期間開始投資,至2018年5月1號,仍然能夠獲得相對理想的收益,可以說,紅杉資本的賽道投資法則對於壹般投資者還是比較靠譜的。

在構建行業龍頭投資組合時,凈利潤指標顯著優於營業收入指標,獲得的投資收益能夠更大的跑贏全市場收益率

市場是不斷波動的,如果壹個投資者從股災期間開始投資,那麽即使他買入了上述優質行業的龍頭組合,在近3年也只能獲得12%左右的累計收益;而如果從2016年5月3日開始投資,那麽至2018年5月2日,2年時間就能獲得超過50%以上的收益了。所以,在投資過程中選擇時機也非常重要。

出自:JoinQuant 聚寬數據 JQData

  • 上一篇:汽車電腦編程的改裝ECU內容介紹
  • 下一篇:Javascript編程論壇
  • copyright 2024編程學習大全網