1. 導(dǎo)語
每個人都在用自己的能力嘗試去理解期貨,我也一樣。
做好期貨交易,在我的認知里,兩種策略能持續(xù)穩(wěn)定賺錢:一種就是無關(guān)價格方向,要有波動率、有流動性的中高頻策略。另一種是主觀交易,從供需入手,找到市場偏離價值的機會。
前者已經(jīng)越來越偏技術(shù)裝備的升級和策略的快速迭代,后者更需要扎實的產(chǎn)業(yè)供需分析,對宏觀,產(chǎn)業(yè),資金面數(shù)據(jù)的充分理解和平衡。
認識期貨10年了,觀察大宗商品價格在供需變化過程中的跌宕起伏,發(fā)現(xiàn)每次產(chǎn)業(yè)出現(xiàn)大行情的時候,基本面供需關(guān)系的變化是類似的,每一次可能引發(fā)行情的原因不一樣,但結(jié)果卻會是一樣的,數(shù)據(jù)是客觀的。
既然如此,為什么要讓自己肉眼來發(fā)現(xiàn)行情呢,人總有疲勞的時候,總有不專心的時候,但機器不會,肉眼能看到幾個品種?那還得相當(dāng)勤奮吧。我要可以全市場監(jiān)測,這樣可以讓自己專注于決策,而非基礎(chǔ)的數(shù)據(jù)收集。
于是逐漸理清楚了需求:
1. 當(dāng)基本面發(fā)生變化到一定程度的時候,再結(jié)合技術(shù)面的變化,提示交易機會和平倉機會。
2. 分析的前提是有充分的數(shù)據(jù),建立數(shù)據(jù)庫,讓系統(tǒng)自動爬取數(shù)據(jù)并更新,不再傳統(tǒng)的手動更新數(shù)據(jù)。
3. 自動生成產(chǎn)業(yè)數(shù)據(jù)和報告。
想到自己搭建這套系統(tǒng)的迷茫,從一篇篇文章中匯集知識點的辛苦,于是打算寫下這篇文章,一是為了感恩,二是如果能給到需要的朋友一點點幫助,也算是有些欣慰了,如果寫的不好,還希望多指正,在市場面前,我只是學(xué)生。
2. 搭建數(shù)據(jù)框架并自動生成報告
因為研究最久的是PTA,最有感情的也是PTA,因此選擇PTA來做我的基本面量化首站。
首先要獲得數(shù)據(jù),獲得數(shù)據(jù)就要搭建數(shù)據(jù)庫,傳統(tǒng)的excel肯定是不行,我選了MySQL數(shù)據(jù)庫做數(shù)據(jù)儲存。MySQL有自己的語句,但我的感受是苦澀,因此我僅僅是用了MySQL的儲存功能,其他比如刪空、查重等功能都放在了python里面進行。
數(shù)據(jù)的來源首選wind,是因為wind 的接口、數(shù)據(jù)廣度都很合適,不過在具體產(chǎn)業(yè)數(shù)據(jù)的深度上還是需要產(chǎn)業(yè)的信息網(wǎng)站數(shù)據(jù)配合,因此網(wǎng)絡(luò)爬蟲的使用也是不可少的。編程語言上我選擇的是語法簡潔、金融模塊強大的python。
數(shù)據(jù)內(nèi)容的選擇上,我會盡可能的將PTA產(chǎn)業(yè)鏈的數(shù)據(jù)都一一導(dǎo)入,覆蓋上游原油,PX,PTA,聚酯,織造,服裝進出口等環(huán)節(jié)。數(shù)據(jù)圍繞供應(yīng),需求,庫存,利潤等展開。
在對數(shù)據(jù)進行分析前,還需要對數(shù)據(jù)進行清洗,畢竟這么多數(shù)據(jù)導(dǎo)出來,是不是有空值的,有異常值的,有重復(fù)的,在頻率上是否一致,這些都要在數(shù)據(jù)分析前處理好,對于數(shù)據(jù)的填充,有多種辦法,我一般優(yōu)先選擇interpolate模塊,具體情況可以具體選擇。
再下一步就是數(shù)據(jù)的預(yù)處理了,根據(jù)需要整理出熟悉的圖表,比如PX的利潤,pta的生產(chǎn)利潤,聚酯產(chǎn)業(yè)鏈開工率,聚酯庫存等等。這里需要考慮到增值稅的變化,因為增值稅的兩次降低,需要將部分涉及增值稅的數(shù)據(jù)分成三段分別計算后拼接起來,現(xiàn)在可以讓數(shù)據(jù)展示出來了:
圖表1

整理好這一系列數(shù)據(jù)后,我就想到能不能做成一個UI可視化界面,讓這些數(shù)據(jù)自動顯示,于是就順便用了PYQT做成了這種界面:
圖表2:

這樣的界面出來后,一度讓我比較滿意,不過隨著后面在陸續(xù)做MEG,MA等品種的基本面量化發(fā)現(xiàn),這樣還是比較繁瑣,同時,在移動互聯(lián)網(wǎng)時代,我還在做PC端的服務(wù)類產(chǎn)品,其實是不方便的。于是決定還是讓其一鍵生成報告,這里用到了python中的docx模塊讓其自動寫成pta日報,然后自動將word轉(zhuǎn)化成pdf格式:
圖表3:

在我的文件夾中就自動出現(xiàn)了這樣一篇文章,名稱,內(nèi)容都自動實現(xiàn)。
圖表4:

自動生成一篇pta日報的時間,在沒有用到多線程的情況下的話,花費19秒,讓我手動來寫,還不算更新數(shù)據(jù)以及分析數(shù)據(jù),沒有兩、三個小時我是搞不定的。
圖表5:

圖表6:

每一張圖表后面,我會讓其把最新的數(shù)據(jù)自動貼出來,同時讓系統(tǒng)自主判斷,當(dāng)符合一定要求自動提示,比如上圖中當(dāng)pta工廠開工率在一定范圍以上,會增加一句開工率處于高位的話。
做完以上這些,第一部分算是完成了。下面開始我需求的第二部分:基本面量化交易。
3. 基本面量化的開始-了解基本面
首先我將過去10年的PTA各個因子數(shù)據(jù)都提煉出來,并將漲跌幅在20%以上的行情起始、結(jié)束階段的基本面信息情況一一分析。我們來看下pta產(chǎn)業(yè)鏈,筆者簡化了一些環(huán)節(jié),為的是看起來方便:
圖表7:

由上圖可以看出,PTA用途比較單一,絕大部分是作為聚酯的主要原材料之一。價格變化的背后,就是供需變化的結(jié)果。當(dāng)生產(chǎn)利潤不錯的時候,工廠往往會選擇增加產(chǎn)量,長期投資上選擇新建產(chǎn)能。當(dāng)集中投產(chǎn)的時候,就是利潤墜落的開始,對該產(chǎn)業(yè)環(huán)節(jié)來說,就是長期的,痛苦的去產(chǎn)能過程,這個過程中,要么供應(yīng)實質(zhì)的減少了,要么需求真正的上來了。當(dāng)完成這一出清的時候,供需的錯位,又會導(dǎo)致另一種極端行情的到來。2010年的時候是宏觀上利好,產(chǎn)業(yè)上PTA供應(yīng)不足,聚酯需求不錯,因此PTA工廠利潤豐厚,同時PTA價格一直比較堅挺。2011年開始,供應(yīng)集中釋放,同時疊加宏觀的資金收緊,PTA價格開始一落千丈,一直到2017年都在經(jīng)歷去產(chǎn)能的痛苦過程,這中間有2014年pta工廠的三巨頭聯(lián)盟、減少供應(yīng)等產(chǎn)業(yè)自救措施出臺,然而終究抵不過利益的誘惑,聯(lián)盟解散。后來到2018年年中的時候,PTA產(chǎn)能集中度提升,需求利好,庫存低位,再加上一些裝置停車之類的導(dǎo)火線,引發(fā)了2018年8月份轟轟烈烈的上漲行情。拋開這些行情的表面,我們不難發(fā)現(xiàn),這些行情背后,就是供需關(guān)系在主導(dǎo)行情,正是基于這些認識,才有了建立PTA基本面量化的依據(jù)。
既然是嚴謹?shù)牧炕P停鸵紤]到因子的實用性,因此會放棄一些時效性滯后的數(shù)據(jù),還有一些并不全面的數(shù)據(jù)。同時我也十分清楚,放棄一些數(shù)據(jù),就意味著對某種行情的把握會不夠準(zhǔn)確,對于這種情況來說,可以暫時放棄此類行情的捕捉,弱水三千,我只取一瓢。等到后面數(shù)據(jù)更為完善,再捕捉更多的行情機會。先來看下我最后選擇的因子:
圖表8:

對于其上游PX,這里只選用了px 的加工費、國內(nèi)的負荷兩個數(shù)據(jù),實際上應(yīng)該還要選擇PX 的供需平衡表,或者是庫存消費比的,后續(xù)會重點加入庫存消費比。因為PX的對外依存度比較高,進出口數(shù)據(jù)不能及時反映國外裝置的變化,國外px裝置開工率變化是上選。但對于PX國外裝置的變化,我自己雖然有全部裝置數(shù)據(jù),但如果不能從第三方資訊讓程序自動抓取,而需要我自己計算就太費工夫了,畢竟我的目標(biāo)是全品種。這種暫時的放棄會對于多頭行情不會有影響,但對于基于px投產(chǎn)導(dǎo)致的pta價格下跌行情捕捉會有限。其實放棄也是暫時無奈之舉,國內(nèi)px數(shù)據(jù)完善的信息提供商太少,相信隨著信息的更加透明話,這一塊會補齊。
PTA這塊,信息就完善的多些,從pta工廠的負荷,到pta庫存消費比,以及pta加工費都比較完善,這里依然放棄供需平衡表這種月度的數(shù)據(jù),也是考慮到進出口數(shù)據(jù)的時效性,畢竟進出口的數(shù)據(jù)往往滯后一個多月才能拿到具體數(shù)據(jù),用庫存消費比代替供需平衡表事實證明是可行的,我們是要服務(wù)于交易的,而不是只追求一個事后充分的報告而已。
需求端聚酯,我們用了聚酯負荷,聚酯加權(quán)利潤,庫存,產(chǎn)銷以及下游織造的庫存天數(shù),負荷等數(shù)據(jù),接下來我們將這些數(shù)據(jù)放在一起,并升采樣某些數(shù)據(jù),將其頻率全部調(diào)整成日級別,并將數(shù)據(jù)標(biāo)準(zhǔn)化,做相關(guān)性分析:
圖表9:

將這些數(shù)據(jù)放在一個維度后,我嘗試過用sklearn做多元線性回歸,分別建立訓(xùn)練集和測試集,得出的是這樣的結(jié)果:
圖表10:

其中藍色的是擬合函數(shù),紅色的是價格走勢,R的平方為:0.67823,數(shù)據(jù)越靠近1,數(shù)據(jù)的預(yù)測準(zhǔn)確度越高。
4. 邏輯的回測
以下進入行情邏輯回測實證,僅僅涉及到行情機會的發(fā)現(xiàn),并沒有用到杠桿。
機會的邏輯我偏向于估值+驅(qū)動的方法,首先要做的是從基本面上找到估值過低,或者估值過高的行情,然后再結(jié)合技術(shù)面以及產(chǎn)業(yè)裝置變化等情況來尋找行情驅(qū)動因子。
因此,對于做多行情來說,有PX虧損,PTA虧損且開工不降甚至反升,聚酯利潤持續(xù)走好,聚酯負荷提升,庫存走低,長絲產(chǎn)銷能根據(jù)行情及時爆發(fā)配合,織造庫存低位等這幾種情況的組合。
估值偏離內(nèi)在價值是相對好找的,不太好找的是驅(qū)動因子,同時有些突發(fā)因素我們一目了然,但要讓程序全網(wǎng)監(jiān)測到一條消息并立刻分析出其對商品價格的沖擊幾何,這是我后面需要研究的方向之一。
做多行情的機會發(fā)現(xiàn):
(1) 估值偏低提示策略一:
當(dāng)PX和PTA都陷入虧損,提示估值偏低機會。
(2) 估值偏低提示策略二:
當(dāng)下游聚酯綜合利潤高于200,且長絲加權(quán)庫存處于平均15天以下并在逐步降低,聚酯開工率逐步提升,且PTA庫存消費比低于0.5時,提示估值偏低機會。
(3) 估值偏低提示策略三:
當(dāng)下游聚酯很好,PTA或者PX之一陷入虧損,提示估值偏低機會
(4) 估值偏低提示策略四:
當(dāng)庫存消費比極低,比如低于0.4,下游中性即可,而同時遭遇PTA總產(chǎn)能3%裝置以上的停車,提示估值偏低機會。
當(dāng)出現(xiàn)以上這些機會的時候,再監(jiān)控技術(shù)面和資金面,當(dāng)技術(shù)面也支持上漲時,基本面與技術(shù)面共振,提示趨勢買入機會,這樣可以做到買入在行情啟動的一開始或者路上,也許會放棄一些利潤,但也同樣的降低了一些風(fēng)險。
為什么要加上技術(shù)面的判斷?在14年10月份開始的那波下跌更多是由于原油趨勢下跌導(dǎo)致,而我們并沒有導(dǎo)入原油的相關(guān)因子,初衷是認為還沒有能力將原油看的很準(zhǔn),因此還不如暫時不加入。當(dāng)時在下跌過程中的10,11月份基本面已經(jīng)是不錯的,如果不考慮到技術(shù)面的情況,就會得出要漲的錯誤信號。行情是由宏觀,資金,產(chǎn)業(yè)鏈各個環(huán)節(jié)組合的效果,當(dāng)發(fā)現(xiàn)明顯只由宏觀,或者原油主導(dǎo),而基本面是與其反向的時候,要尊重盤面,不應(yīng)該逆勢開倉,耐心等待合適機會的來臨。再比如18年下半年開始逐漸升級的中美貿(mào)易戰(zhàn)更多影響的是預(yù)期,盤面也提前反應(yīng)了悲觀預(yù)期,就如同我一開始所說,暫時沒有辦法用數(shù)據(jù)來解釋其邏輯的話行情就應(yīng)該暫時放棄。
平倉的時機是極為重要的,有了好的開場就應(yīng)該有好的結(jié)尾。否則一開始的努力都是白費。該謹慎的時候謹慎,該貪婪的時候就應(yīng)該貪婪。當(dāng)剛剛開倉不久,行情就遭遇跌破形態(tài)的回調(diào),這是應(yīng)該及時平倉的。平倉也有幾個辦法在這里僅供參考:
第一:行情很快反向,可根據(jù)技術(shù)面快速平倉。
第二:基本面的反轉(zhuǎn)也可以作為平倉信號處理,買入的時候是基本面不錯的時候,當(dāng)基本面已經(jīng)轉(zhuǎn)為利空的時候,行情走老的可能性很大,可以主動讓技術(shù)面的反轉(zhuǎn)設(shè)置的敏感些,一有回撤就平倉。
第三:基于行情連續(xù)回撤,且回撤達到一定比例,止盈,或者是長期均線的反轉(zhuǎn),都是平倉的條件之一。
基于以上邏輯,我們得到了日線級別趨勢做多行情的凈值圖:
圖表11:

一些回測數(shù)據(jù):開倉15次,其中盈利9次,虧損6次,贏利概率:60%,最大虧損單筆112元/噸,最大盈利單筆1874元/噸。虧損往往發(fā)生在進場時機并不太好,不過程序做到了及時出場。
這種策略基本是能發(fā)現(xiàn)行情的開始,但會提前結(jié)束,至于行情要多靈敏,或者多遲鈍,我覺得不能為了回測數(shù)據(jù)好看而過度優(yōu)化,而應(yīng)該堅持符合行情邏輯,畢竟我們要把握的是未來的行情,而不是過去,我們需要讓系統(tǒng)更能適合未來的環(huán)境,而非追求完美,越敏感我覺得就會越脆弱。
做空策略相對就要復(fù)雜一些,這里會涉及到一些投產(chǎn)預(yù)期的行情處理問題,比如當(dāng)pta或者px在未來幾個月將有較大裝置投產(chǎn)時,期貨往往會提前反應(yīng),而當(dāng)前基本面往往沒有多大變化,期貨盤面往往表現(xiàn)為近強遠弱,這種時候更應(yīng)該關(guān)注跨期套利機會,其對于趨勢行情是有干擾的。還有一點,如果是基于原油單因素趨勢下跌,而基本面很好的情況下帶來的下跌行情,也是暫時不能捕捉的到的。好在這種行情在過去十年中只出現(xiàn)了一次,也就是14年下半年這波,這波下跌的一開始是和基本面共振下跌的,基于基本面的估值過高已經(jīng)捕捉到了這段。而到了11月份的時候,基本面已經(jīng)很健康了,因此,14年12月份這波單單基于原油趨勢下跌而下跌的行情并沒有把握到。
另外,也不能因為僅僅利潤高就做空,雖然按照統(tǒng)計,過去當(dāng)利潤達到一定界限的時候,利潤回落的可能性比較大,但這并不能在邏輯上很好的得到解釋,且以往的天花板往往會被打破,比如18年前PTA的利潤到1000元/噸就非常不錯的,然而隨著產(chǎn)能集中度的提升,18年8月份這波上漲利潤達2000元/噸以上也是常有的事,那樣做只能捕捉過去的行情,這樣的行情我認為也是經(jīng)不起推敲的,如果將這個寫進來,會埋雷的。
趨勢做空策略,主要基于兩點邏輯:
第一,pta或者px供應(yīng)增加,導(dǎo)致供過于求,庫存上升,估值偏離,當(dāng)偏離到一定程度時,且出現(xiàn)行情驅(qū)動因子,行情開始往下回歸估值,所以其利潤越豐厚行情就越大。
第二,在前一波上漲過程中侵蝕了下游聚酯的利潤,下游利潤走差,庫存高企,聚酯有降負荷的跡象,同樣導(dǎo)致了估值的偏離,當(dāng)出現(xiàn)驅(qū)動因子的時候,行情也將開始往下回歸估值。
基于這兩點邏輯,結(jié)合數(shù)據(jù)的可獲得性,做出了以下策略:
(一) 估值偏高提示策略一:
上游投產(chǎn)導(dǎo)致當(dāng)前估值偏高機會:當(dāng)PTA投產(chǎn)或者PX投產(chǎn),且聚酯走貨不順,聚酯庫存累積,結(jié)合技術(shù)面的變化,提示做空機會。
(二) 估值偏高提示策略二:
當(dāng)聚酯利潤產(chǎn)生虧損,且?guī)齑娉掷m(xù)走高到15天以上,結(jié)合技術(shù)面的變化,提示做空機會。
(三) 估值偏高提示策略三:
這個策略設(shè)置的敏感些,當(dāng)PX和PTA都累積了一定的利潤,而聚酯開始走低,聚酯加權(quán)庫存超過15天,過去10天漲幅超過3%以上,且RSI超過70后回落,提示做空機會。
綜合這些策略,再加上止損條件,其結(jié)果如下圖:
圖表12:

一些回測數(shù)據(jù):開倉10次,其中盈利10次,虧損0次,贏利概率:100%,最大盈利單筆1377元/噸。當(dāng)這個數(shù)據(jù)出來的時候,我第一反應(yīng)是我是不是優(yōu)化過度了,畢竟這是我最想規(guī)避的問題,其實數(shù)據(jù)設(shè)置的越嚴格,其成功概率會越高,同時,交易機會次數(shù)就會越少,這還是一個取舍的問題。
以下是多空策略的組合收益情況:
圖表13:

對于PTA趨勢行情的挖掘還會繼續(xù)優(yōu)化,在深度上,結(jié)合基本面對日內(nèi)行情也做一個把握,近月逼倉識別一下,跨期套利機會發(fā)現(xiàn)起來。同時,在廣度上,逐漸覆蓋全品種,就可以加入強弱對沖機會,來規(guī)避系統(tǒng)性風(fēng)險以及發(fā)現(xiàn)更多的機會。
行情一直在變化,我們也一直在路上,對市場保持敬畏之心,歡迎加微信交流溝通:

本文無須授權(quán)可直接轉(zhuǎn)載,但需轉(zhuǎn)載全文。
免責(zé)聲明:本報告的信息均來源于公開資料,我公司對這些信息的準(zhǔn)確性和完整性不作任何保證,也不保證所包含的信息和建議不會發(fā)生任何變更。我們已力求報告內(nèi)容的客觀、公正,但文中的觀點、結(jié)論和建議僅供參考,報告中的信息或意見并不構(gòu)成所述品種的操作依據(jù),投資者據(jù)此作做出的任何投資與本公司和作者無關(guān)。
【免責(zé)聲明】本文僅代表作者本人觀點,與和訊網(wǎng)無關(guān)。和訊網(wǎng)站對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。
最新評論