1.導語 期貨是一鍋湯,每個人都用勺子去品嘗,味道各有千秋。 做好期貨交易,在我的認知里,兩種策略能持續(xù)穩(wěn)定賺錢:一種就是無關價格方向,要有波動率、有流動性的中高頻策略。另一種是主觀交易,從供需入手,找到市場偏離價值的機會。 前者已經越來越偏技術裝備的升級和策略的快速迭代,后者更需要扎實的產業(yè)供需分析,對宏觀、產業(yè)、資金面數據的充分理解和平衡。 認識期貨快10年了,觀察大宗商品價格在供需變化過程中的跌宕起伏,發(fā)現每次產業(yè)出現大行情的時候,基本面供需關系的變化是類似的,每一次可能引發(fā)行情的原因不一樣,但結果卻會是一樣的,數據是客觀的。 既然如此,為什么要讓自己肉眼來發(fā)現行情呢?人總有疲勞的時候,總有不專心的時候,但機器不會,肉眼能看到幾個品種?那還得相當勤奮吧。我要可以全市場監(jiān)測,這樣可以讓自己專注于決策,而非基礎的數據收集。 于是逐漸理清楚了需求: 1.當基本面發(fā)生變化到一定程度的時候,再結合技術面的變化,提示交易機會和平倉機會。 2.分析的前提是有充分的數據,建立數據庫,讓系統(tǒng)自動爬取數據并更新,不再傳統(tǒng)的手動更新數據。 3.自動生成產業(yè)數據和報告。 想到自己搭建這套系統(tǒng)的迷茫,從一篇篇文章中匯集知識點的辛苦,于是打算寫下這篇文章,一是為了感恩,二是如果能給到需要的朋友一點點幫助,也算是有些欣慰了,如果寫的不好,還希望多指正,在市場面前,我只是學生。 2.搭建數據框架并自動生成報告 因為研究最久的是PTA,最有感情的也是PTA,因此選擇PTA來做我的基本面量化首站。 首先要獲得數據,獲得數據就要搭建數據庫,傳統(tǒng)的excel肯定是不行,我選了MySQL數據庫做數據儲存。MySQL有自己的語句,但我的感受是苦澀,因此我僅僅是用了MySQL的儲存功能,其他比如刪空、查重等功能都放在了python里面進行。 數據的來源首選wind,是因為wind 的接口、數據廣度都很合適,不過在具體產業(yè)數據的深度上還是需要產業(yè)的信息網站數據配合,因此網絡爬蟲的使用也是不可少的。編程語言上我選擇的是語法簡潔、金融模塊強大的python。 數據內容的選擇上,我會盡可能的將PTA產業(yè)鏈的數據都一一導入,覆蓋上游原油,PX,PTA,聚酯,織造,服裝進出口等環(huán)節(jié)。數據圍繞供應,需求,庫存,利潤等展開。 在對數據進行分析前,還需要對數據進行清洗,畢竟這么多數據導出來,是不是有空值的,有異常值的,有重復的,在頻率上是否一致,這些都要在數據分析前處理好,對于數據的填充,有多種辦法,我一般優(yōu)先選擇interpolate模塊,具體情況可以具體選擇。 再下一步就是數據的預處理了,根據需要整理出熟悉的圖表,比如PX的利潤,pta的生產利潤,聚酯產業(yè)鏈開工率,聚酯庫存等等。這里需要考慮到增值稅的變化,因為增值稅的兩次降低,需要將部分涉及增值稅的數據分成三段分別計算后拼接起來,現在可以讓數據展示出來了: 圖表1 整理好這一系列數據后,我就想到能不能做成一個UI可視化界面,讓這些數據自動顯示,于是就順便用了PYQT做成了這種界面: 圖表2: 這樣的界面出來后,一度讓我比較滿意,不過隨著后面在陸續(xù)做MEG,MA等品種的基本面量化發(fā)現,這樣還是比較繁瑣,同時,在移動互聯網時代,我還在做PC端的服務類產品,其實是不方便的。于是決定還是讓其一鍵生成報告,這里用到了python中的docx模塊讓其自動寫成pta日報,然后自動將word轉化成pdf格式: 圖表3: 在我的文件夾中就自動出現了這樣一篇文章,名稱,內容都自動實現。 圖表4: 自動生成一篇pta日報的時間,在沒有用到多線程的情況下的話,花費19秒,讓我手動來寫,還不算更新數據以及分析數據,沒有兩、三個小時我是搞不定的。 圖表5: 圖表6: 每一張圖表后面,我會讓其把最新的數據自動貼出來,同時讓系統(tǒng)自主判斷,當符合一定要求自動提示,比如上圖中當pta工廠開工率在一定范圍以上,會增加一句開工率處于高位的話。 做完以上這些,第一部分算是完成了。下面開始我需求的第二部分:基本面量化交易。 3.基本面量化的開始-了解基本面 首先我將過去10年的PTA各個因子數據都提煉出來,并將漲跌幅在20%以上的行情起始、結束階段的基本面信息情況一一分析。我們來看下pta產業(yè)鏈,筆者簡化了一些環(huán)節(jié),為的是看起來方便: 圖表7: 由上圖可以看出,PTA用途比較單一,絕大部分是作為聚酯的主要原材料之一。價格變化的背后,就是供需變化的結果。當生產利潤不錯的時候,工廠往往會選擇增加產量,長期投資上選擇新建產能。當集中投產的時候,就是利潤墜落的開始,對該產業(yè)環(huán)節(jié)來說,就是長期的,痛苦的去產能過程,這個過程中,要么供應實質的減少了,要么需求真正的上來了。當完成這一出清的時候,供需的錯位,又會導致另一種極端行情的到來。2010年的時候是宏觀上利好,產業(yè)上PTA供應不足,聚酯需求不錯,因此PTA工廠利潤豐厚,同時PTA價格一直比較堅挺。2011年開始,供應集中釋放,同時疊加宏觀的資金收緊,PTA價格開始一落千丈,一直到2017年都在經歷去產能的痛苦過程,這中間有2014年pta工廠的三巨頭聯盟、減少供應等產業(yè)自救措施出臺,然而終究抵不過利益的誘惑,聯盟解散。后來到2018年年中的時候,PTA產能集中度提升,需求利好,庫存低位,再加上一些裝置停車之類的導火線,引發(fā)了2018年8月份轟轟烈烈的上漲行情。拋開這些行情的表面,我們不難發(fā)現,這些行情背后,就是供需關系在主導行情,正是基于這些認識,才有了建立PTA基本面量化的依據。 既然是嚴謹的量化模型,就要考慮到因子的實用性,因此會放棄一些時效性滯后的數據,還有一些并不全面的數據。同時我也十分清楚,放棄一些數據,就意味著對某種行情的把握會不夠準確,對于這種情況來說,可以暫時放棄此類行情的捕捉,弱水三千,我只取一瓢。等到后面數據更為完善,再捕捉更多的行情機會。先來看下我最后選擇的因子: 圖表8: 對于其上游PX,這里只選用了px 的加工費、國內的負荷兩個數據,實際上應該還要選擇PX 的供需平衡表,或者是庫存消費比的,后續(xù)會重點加入庫存消費比。因為PX的對外依存度比較高,進出口數據不能及時反映國外裝置的變化,國外px裝置開工率變化是上選。但對于PX國外裝置的變化,我自己雖然有全部裝置數據,但如果不能從第三方資訊讓程序自動抓取,而需要我自己計算就太費工夫了,畢竟我的目標是全品種。這種暫時的放棄會對于多頭行情不會有影響,但對于基于px投產導致的pta價格下跌行情捕捉會有限。其實放棄也是暫時無奈之舉,國內px數據完善的信息提供商太少,相信隨著信息的更加透明話,這一塊會補齊。 PTA這塊,信息就完善的多些,從pta工廠的負荷,到pta庫存消費比,以及pta加工費都比較完善,這里依然放棄供需平衡表這種月度的數據,也是考慮到進出口數據的時效性,畢竟進出口的數據往往滯后一個多月才能拿到具體數據,用庫存消費比代替供需平衡表事實證明是可行的,我們是要服務于交易的,而不是只追求一個事后充分的報告而已。 需求端聚酯,我們用了聚酯負荷,聚酯加權利潤,庫存,產銷以及下游織造的庫存天數,負荷等數據,接下來我們將這些數據放在一起,并升采樣某些數據,將其頻率全部調整成日級別,并將數據標準化,做相關性分析: 圖表9: 將這些數據放在一個維度后,我嘗試過用sklearn做多元線性回歸,分別建立訓練集和測試集,得出的是這樣的結果: 圖表10: 其中藍色的是擬合函數,紅色的是價格走勢,R的平方為:0.67823,數據越靠近1,數據的預測準確度越高。 4.邏輯的回測 以下進入行情邏輯回測實證,僅僅涉及到行情機會的發(fā)現,并沒有用到杠桿。 機會的邏輯我偏向于估值+驅動的方法,首先要做的是從基本面上找到估值過低,或者估值過高的行情,然后再結合技術面以及產業(yè)裝置變化等情況來尋找行情驅動因子。 因此,對于做多行情來說,有PX虧損,PTA虧損且開工不降甚至反升,聚酯利潤持續(xù)走好,聚酯負荷提升,庫存走低,長絲產銷能根據行情及時爆發(fā)配合,織造庫存低位等這幾種情況的組合。 估值偏離內在價值是相對好找的,不太好找的是驅動因子,同時有些突發(fā)因素我們一目了然,但要讓程序全網監(jiān)測到一條消息并立刻分析出其對商品價格的沖擊幾何,這是我后面需要研究的方向之一。 做多行情的機會發(fā)現: (1)估值偏低提示策略一: 當PX和PTA都陷入虧損,提示估值偏低機會。 (2)估值偏低提示策略二: 當下游聚酯綜合利潤高于200,且長絲加權庫存處于平均15天以下并在逐步降低,聚酯開工率逐步提升,且PTA庫存消費比低于0.5時,提示估值偏低機會。 (3)估值偏低提示策略三: 當下游聚酯很好,PTA或者PX之一陷入虧損,提示估值偏低機會 (4)估值偏低提示策略四: 當庫存消費比極低,比如低于0.4,下游中性即可,而同時遭遇PTA總產能3%裝置以上的停車,提示估值偏低機會。 當出現以上這些機會的時候,再監(jiān)控技術面和資金面,當技術面也支持上漲時,基本面與技術面共振,提示趨勢買入機會,這樣可以做到買入在行情啟動的一開始或者路上,也許會放棄一些利潤,但也同樣的降低了一些風險。 為什么要加上技術面的判斷?在14年10月份開始的那波下跌更多是由于原油趨勢下跌導致,而我們并沒有導入原油的相關因子,初衷是認為還沒有能力將原油看的很準,因此還不如暫時不加入。當時在下跌過程中的10,11月份基本面已經是不錯的,如果不考慮到技術面的情況,就會得出要漲的錯誤信號。行情是由宏觀,資金,產業(yè)鏈各個環(huán)節(jié)組合的效果,當發(fā)現明顯只由宏觀,或者原油主導,而基本面是與其反向的時候,要尊重盤面,不應該逆勢開倉,耐心等待合適機會的來臨。再比如18年下半年開始逐漸升級的中美貿易戰(zhàn)更多影響的是預期,盤面也提前反應了悲觀預期,就如同我一開始所說,暫時沒有辦法用數據來解釋其邏輯的話行情就應該暫時放棄。 平倉的時機是極為重要的,有了好的開場就應該有好的結尾。否則一開始的努力都是白費。該謹慎的時候謹慎,該貪婪的時候就應該貪婪。當剛剛開倉不久,行情就遭遇跌破形態(tài)的回調,這是應該及時平倉的。平倉也有幾個辦法在這里僅供參考: 第一:行情很快反向,可根據技術面快速平倉。 第二:基本面的反轉也可以作為平倉信號處理,買入的時候是基本面不錯的時候,當基本面已經轉為利空的時候,行情走老的可能性很大,可以主動讓技術面的反轉設置的敏感些,一有回撤就平倉。 第三:基于行情連續(xù)回撤,且回撤達到一定比例,止盈,或者是長期均線的反轉,都是平倉的條件之一。 基于以上邏輯,我們得到了日線級別趨勢做多行情的凈值圖: 圖表11: 一些回測數據:開倉15次,其中盈利9次,虧損6次,贏利概率:60%,最大虧損單筆112元/噸,最大盈利單筆1874元/噸。虧損往往發(fā)生在進場時機并不太好,不過程序做到了及時出場。 這種策略基本是能發(fā)現行情的開始,但會提前結束,至于行情要多靈敏,或者多遲鈍,我覺得不能為了回測數據好看而過度優(yōu)化,而應該堅持符合行情邏輯,畢竟我們要把握的是未來的行情,而不是過去,我們需要讓系統(tǒng)更能適合未來的環(huán)境,而非追求完美,越敏感我覺得就會越脆弱。 做空策略相對就要復雜一些,這里會涉及到一些投產預期的行情處理問題,比如當pta或者px在未來幾個月將有較大裝置投產時,期貨往往會提前反應,而當前基本面往往沒有多大變化,期貨盤面往往表現為近強遠弱,這種時候更應該關注跨期套利機會,其對于趨勢行情是有干擾的。還有一點,如果是基于原油單因素趨勢下跌,而基本面很好的情況下帶來的下跌行情,也是暫時不能捕捉的到的。好在這種行情在過去十年中只出現了一次,也就是14年下半年這波,這波下跌的一開始是和基本面共振下跌的,基于基本面的估值過高已經捕捉到了這段。而到了11月份的時候,基本面已經很健康了,因此,14年12月份這波單單基于原油趨勢下跌而下跌的行情并沒有把握到。 另外,也不能因為僅僅利潤高就做空,雖然按照統(tǒng)計,過去當利潤達到一定界限的時候,利潤回落的可能性比較大,但這并不能在邏輯上很好的得到解釋,且以往的天花板往往會被打破,比如18年前PTA的利潤到1000元/噸就非常不錯的,然而隨著產能集中度的提升,18年8月份這波上漲利潤達2000元/噸以上也是常有的事,那樣做只能捕捉過去的行情,這樣的行情我認為也是經不起推敲的,如果將這個寫進來,會埋雷的。 趨勢做空策略,主要基于兩點邏輯: 第一,pta或者px供應增加,導致供過于求,庫存上升,估值偏離,當偏離到一定程度時,且出現行情驅動因子,行情開始往下回歸估值,所以其利潤越豐厚行情就越大。 第二,在前一波上漲過程中侵蝕了下游聚酯的利潤,下游利潤走差,庫存高企,聚酯有降負荷的跡象,同樣導致了估值的偏離,當出現驅動因子的時候,行情也將開始往下回歸估值。 基于這兩點邏輯,結合數據的可獲得性,做出了以下策略: (一)估值偏高提示策略一: 上游投產導致當前估值偏高機會:當PTA投產或者PX投產,且聚酯走貨不順,聚酯庫存累積,結合技術面的變化,提示做空機會。 (二)估值偏高提示策略二: 當聚酯利潤產生虧損,且?guī)齑娉掷m(xù)走高到15天以上,結合技術面的變化,提示做空機會。 (三)估值偏高提示策略三: 這個策略設置的敏感些,當PX和PTA都累積了一定的利潤,而聚酯開始走低,聚酯加權庫存超過15天,過去10天漲幅超過3%以上,且RSI超過70后回落,提示做空機會。 綜合這些策略,再加上止損條件,其結果如下圖: 圖表12: 一些回測數據:開倉10次,其中盈利10次,虧損0次,贏利概率:100%,最大盈利單筆1377元/噸。當這個數據出來的時候,我第一反應是我是不是優(yōu)化過度了,畢竟這是我最想規(guī)避的問題,其實數據設置的越嚴格,其成功概率會越高,同時,交易機會次數就會越少,這還是一個取舍的問題。 以下是多空策略的組合收益情況: 圖表13: 對于PTA趨勢行情的挖掘還會繼續(xù)優(yōu)化,在深度上,結合基本面對日內行情也做一個把握,近月逼倉識別一下,跨期套利機會發(fā)現起來。同時,在廣度上,逐漸覆蓋全品種,就可以加入強弱對沖機會,來規(guī)避系統(tǒng)性風險以及發(fā)現更多的機會。 行情一直在變化,我們也一直在路上,對市場保持敬畏之心。 來源:微博號:期貨世界獵手 責任編輯:傅旭鵬 |
【免責聲明】本文僅代表作者本人觀點,與本網站無關。本網站對文中陳述、觀點判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。
本網站凡是注明“來源:七禾網”的文章均為七禾網 levitate-skate.com版權所有,相關網站或媒體若要轉載須經七禾網同意0571-88212938,并注明出處。若本網站相關內容涉及到其他媒體或公司的版權,請聯系0571-88212938,我們將及時調整或刪除。
七禾研究中心負責人:劉健偉/翁建平
電話:0571-88212938
Email:57124514@qq.com
七禾科技中心負責人:李賀/相升澳
電話:15068166275
Email:1573338006@qq.com
七禾產業(yè)中心負責人:果圓/王婷
電話:18258198313
七禾研究員:唐正璐/李燁
電話:0571-88212938
Email:7hcn@163.com
七禾財富管理中心
電話:13732204374(微信同號)
電話:18657157586(微信同號)
七禾網 | 沈良宏觀 | 七禾調研 | 價值投資君 | 七禾網APP安卓&鴻蒙 | 七禾網APP蘋果 | 七禾網投顧平臺 | 傅海棠自媒體 | 沈良自媒體 |
? 七禾網 浙ICP備09012462號-1 浙公網安備 33010802010119號 增值電信業(yè)務經營許可證[浙B2-20110481] 廣播電視節(jié)目制作經營許可證[浙字第05637號]