基于基本面因子的量化交易模型解析
投研機(jī)構(gòu)對商品期貨價格變化的研究,無不是以商品基本面分析作為出發(fā)點(diǎn),但通常沒有給出明確的交易建議,所以效果難以被觀測。本文以經(jīng)濟(jì)學(xué)基本原理為基礎(chǔ),賦予基本面數(shù)據(jù)的合理算法,結(jié)合對期貨交易過程中的量化控制,設(shè)計成集基本面分析和交易于一體的量化交易模型,以模擬交易效果證明基本面分析的有效性。?
[量化交易的基本概念]
投資者參與期貨交易的目的并不相同,有投機(jī)、套保、套利或者其他,雖然投資者也可以運(yùn)用其他金融工具實現(xiàn)自己的目的,但所有的工具都是中性的,金融工具的多樣化、復(fù)雜化,只不過給了投資者更多的選擇,以滿足他們不同的需求偏好。然而,無論投資者追求大概率的小回報,還是追求小概率的大回報,都必須在價格運(yùn)行方向或區(qū)間判斷上具有優(yōu)勢,使交易結(jié)果的數(shù)學(xué)期望值為正才能獲利。雖然加大杠桿倍數(shù)會使可能的收益放大,但同時也會使可能的虧損放大,對增加收益的數(shù)學(xué)期望值于事無補(bǔ)。
一般而言,行情分析方法大致分為三類:基本面分析、盤面技術(shù)分析以及兩者的結(jié)合。投資者在做分析時考慮的因素和具體方法各不相同,但效果到底如何呢?投資者可以用真金白銀去試,從實踐中去總結(jié)。不過,對量化交易者來說,總是要把影響價格變化的各種因素進(jìn)行量化(數(shù)字化、指標(biāo)化)分析,用歷史數(shù)據(jù)來模擬交易,檢驗其交易結(jié)果,評估其可行性。
量化交易是在量化分析的基礎(chǔ)上,建立標(biāo)準(zhǔn)化的交易策略或規(guī)范,對實時接收到的數(shù)據(jù)信息進(jìn)行運(yùn)算,給出明確交易指令的交易模式,其中還包括對交易過程和交易結(jié)果的量化控制。量化交易策略可以很簡單,也可以很復(fù)雜,其特點(diǎn)是可測量、可復(fù)現(xiàn)、可預(yù)期等。量化交易不一定是自動化(程序化)交易,也可以手動下單,重點(diǎn)是分析要量化,交易要系統(tǒng)化、標(biāo)準(zhǔn)化,形成不被人情緒所左右的規(guī)范。
[宏觀對商品價格的影響]
下面重點(diǎn)說明基于供需基本面量化交易模型的研究思路,并展示其驗證過程和模擬效果。量化交易本身是一種研究方法,量化分析和模擬交易結(jié)果的統(tǒng)計,能夠幫助我們了解各種分析方法的效果,提高我們對交易的認(rèn)識。
在這里有必要談一下宏觀面對商品價格的影響,因為宏觀面對商品價格的影響最大,包括持續(xù)時間長久、影響范圍寬廣。宏觀經(jīng)濟(jì)分析中最重要的理論之一是周期論,我們生活在周期中,大的周期長達(dá)幾十年甚至上百年,而在有生之年,我們的生活會怎么樣,是越來越好,還是停滯不前,甚至越來越差,這除了與我們的自身努力以及各種機(jī)緣巧合相關(guān)外,更重要的是我們生活在什么地方、生活在什么年代,處于什么樣的大經(jīng)濟(jì)周期中。由于小的經(jīng)濟(jì)周期是5—10年(當(dāng)然這個時間跨度是難以被準(zhǔn)確測量的),疊加在大的經(jīng)濟(jì)周期上,所以即便是經(jīng)濟(jì)持續(xù)增長,增長速度也有快有慢,整體呈現(xiàn)周期性的波動。長期經(jīng)濟(jì)增長由生產(chǎn)力提高決定,生產(chǎn)力提高包括技術(shù)革新、資本設(shè)備投入增加、勞動力人口增加等。
下面用同比指標(biāo)過濾掉經(jīng)濟(jì)長期增長趨勢,可以清晰看到小經(jīng)濟(jì)周期的波動,如圖所示:
圖為名義GDP增長與GDP增長同比
圖中灰色曲線是名義國內(nèi)生產(chǎn)總值(GDP),顯示我國經(jīng)濟(jì)長期增長;黑色曲線是GDP季度同比增長,反映經(jīng)濟(jì)增長速度的變化。
重要的經(jīng)濟(jì)周期有信貸周期、庫存周期、產(chǎn)能周期和房地產(chǎn)周期等。其中,最重要的是信貸周期,被稱為“周期之父”,其他周期都與之有關(guān)聯(lián)。下面重點(diǎn)看一下信貸周期對商品價格的影響。
如下圖所示,商品價格同比波動較M1同比稍微滯后,但步調(diào)基本保持一致,除了圖中圈標(biāo)的那一段時間,橡膠和銅的價格波動與M1出入較大。這可能是外部原因造成的,因為這兩種商品生產(chǎn)所需的原材料都嚴(yán)重依賴進(jìn)口。另外,橡膠既是工業(yè)原材料,同時又是農(nóng)產(chǎn)品,所以橡膠的周期可能與其農(nóng)產(chǎn)品特性有關(guān)。?
?
圖為M1變化與商品價格變化
由此可以得出,宏觀經(jīng)濟(jì)增長、資產(chǎn)價格、商品價格都呈周期性波動。無論是投資還是投機(jī),我們尤其要關(guān)注信貸周期和房地產(chǎn)周期。除了制度性改革外,政府和央行為實現(xiàn)宏觀經(jīng)濟(jì)增長各項指標(biāo),會通過財政和貨幣政策對宏觀經(jīng)濟(jì)周期進(jìn)行調(diào)控。因此,金融機(jī)構(gòu)在做宏觀經(jīng)濟(jì)分析時,會密切關(guān)注和預(yù)測世界各國政府及央行的舉動。
周期如此重要,但應(yīng)用起來卻很困難,因為周期的拐點(diǎn)難以被準(zhǔn)確預(yù)測,而且期貨交易是杠桿交易,交易者難以忍受大周期中的次級反向波動。筆者認(rèn)為,周期在交易中的應(yīng)用,可以體現(xiàn)在對交易品種凈頭寸以及產(chǎn)品或資產(chǎn)賬戶整體頭寸配置的管理方面。
[微觀對商品價格的影響]
如果說宏觀研究能描繪出商品價格波動的大致輪廓,那么要想提高分辨率把這個輪廓看得更清楚一些,就要研究商品的供需關(guān)系,這是微觀經(jīng)濟(jì)的范疇。決定一種商品價格的因素非常復(fù)雜,我們只能先進(jìn)行簡化,找到其中最關(guān)鍵的三個要素——價格、供給量、需求量。
圖為供給曲線變化
商品供給量是價格的函數(shù),供給曲線S的線性函數(shù)表達(dá)式為QS=-δ+γ×P。其中,QS是商品供給量,P為商品價格,δ、γ為常數(shù)。供給函數(shù)描述的是價格越高,商品供給量越大,所以供給曲線是一條向右上傾斜的曲線。我們也可以用非線性函數(shù)來描述供給量和價格之間的關(guān)系,不過無論是線性函數(shù)還是非線性函數(shù),都不能準(zhǔn)確計算其數(shù)值,這里面有大量的假設(shè)和無法確定數(shù)值的參數(shù)。不過,我們只需要表達(dá)因變量跟隨自變量是正向變動關(guān)系還是反向變動關(guān)系,不影響分析結(jié)果。
商品需求量也是價格的函數(shù),表達(dá)式為Qd=α-β×P。其中,Qd為商品需求量,P為商品價格,α、β為常數(shù)。需求函數(shù)描述的是價格越高,需求量越小,所以需求曲線D是一條向右下傾斜的曲線。供給曲線和需求曲線所表達(dá)的供給量和需求量與價格之間的關(guān)系,與我們的經(jīng)驗和直覺完全一致。
供給曲線S和需求曲線D相交于E點(diǎn),此處QS=?Qd,則-δ+γ×P=α-β×P,解方程求價格為Pe=(α+δ)/(β+γ)。Pe即為均衡價格,是商品的市場需求量和市場供給量相等時的價格,此時市場出清。通常市場并不知道均衡價格是多少,市場價格是買方和賣方交易的結(jié)果,偏離均衡價格是常態(tài),但市場價格會有自動向均衡價格回歸的傾向。當(dāng)均衡價格不變時,市場價格以均衡價格為中心,上下振蕩。
上述是一個商品定價的靜態(tài)模型,?α、β、δ、γ都被設(shè)定為常數(shù)不變,用靜態(tài)分析方法,可以得到商品的均衡價格。實際上α、β、δ、γ這幾個參數(shù)是可變的,可以稱之為可變的常數(shù),是外生變量。當(dāng)商品的供給和需求(注意不是供給量和需求量,這是內(nèi)生變量)發(fā)生變化時,至少會改變α和δ的值,即改變供給曲線和需求曲線的截距,使供給曲線和需求曲線發(fā)生平移。
比如,價格變化影響鋼廠的利潤,進(jìn)而影響鋼材的供給量,此時供給曲線不會移動,價格變化可以解釋供給量的變化,但如果是技術(shù)進(jìn)步、設(shè)備投入造成產(chǎn)能擴(kuò)張,此時供給增加不能被價格變化解釋,是δ值發(fā)生改變,供給曲線整體向右平移。同時,房地產(chǎn)開發(fā)投資對鋼材需求量的價格彈性也很小,它的變化使α值發(fā)生變化,需求曲線整體向右或者向左平移。供給曲線移動和需求曲線移動會在新的位置發(fā)生交叉,如上圖中虛線所示,這個交叉點(diǎn)所對應(yīng)的價格就是新的均衡價格,均衡價格運(yùn)動,市場價格也會隨著進(jìn)行趨勢運(yùn)動。
[靜態(tài)定價模型初級檢驗]
綜上所述,商品價格波動可以解釋為,跟隨均衡價格變化的趨勢和圍繞均衡價格振蕩的疊加。行情研究的重點(diǎn)在于商品均衡價格的運(yùn)動方向,即市場價格變化趨勢。道理很簡單,現(xiàn)在我們用歷史數(shù)據(jù)來驗證,根據(jù)上述分析方法模擬商品價格的變化,與實際價格變化是否吻合。事實上,大部分有關(guān)商品基本面的研究,最后都會歸集在商品的供需變化之上,如果供需原理不能得到實際價格的驗證,那問題就大了。首先來看螺紋鋼價格走勢:
?圖為線材模型價格與現(xiàn)貨價格
這張圖的數(shù)據(jù)長達(dá)17年,其中用線材現(xiàn)貨價格代替了螺紋鋼現(xiàn)貨價格,因為線材現(xiàn)貨價格數(shù)據(jù)的歷史更長,并且和螺紋鋼價格的變化幾乎完全一致。可以看到,除了受2008年金融危機(jī)及之后4萬億元投資托底經(jīng)濟(jì)政策的影響,螺紋鋼實際價格變化領(lǐng)先于模型價格(因為模型沒有表達(dá)金融危機(jī)對價格的影響)外,其他時間段模型的價格變化與實際價格變化的步調(diào)一致。
再來看鐵礦石的靜態(tài)定價模擬情況:
圖為鐵礦石模型價格與現(xiàn)貨價格
基本上,模型價格變化和進(jìn)口鐵礦石實際價格變化步調(diào)一致,區(qū)別在于波動幅度不同。鐵礦石比螺紋鋼復(fù)雜得多,而且其供給基本上被寡頭壟斷,模型在計算時對數(shù)據(jù)進(jìn)行了篩選,才有了圖中這個效果。
?接下來看動力煤的靜態(tài)定價模擬情況:?
?圖為動力煤模型價格與現(xiàn)貨價格
圈標(biāo)的那一段時間,模型無法解釋現(xiàn)貨實際價格走勢,模型價格變化與實際價格走勢嚴(yán)重背離,但如果把模型這一段由向上改為向下,就會發(fā)現(xiàn)模型整體的價格變化與實際價格變化極為相似。
最后來看橡膠的靜態(tài)定價模擬情況:
圖為橡膠模型價格與期貨價格
結(jié)果如上,有兩處明顯不一致,其他時間段在變化方向和轉(zhuǎn)折時點(diǎn)上基本吻合。變化幅度沒辦法對比,因為模型算不出絕對價格。
從以上分析可以看到,在用不同商品對模型算法進(jìn)行驗證的過程中,模型的價格變化多少都出現(xiàn)了與實際價格不符的情況,這可能與數(shù)據(jù)質(zhì)量有關(guān)系,也可能有更深層次的原因。在微觀上,不同行業(yè)、不同商品有不同的基本面特點(diǎn),所謂隔行如隔山,這就要求我們對不同商品的基本面做到足夠?qū)I(yè),才能找到有效的數(shù)據(jù)和合理的算法,尤其是農(nóng)產(chǎn)品的生產(chǎn)周期很長,用靜態(tài)定價模型來解釋其波動可能是行不通的。
不過,雖然我們無法算出商品均衡價格的絕對值(這個對理論和數(shù)據(jù)質(zhì)量都是巨大挑戰(zhàn),但也不是不可以研究),但可以大致推算出其變化方向、模型的價格變化方向以及上述商品實際價格變化方向和關(guān)鍵轉(zhuǎn)折點(diǎn)基本吻合。由此可以證明,商品供需變化對價格趨勢變化起著決定性的影響,模型算法基本合理。
[靜態(tài)定價模型測試效果]
有了對基本面的量化研究和預(yù)測,我們就對價格變化方向有了基本的判斷,不會漲時看漲、跌時看跌,這樣就可以解決交易問題了。
雖然上述用供需因子變化來解釋商品實際價格變化軌跡,采用的是月頻數(shù)據(jù),分辨率仍然不高,難以滿足期貨交易的要求,同時基本面的數(shù)據(jù)大多滯后很長時間才能公布出來,這些數(shù)據(jù)只能做歷史分析和檢測,而要做交易必須對這些數(shù)據(jù)進(jìn)行預(yù)估,這對量化交易來說有點(diǎn)麻煩,因為量化交易是以客觀事實為基礎(chǔ)的,而對未來數(shù)據(jù)進(jìn)行預(yù)估則存在很強(qiáng)的主觀性,但我們可以通過得到的高頻數(shù)據(jù),比如,周頻甚至日頻數(shù)據(jù),提前推算出我們所需要的低頻數(shù)據(jù),這種方法不僅可行,而且是必須的。
此外,期貨交易不是只有漲跌邏輯,還有預(yù)期和現(xiàn)實的拉鋸,以及成本、利潤、期現(xiàn)、跨期、上下游及相關(guān)品種的關(guān)系等邏輯,不同的邏輯決定了不同的交易行為,由此對期貨價格構(gòu)成了影響。這些因子和邏輯都屬于理性范疇,可以納入模型進(jìn)行計算,提高模型對價格波動的解釋能力。
不過,價格是交易的結(jié)果,人們完全可能對信息產(chǎn)生誤判,加上資金的博弈、群眾心理的變化,這些都會使市場價格出現(xiàn)錯誤或非理性波動。因此,假設(shè)存在完美正確的理論和模型,由于它是理性的,所以必定不能解釋錯誤的、非理性的價格波動。
對于解釋不了的東西,我們還有最后一道防線——對虧損的控制。以上種種分析都是在尋找影響價格變化的原因,以此來預(yù)測價格運(yùn)動方向,但所有模型最終都必須把市場實際價格變化考慮在內(nèi),因為如果模型預(yù)測是正確的,但被錯誤的市場價格運(yùn)動消滅了或損失慘重,那么對這種正確的堅持,就是錯誤的,何況我們又何以斷定模型預(yù)測一定是正確的呢?因此,在價格實際運(yùn)動方向與模型判斷相反時,等待;在交易出現(xiàn)虧損時,離場。于是,模型在交易過程中為控制風(fēng)險,會不可避免地產(chǎn)生損耗(保護(hù)性止損),這便是量化交易的成本。主觀交易同理。
下面來展示一下基于供需基本面和數(shù)據(jù)挖掘的交易模型的測試業(yè)績圖,以螺紋鋼期貨為例:
?
圖為螺紋鋼基本面因子交易模型業(yè)績曲線1、2
需要說明的是,雖然我們是自上而下設(shè)計模型,但沒辦法一蹴而就,不可避免地要對算法和參數(shù)進(jìn)行調(diào)試,這便產(chǎn)生了擬合。為避免過度擬合,先在一個商品上做實驗和調(diào)試,然后照搬到其他商品上進(jìn)行樣本外檢測,最后要求算法和參數(shù)對同類商品普遍適用,或者與行業(yè)基本面分析習(xí)慣保持一致。
雖然看上去資金曲線不錯,但實際上這是用時間堆積起來的效果。可以放大看一下2019年的交易信號,如下圖所示:
?
圖為螺紋鋼基本面因子交易模型信號片段
資金曲線馬上就不平滑了,我們利用這個圖來說明交易過程中的資金損耗。2019年春節(jié)后,模型以看空螺紋鋼為主,但也發(fā)生了幾次反復(fù),這實際上說明了價格往上和往下的驅(qū)動都不足,市場情緒對價格的影響更大,模型在交易過程中出現(xiàn)了大量損耗,利潤回吐。在2019年6月下旬短暫做多略有盈利后,又在7月試空幾次終獲成功,資金曲線再創(chuàng)新高。因此,量化交易模型并非通過神奇而又恰到好處地捕捉到最佳交易時點(diǎn)而獲利,而是通過長時間的堅持和重復(fù)試錯,才能發(fā)揮其判斷上的優(yōu)勢,取得正收益。總之,確定性的交易機(jī)會,主觀交易做不到,量化交易更做不到。??
注:本文轉(zhuǎn)載自? ??期貨日報
推薦閱讀:
1.一個量化策略師的自白(好文強(qiáng)烈推薦)
2.股票期貨經(jīng)典的量化交易策略都在這里了!(源碼)
3.期貨/股票數(shù)據(jù)大全查詢(歷史/實時/Tick/財務(wù)等)
4.當(dāng)真躺著賺錢?量化交易的十大難題
5.從量化到高頻交易,不可不讀的五本書
6.如何有效的規(guī)避量化交易中的滑點(diǎn)?
總結(jié)
以上是生活随笔為你收集整理的基于基本面因子的量化交易模型解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中final使用
- 下一篇: LeetCode 258 Add