程序化交易的書籍在市面上層出不窮,大多數(shù)打算進(jìn)行程序化交易的朋友都會去閱讀一兩本或者更多。我敢肯定通過閱讀大家會發(fā)現(xiàn),這些書里面每一本都會提到交易模型的參數(shù)優(yōu)化的問題。這是由于現(xiàn)代的計算機(jī)處理技術(shù)發(fā)展的同時也帶來了一些困惑,程序化交易可以說是建立在計算機(jī)和通訊技術(shù)的基礎(chǔ)之上的一種交易手段,如果沒有這些基礎(chǔ)設(shè)施,那么程序化交易也就不能存在。正是有了可以高速運(yùn)行的CPU才使我們可以對參數(shù)進(jìn)行優(yōu)化。光憑技術(shù)手段并不足以解決所有交易的問題,這就是為什么說交易是一門藝術(shù)之所在,而我們使用機(jī)械的交易方法是為了盡可能的避免人為的判斷和情緒對交易的不良影響,在我們沒有形成自己的一套交易體系之前通過機(jī)械的方法來進(jìn)行交易無疑可以少走很多彎路,把時間和金錢留給我們用來積累更多的經(jīng)驗(yàn),讓我們首先確保在市場中生存,再去追求如何使交易變成藝術(shù)。因此作為一個力求以科學(xué)和規(guī)律的方法解決交易的問題的人,我試圖通過本文來解決大家在程序化交易中參數(shù)優(yōu)化這個矛盾的問題。 什么是參數(shù)優(yōu)化 在這里首先我們介紹一下什么是參數(shù)優(yōu)化,以便一些剛剛接觸程序化交易的朋友閱讀本文,已經(jīng)了解這方面知識的朋友可以掠過本段。 對于一些模型來說會有一些參數(shù),這些參數(shù)設(shè)置的主要含義可能是為模型提供一個周期,舉個例子來說象n日均線上穿N日均線(n為短周期均線參數(shù),N為長周期均線參數(shù),一般短周期的移動平均要比長周期的變化要快,所以我們通過這兩個不同周期的均線來制定交易計劃),n和N參數(shù)的意義就是指定周期,一般來說參數(shù)的意義都與時間有關(guān)系(周期),但也有其他的用途。參數(shù)優(yōu)化實(shí)際上就是利用計算機(jī)的處理能力對參數(shù)的各個值進(jìn)行一次測試,找到盈利最大的那次值,如上面函數(shù)的n和N,我們利用系統(tǒng)的參數(shù)優(yōu)化功能就可以把n(1~10),N(10~30)都測試一遍,找到最好的那個值。 參數(shù)優(yōu)化的基本矛盾 參數(shù)優(yōu)化的基本矛盾在于,我們選取出的最優(yōu)的參數(shù)數(shù)值只是在我們歷史數(shù)據(jù)上成立的,就是說我們是往回看用這個或這組參數(shù)能夠獲得最大的收益,但行情的發(fā)展卻是無法完全預(yù)料的,我們可以找到歷史上表現(xiàn)最好的參數(shù),但是這個參數(shù)未必在未來是最好的。因?yàn)槊糠N系統(tǒng)設(shè)置參數(shù)的用意不同,更有甚者可能歷史上最好的參數(shù)在未來可能就是一組很糟糕的參數(shù)。比如一個參數(shù)的設(shè)置剛好讓你抓住了一波大行情,在參數(shù)優(yōu)化取到這樣的值時很有可能對未來沒有任何幫助。當(dāng)然有些參數(shù)優(yōu)化是由于減少了平均的虧損率使你的系統(tǒng)的效果更好,這種參數(shù)優(yōu)化可能對未來會有一定意義,但也不是絕對的,因?yàn)樾星榈陌l(fā)展有其不可預(yù)知的一方面。 所以參數(shù)優(yōu)化的基本矛盾在于歷史統(tǒng)計結(jié)果和行情未來發(fā)展之間的矛盾。我寫本文的主要目的就是為了在這樣的問題面前,我們該如何處理,如何辯證的看待參數(shù)優(yōu)化帶來的利與弊,更重要的是提供一個方法讓大家面對參數(shù)優(yōu)化的時候知道該怎么辦。 統(tǒng)計研究 為了研究這個問題,首先我對我自己使用的一個很成熟的模型的各個參數(shù)值進(jìn)行了測試,并把一些關(guān)鍵的數(shù)據(jù)如收益率,交易次數(shù)進(jìn)行了統(tǒng)計。首先介紹一下我的交易系統(tǒng),我的交易系統(tǒng)是屬于趨勢跟隨型的一個交易系統(tǒng),跟所有趨勢跟隨型的交易系統(tǒng)有著同樣的特點(diǎn)。就是趨勢形成的時候進(jìn)入頭寸,當(dāng)權(quán)益回吐一定程度的時候認(rèn)為是是趨勢結(jié)束了軋平頭寸,勝率不高,但在趨勢市中能夠賺錢來彌補(bǔ)在盤整震蕩市中必然要賠的錢。這個系統(tǒng)只有一個參數(shù),其設(shè)置的目的是為了給系統(tǒng)中所使用的計算公式和技術(shù)指標(biāo)提供周期。 這里需要提到的一點(diǎn)是,很多人說模型最好不要設(shè)置參數(shù),做好了模型應(yīng)該把參數(shù)固定在模型內(nèi)部不再改變,我對這個觀點(diǎn)持有不同的看法,我認(rèn)為市場總是在變化的,而我們使用模型就是為了抓住這種變化中的規(guī)律,當(dāng)然這種規(guī)律也是會變的,我給我自己的模型留有一個參數(shù)就是為了調(diào)節(jié)這種變化,比如使用均線系統(tǒng),這幾年因?yàn)檫@個品種總是大起大落,那么我們使用短一點(diǎn)的周期就可以了。因?yàn)樾星樽兓目偸潜染€走的快,不會總觸發(fā)平倉或者開倉條件,但是過了幾年發(fā)現(xiàn)這個品種不是那么活躍了,那么我們就應(yīng)該調(diào)整參數(shù)把周期調(diào)長一些,以適應(yīng)市場。而不是以一刀切的觀點(diǎn)認(rèn)為沒有參數(shù)就不再面對參數(shù)優(yōu)化的問題了。這個觀點(diǎn)之所以錯誤,是他看到了參數(shù)優(yōu)化的矛盾,而沒有意識到我們做交易的最根本目的是什么。我們做交易最根本的目的是在于獲取利潤,而不是逃避僅僅一個參數(shù)優(yōu)化的問題。不過這里還需要提醒的是,參數(shù)固然要設(shè)置,但是不能設(shè)置過多,設(shè)置最多兩個足矣,自己必須搞清楚設(shè)置這個參數(shù)的意義是什么。參數(shù)設(shè)置過多一方面代表的是你的交易思想的不成熟,因?yàn)槌墒斓慕灰姿枷胧亲プ∈袌鲋斜举|(zhì)的東西,而本質(zhì)的東西并不需要太多的變量來對其進(jìn)行描述;另一方面,過多的參數(shù)等于說給程序更大的靈活性,以適應(yīng)更多情況的行情,但你在選擇參數(shù)的時候會面對更大的困惑,因?yàn)槎鄥?shù)的模型經(jīng)優(yōu)化后的一組參數(shù)值很有可能是讓你靈活的系統(tǒng)最符合歷史行情的情況,這就是所謂的“參數(shù)擬合”。 下面我提供一個通過統(tǒng)計我的模型參數(shù)從1到120各個值的時候,盈利和交易次數(shù)的圖表。為了保持?jǐn)?shù)據(jù)來源的一致性,這里我們將這些值都在豆粕主力,2003年9月19日到2008年9月19日這段時間進(jìn)行測試. 首先我們對參數(shù)與交易次數(shù)的結(jié)果進(jìn)行研究,我們發(fā)現(xiàn)隨著參數(shù)的增大,交易次數(shù)在不斷的減小,而且在參數(shù)還比較小的時候交易次數(shù)減少的幅度比較大,而參數(shù)變得很大的時候如50以上的時候交易次數(shù)減小的幅度就變得很小了。這個統(tǒng)計結(jié)果有點(diǎn)像數(shù)學(xué)中的反比例函數(shù)Y=C/X,C為常數(shù)。如圖3 我們可以發(fā)現(xiàn)圖1和圖3兩條曲線非常的相似,我們可以通過回歸分析計算出你的交易系統(tǒng)的這條關(guān)系曲線,但是其實(shí)沒有多大的必要。這里主要說說為什么會形成這樣形狀的一條曲線。首先我們使用的系統(tǒng)是趨勢跟隨型的系統(tǒng),我們設(shè)定的參數(shù)的含義是周期的長短,當(dāng)我們選取的參數(shù)較小的時候,系統(tǒng)中使用的周期(如移動平均)較短,所以系統(tǒng)也較為靈敏產(chǎn)生的信號也就多,當(dāng)參數(shù)較大的時候,系統(tǒng)中使用的周期較長,所以系統(tǒng)所產(chǎn)生的信號也少。當(dāng)系統(tǒng)在周期較短比較敏感的時候,每調(diào)增一些周期所降低的交易次數(shù),要大于在周期較長的時候。這就是為什么這條曲線是這樣的原因。 之所以我做了參數(shù)與交易次數(shù)關(guān)系統(tǒng)計,一方面是因?yàn)檫@是我們選取系統(tǒng)的一個參照,因?yàn)榻灰状螖?shù)多所帶來的交易費(fèi)用也就多,有些人的性格希望系統(tǒng)能多提供一些信號,有些人希望系統(tǒng)的信號不要太多;另一方面我發(fā)現(xiàn)絕大多數(shù)參數(shù)為時間周期的趨勢跟隨系統(tǒng)的交易次數(shù)與參數(shù)之間的關(guān)系都符合這樣的一個規(guī)律,所以大家以后在對自己系統(tǒng)進(jìn)行研究的時候就不用統(tǒng)計交易次數(shù)了,節(jié)省了大家的時間。大家只用知道這種以時間周期為參數(shù)的趨勢跟隨系統(tǒng)的交易次數(shù)會隨著參數(shù)增加而減小,而且在參數(shù)比較小的時候減少幅度大,參數(shù)比較大的時候減少幅度小,當(dāng)你在在考慮選取交易次數(shù)大的參數(shù)還是交易次數(shù)小的參數(shù)的時候就只用比較這兩個參數(shù)的大小就知道他們交易次數(shù)上的變化了。 接下來通過觀察圖2我們發(fā)現(xiàn),參數(shù)值使模型能夠盈利的情況大多集中在一段連續(xù)的參數(shù)范圍內(nèi),如我的這個系統(tǒng)的在3~14之間,82~95之間,最優(yōu)的參數(shù)是11(見圖2)。我們管這些能夠使模型盈利并且連續(xù)的參數(shù)值所構(gòu)成的一段區(qū)間叫做參數(shù)有效域,對于豆粕過去5年的數(shù)據(jù)來說我們模型的參數(shù)有效域是3~14,82~95。一般來說總是會有一段連續(xù)的參數(shù)構(gòu)成有效域,這是由于有效的系統(tǒng)是必須能夠抓住某個特定市場的本質(zhì)特性,而這個特性是一個比較穩(wěn)定的狀態(tài),不是經(jīng)常發(fā)生變化的。而如果出現(xiàn)參數(shù)設(shè)為3能盈利,4就是虧損,5又能盈利,6就得虧損……這樣的情況,要么說明市場不穩(wěn)定,要么就更加可能是你的系統(tǒng)有問題。 我們定義了參數(shù)有效域了之后,下面就要來解決最重要的問題,如何選擇參數(shù),如何對待最優(yōu)化的參數(shù)。通過我上面的統(tǒng)計我們發(fā)現(xiàn)11是這個系統(tǒng)在豆粕過去5年中最優(yōu)的參數(shù),那么,現(xiàn)在的問題就是11這個最優(yōu)的參數(shù)我們到底可不可以用呢? 我們觀察發(fā)現(xiàn)11是在我們的參數(shù)有效域中的,這說明如果我們選擇11作為我們的參數(shù),雖然以后11可能不是能夠使我們獲得最大收益的參數(shù),但是至少它肯定還是會落到參數(shù)有效域中間的。因?yàn)閰?shù)有效域代表的是這個系統(tǒng)是如何抓住某一個特定市場的特性的,而市場的特性變動是需要很長的時間,相對穩(wěn)定的,所以對于一個模型的參數(shù)有效域來說也是相對穩(wěn)定的,不會說今年我們模型測試的參數(shù)有效域是10~20,明年就會變成20~30了,即使變動,其變化幅度也不會很大,可能象今年參數(shù)有效域是10~20,明年可能是9~19。參數(shù)有效域代表的是這個模型對這個市場盈利概率的分布的把握,跟這個市場的本身屬性有關(guān),它只會隨著市場本身屬性的變動而變動。所以這就是說參數(shù)有效域中的參數(shù)是這個市場的普遍特性的代表。 所以我們可以選取11為參數(shù),因?yàn)榧词蛊洳荒茉谝院笫亲顑?yōu)的參數(shù),這個是我們決定不了的問題,但11在參數(shù)有效域中的事實(shí)也證明其還是一個能夠抓住這個市場規(guī)律能夠帶來利潤的參數(shù)。我們選取11可以即享受它成為未來最優(yōu)參數(shù)的很大可能性,又不至于因?yàn)樵O(shè)置個別參數(shù)可能導(dǎo)致的系統(tǒng)虧損的情況,因?yàn)槲覀冎涝谶@個區(qū)間中的參數(shù)值大部分都可以抓住市場的主要脈搏,而市場要變化是很漫長的過程,我們有充足的時間去反應(yīng)這個變化,當(dāng)然這是在你意識到程序化交易并不是一勞永逸的時候。 假如說上面我們測試的結(jié)果最優(yōu)的參數(shù)值不是11而是23的話,那么我們就不能選取這個值,可以把這個值作為一個偶然,剛好參數(shù)為某個值的時候使系統(tǒng)抓住了幾次行情,而不具有普遍意義。對于這種不在參數(shù)有效域中的最優(yōu)化的結(jié)果,我們堅決不能選取。另外在有效域邊界的最優(yōu)化結(jié)果也不能選取,如上面有效域是3~14,如果14是最優(yōu)值,我們也盡可能的不選擇它,因?yàn)閰?shù)值抓住市場規(guī)律的過程也是逐漸增加到達(dá)最佳再慢慢減小到虧損的過程,在有效域兩邊的盈利狀況應(yīng)該小于在中間的那些參數(shù)值。如果出現(xiàn)了在參數(shù)有效值邊界的最優(yōu)參數(shù),很有可能也是因?yàn)閯偤米プ×诉^去的幾次大行情,在選用的時候除非你確定知道它的意義,否則還是選擇次優(yōu)的在參數(shù)有效值中間的那些參數(shù)比較可靠。 總結(jié) 以上就是我根據(jù)實(shí)踐和研究發(fā)現(xiàn)的關(guān)于參數(shù)優(yōu)化的以及該如何處理參數(shù)優(yōu)化普遍性與偶然矛盾的方法,還有很多問題有待于進(jìn)一步研究和推敲,歡迎有想法的朋友來跟我切磋交流,或者指正本文中的不足之處。總結(jié)一下本文,參數(shù)優(yōu)化并不是一無是處,正確的用好參數(shù)優(yōu)化可以給你帶來額外的收益,并且可以讓你更加了解市場的本質(zhì)把握市場本質(zhì)的變化。在趨勢跟隨型模型中如果參數(shù)代表的是周期長短,那么參數(shù)與交易次數(shù)的關(guān)系為反比例關(guān)系,即參數(shù)值增大交易次數(shù)減少,并且在參數(shù)較小的時候,參數(shù)變化所引起的交易次數(shù)變化幅度要比參數(shù)較大時候要大。我們在決定是否選取最優(yōu)參數(shù)之前,先應(yīng)該確定參數(shù)有效域,哪些連續(xù)在一起的參數(shù)都能夠盈利,有效域才是代表的是市場的本質(zhì)特性的標(biāo)志。之后我們再看最優(yōu)的那個參數(shù)是否在有效域中,如果不在那么應(yīng)該果斷舍棄,如果在有效域的邊界,那么根據(jù)情況考慮,如果在有效域中那么可以選用。
責(zé)任編輯:翁建平 |
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān)。本網(wǎng)站對文中陳述、觀點(diǎn)判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。
本網(wǎng)站凡是注明“來源:七禾網(wǎng)”的文章均為七禾網(wǎng) levitate-skate.com版權(quán)所有,相關(guān)網(wǎng)站或媒體若要轉(zhuǎn)載須經(jīng)七禾網(wǎng)同意0571-88212938,并注明出處。若本網(wǎng)站相關(guān)內(nèi)容涉及到其他媒體或公司的版權(quán),請聯(lián)系0571-88212938,我們將及時調(diào)整或刪除。
七禾研究中心負(fù)責(zé)人:劉健偉/翁建平
電話:0571-88212938
Email:57124514@qq.com
七禾科技中心負(fù)責(zé)人:李賀/相升澳
電話:15068166275
Email:1573338006@qq.com
七禾產(chǎn)業(yè)中心負(fù)責(zé)人:果圓/王婷
電話:18258198313
七禾研究員:唐正璐/李燁
電話:0571-88212938
Email:7hcn@163.com
七禾財富管理中心
電話:13732204374(微信同號)
電話:18657157586(微信同號)
七禾網(wǎng) | 沈良宏觀 | 七禾調(diào)研 | 價值投資君 | 七禾網(wǎng)APP安卓&鴻蒙 | 七禾網(wǎng)APP蘋果 | 七禾網(wǎng)投顧平臺 | 傅海棠自媒體 | 沈良自媒體 |
? 七禾網(wǎng) 浙ICP備09012462號-1 浙公網(wǎng)安備 33010802010119號 增值電信業(yè)務(wù)經(jīng)營許可證[浙B2-20110481] 廣播電視節(jié)目制作經(jīng)營許可證[浙字第05637號]
技術(shù)支持 本網(wǎng)法律顧問 曲峰律師 余楓梧律師 廣告合作 關(guān)于我們 鄭重聲明 業(yè)務(wù)公告
中期協(xié)“期媒投教聯(lián)盟”成員 、 中期協(xié)“金融科技委員會”委員單位