中國股市創(chuàng)立以來的二十多年間,股市從公開的投融資平臺,變成了許多股民一夜暴富的夢境。股市淪為賭場,散戶們被當(dāng)作“韭菜”。拋開牛市的狂熱和股災(zāi)的哀嚎,我們需要靜下心來想一想,是不是我們應(yīng)該用更理性或是更科學(xué)的方法來對待股市投資這樣一件嚴(yán)肅的事情呢?新興的量化交易正在嘗試提供一種理性投資的解決方案,通過大量的計算建立科學(xué)的盈利模型,為股民指引投資策略。最近alphago的成功更讓我們不禁期待人工智能未來在投資領(lǐng)域的廣闊應(yīng)用空間。
你還在看電腦面前盯盤看K線嗎? 你還在為一次虧損寢食難安,為一次盈利欣喜若狂嗎? 如果是,那也許你就OUT了。隨著量化交易的蓬勃發(fā)展,一群統(tǒng)計狗、程序猿們已經(jīng)開始使用計算機(jī)模型進(jìn)行交易了,這些程序用不休眠,無人值守,24小時為你監(jiān)控市場,產(chǎn)生利潤。真有那么好的事嗎?這不就是印鈔機(jī)了嗎? 請看下面分解。>>>點(diǎn)擊咨詢量化金融分析師AQF實訓(xùn)項目

量化交易的獲利來源于市場的無效性。如果市場服從隨機(jī)游走,那大部分金融機(jī)構(gòu)都可以關(guān)門了,還炒什么股啊。如果市場是有效的,那可能一個人一輩子都碰不到大牛市。持續(xù)不斷的上漲的K線排列,概率該有多小啊。一個比較現(xiàn)實的假設(shè)是,市場在一定程度上是無效的,單純的價格序列中存在大量的獲利機(jī)會。

量化交易是概率的游戲,一個量化交易策略是否能夠盈利,關(guān)鍵看勝率和盈虧比。勝率是盈利次數(shù)占總交易數(shù)的百分比,盈虧比是平均盈利和平均虧損的倍數(shù)關(guān)系。這兩者需要平衡,也很難兼顧。例如,玩彩票盈虧比很高,勝率很低,所以總體是虧損的。

上圖是個高盈虧比低勝率策略的策略。雖然盈利的交易很稀疏,但是卻遠(yuǎn)離零點(diǎn),虧損交易很密集,但緊貼零點(diǎn),所以從右邊的資金曲線上看,策略總體上是盈利的。所以,量化交易者會坦然的接受虧損,也會正確的看待盈利,它們只是交易系統(tǒng)的一個部分。

下面用一個例子來說明一個交易策略的生產(chǎn)過程。某交易員發(fā)現(xiàn),價格突破了一些關(guān)鍵點(diǎn)位后,會向著突破的方向持續(xù)發(fā)展。于是我們設(shè)計一個簡單的突破策略:當(dāng)價格突破近期高低點(diǎn)時,相應(yīng)的做多或做空。

接下來,就要進(jìn)行進(jìn)一步細(xì)化,做成一個模型。需要回答這么幾個問題:
時間框架是怎樣的? 小時線、日線還是周線?
如何定義高低點(diǎn)? 往回看幾跟K線?
進(jìn)場后如何止損? 固定點(diǎn)位止損還是ATR(平均真實波動)止損?

將上述問題具體化以后,就用程序代碼將它們予以實現(xiàn)。國內(nèi)比較普遍使用的是tradeblazer和multicharts。當(dāng)然,技術(shù)實力較強(qiáng)的交易者也可以選擇自行開發(fā)交易平臺,用java,python等語言予以實現(xiàn)。

在策略構(gòu)建的初期,一些參數(shù)是待定的。如均線的K線條數(shù),止損點(diǎn)位,止盈點(diǎn)位等。這些參數(shù)都可以用遍歷的方法進(jìn)行優(yōu)化,也就是說,窮舉各種參數(shù)的組合,找到使盈利最大化的那一套參數(shù)。

這里,我們對止盈點(diǎn)位和止損點(diǎn)位進(jìn)行了優(yōu)化,繪制了一副3D優(yōu)化圖。X和Y軸分別代表被優(yōu)化的參數(shù),即止盈點(diǎn)和止損點(diǎn),Z軸代表目標(biāo)函數(shù),即盈利。我們可以看到,盈利在不同的參數(shù)組合情況下高低起伏,呈現(xiàn)出了一個個山峰、平原和低谷。那么,我們是否應(yīng)該選擇那些山峰呢?其實不是。因為選擇這些山峰可能會帶來一個問題,就是過度擬合。表現(xiàn)過好的參數(shù)組合滿足了過去市場的某種特殊情況,只要參數(shù)發(fā)生微小變化,策略表現(xiàn)就會急劇下降,這就是”山峰”的含義。相比而言,目標(biāo)函數(shù)的“平原”區(qū)是更為穩(wěn)定的參數(shù),因為參數(shù)在這個范圍內(nèi)變化,策略表現(xiàn)是穩(wěn)定的。所以我們要選擇平原。下面這幅圖是參數(shù)經(jīng)過優(yōu)化后的策略表現(xiàn),資金曲線圖表現(xiàn)出劇烈的波動,這反應(yīng)了策略思路本身存在缺陷,高低點(diǎn)的突破并不能對價格起到很好的預(yù)測作用,參數(shù)優(yōu)化并不能解決策略思路本身的問題。


如果我們找到了一個可行的策略,又選擇了合適的參數(shù),策略回測表現(xiàn)讓人滿意,下一步就是樣本外測試了。樣本外測試的目的,是用新的數(shù)據(jù)對策略進(jìn)行檢驗,考驗策略的盈利能力。在之前的測試中,我們已經(jīng)使用了一部分的歷史數(shù)據(jù)。策略是在這些歷史數(shù)據(jù)中被“訓(xùn)練”出來的,很容易出現(xiàn)過度擬合的問題。極端情況下,只要參數(shù)數(shù)量足夠多,我們是可以輕易的通過歷史數(shù)據(jù)訓(xùn)練出100%勝率的策略。但這樣的策略并不具有通用性,如果用新的數(shù)據(jù)測試這樣的策略,結(jié)果一定是糟糕的。這就是我們進(jìn)行樣本外測試的原因。樣本外數(shù)據(jù)也是歷史數(shù)據(jù),只是我們在測試初期預(yù)留出來的,沒有碰過,是“干凈”的數(shù)據(jù)。如果策略在新數(shù)據(jù)下的表現(xiàn)不好,那么這樣的策略僅僅是過度擬合的結(jié)果。上圖就是一個過度擬合的例子,策略盈利在樣本外數(shù)據(jù)中急劇下降。

下一個測試是蒙特卡洛實驗。在試驗中,我們模擬未來市場可能出現(xiàn)的各種變化,考察策略是否足夠健壯。這些變化可能是價格的變化,也可能是參數(shù)的變化,還有可能是交易順序的重新排序,不一而足。借助實驗軟件,我們可以進(jìn)行上千次的重復(fù)實驗,看看策略是否還能生存下來。上圖是蒙特卡羅的實驗結(jié)果,紅線代表原市場條件的測試結(jié)果,綠色代表最惡劣的5%的市場條件,紫色代表實驗平均結(jié)果??梢钥吹?,策略在最差的5%情況下,仍然能夠維持盈利,說明策略是健壯的。

下面分別介紹一下策略的種類。從策略的交易思路看,大致可分為趨勢策略(動量策略)和逆勢策略(均值回轉(zhuǎn)策略)。兩種策略分別適應(yīng)于不同的品種和市場條件。趨勢策略的常見例子是均線交叉策略。短均向上突破長均做多,向下突破做空。趨勢策略捕捉了市場的沖動情緒,當(dāng)價格上漲時,大量交易者非理性的跟進(jìn),價格下跌時,人們又急劇恐慌。趨勢策略者就可以“順應(yīng)趨勢”,追漲殺跌,讓“趨勢成為朋友”。

逆勢策略則相反,逢高賣出,逢低買入。在某些市場的某些時段中,價格確實存在這樣的高低震蕩的情況,逆勢者容易利用這樣的價格屬性頻繁的積累微小利潤。但是,市場總是趨勢與震蕩并存,我們很難判斷市場何時震蕩,何時趨勢,有沒有解決辦法呢?

當(dāng)然有。我們要把思路打開,將目光從單個品種轉(zhuǎn)向多個品種的組合價差上,也就是常說的配對交易。例如不同到期日的期貨合約價差就存在高度的相關(guān)性。例如,我們將兩個不同到期日橡膠合約的價格序列放在一張圖上,就可以看到他們之間的高度相關(guān)性。雖然兩個合約各自的價格呈現(xiàn)出趨勢屬性,但它們的價差是穩(wěn)定的震蕩屬性。

我們通過震蕩策略,交易兩者的價差,就可以獲得比較穩(wěn)定的收益。價差組合的方式有很多,并不局限于兩個品種,我們可以通過下列通用公式,配置出無數(shù)個可能盈利的價差組合。哪個組合式可以盈利的呢?自己去挖吧。


下面來講講倉位管理的問題。倉位管理,就是決定某一策略分配多少資金的問題,初學(xué)者往往過分執(zhí)迷于策略思路本身的盈利,而忽略了倉位管理。實際上,倉位是量化交易最重要的環(huán)節(jié)。即使擁有了盈利的策略,如果倉位管理不當(dāng),完全可能爆倉出局。下面我們來探討一個有趣的倉位管理方法,叫martingale.這是一種死扛型的倉位管理機(jī)制,每經(jīng)歷一次虧損,我們在下次交易時就把倉位放大一倍,一旦盈利,我們就把倉位恢復(fù)到初始值。例如,當(dāng)經(jīng)歷了3次連續(xù)虧損之后,倉位數(shù)分別是,1,2,4。如果第4次交易盈利了,我們就把倉位恢復(fù)到1.martingale的資金曲線很好看,幾乎是一條直線,因為通過倉位的放大,只要獲得一次盈利,就可以把之前所有的虧損全部扳回。資金曲線迅速恢復(fù)。我們看看上面這幅圖,是不是很讓人興奮呢?

不幸的是,天下沒有免費(fèi)的午餐。交易者的資金永遠(yuǎn)是有限的,但martingale的虧損卻是無限的,假設(shè)連續(xù)虧損次數(shù)進(jìn)一步放大,變成5次,10次,那么倉位也會急劇放大,變成32和1024,最后,因為交易者資金不足,而出現(xiàn)爆倉。上圖是10000次martingale后出現(xiàn)的爆倉現(xiàn)象。隨著交易頻率增高,爆倉的幾率也逐漸增大。所以,martingale也是一直飽受詬病的一個倉位管理策略。

可是,萬事沒有絕對。Martingale好還是不好,完全取決于交易者的應(yīng)用。影響爆倉概率的參數(shù)有這么幾個:1、策略思路本身的勝率。2、策略的盈虧比。3、每次虧損后翻倍的倍數(shù)。4、盈虧交易的概率分布??梢韵胍?,勝率越高,連續(xù)虧損的概率越小;盈虧比越大,每次虧損的回撤就越小;翻倍數(shù)量越大,虧損分布越集中,越容易爆倉;

我們將翻倍系數(shù)從2降低為1.6后,用在一個勝率50%,盈虧比為1.2的策略上之后,經(jīng)過10000次交易。仍然沒有爆倉。

我們再來說說量化交易的新趨勢----人工智能。手工交易者的技術(shù)分析,甚至是基本面分析,未來都有可能被機(jī)器所取代。這在計算機(jī)領(lǐng)域,叫做模式識別,通俗的講,叫找規(guī)律。技術(shù)分析的本質(zhì)就是尋找價格規(guī)律,基本面分析又何嘗不是呢?有了計算機(jī)的幫助,這些找規(guī)律的事情完全可以由計算機(jī)完成,人工神經(jīng)網(wǎng)絡(luò)就是一個典型的應(yīng)用案例。在上圖中,我們用一些簡單的數(shù)學(xué)函數(shù),模擬出一個個的神經(jīng)元。這些神經(jīng)元能夠從外界接受價格信息和基本面數(shù)據(jù),經(jīng)過函數(shù)轉(zhuǎn)換變成輸出,反射到下一個神經(jīng)元,最后從右邊輸出。這些轉(zhuǎn)換函數(shù)的初始參數(shù)是隨機(jī)的,但當(dāng)我們進(jìn)行成千上萬次訓(xùn)練后,這些參數(shù)得到逐漸的優(yōu)化,最后生成一個準(zhǔn)確率較高的預(yù)測模型。模型的具體原理,是我們無法從參數(shù)的數(shù)值去理解的,這相當(dāng)于一個黑盒。這樣的黑盒,可能可以找到我們?nèi)四X無法發(fā)現(xiàn)的一些數(shù)據(jù)規(guī)律,也許只是參數(shù)擬合的結(jié)果,需要一系列的測試去加以驗證。但它相比人腦而言,能夠更加細(xì)致的發(fā)現(xiàn)一些隱秘的規(guī)律。

最后,再提幾點(diǎn)對量化交易職業(yè)的感受。量化交易是否能夠排除心理因素的干擾?其實未必。量化交易者承受著不一樣的心理壓力。當(dāng)你嘗試了無數(shù)種指標(biāo)后,還是無法設(shè)計出一套盈利的模型,你是否還會繼續(xù)堅持?或者干脆放棄去做點(diǎn)別的?當(dāng)策略做出來后,在實盤中連續(xù)虧損時,你是否應(yīng)該繼續(xù)堅持策略?這都是考驗量化交易員意志的時候。
另外,量化交易這么一個新興領(lǐng)域,未來的路在何方? 是否會被超級機(jī)器所取代?機(jī)構(gòu)的參與是否會讓市場盈利空間縮水?這都是有待時間去回答的問題。>>>點(diǎn)擊咨詢量化投資前景
.jpg)
金程推薦: AQF就業(yè)前景 AQF證書含金量 AQF量化金融分析師年薪
AQF考友群:760229148
金融寬客交流群:801860357
微信公眾號:量化金融分析師


.png)


