客觀化系統(tǒng)化的交易金融工具相比主觀方法有許多的優(yōu)勢: (1)由于各種認知偏差和情緒因素,智能化設計的自動交易系統(tǒng)可以并經常超越主觀交易的績效。 (2)一個有效的數據挖掘程序可以發(fā)現(xiàn)市場行為中大多數人看不到的細微模式。 (3)自動化交易系統(tǒng)絕對是可重復的,而主觀的交易系統(tǒng)受制于一時的興致。交易決策的一致性對于長期盈利能力至關重要。重復性也很有價值,因為它可以審查交易,并通過信號過濾來提供性能。 (4)最適當設計的自動交易系統(tǒng)經得起嚴格的統(tǒng)計分析的考驗,可以評估性能指標,如預期收益率,以及系統(tǒng)績效中運氣成分的占比。 (5)無人值守的操縱是可能的。 自動交易系統(tǒng)通常用于一個或兩個應用項目。交易系統(tǒng)合成與提升(Trading System Synthesis and Boosting,TSSB)是一個先進的程序,能夠生成兩個應用:(1)一個完整獨立的交易系統(tǒng),能進行所有的交易決策;(2)一個能夠通過篩選交易信號,提高已有交易系統(tǒng)性能的模型。我們稱此為“Boosting”(Boosting是一種提高任意給定學習算法準確度的方法)。這是常有的事,通過智能化篩選現(xiàn)有交易系統(tǒng)的信號,同時忽略掉其他的,我們可以改善收益風險比。 兩種自動化交易的方法 無論投資者的目的是開發(fā)一個獨立的交易系統(tǒng)或是一個提高現(xiàn)有交易系統(tǒng)性能的過濾系統(tǒng),有兩種常見的開發(fā)和實現(xiàn)方法:(1)基于規(guī)則的方法(If/Then規(guī)則);(2)預測模型。 基于規(guī)則的交易系統(tǒng)需要投資者指定進行交易決策的規(guī)則,雖然這些規(guī)則中的一個或多個參數可以利用開發(fā)軟件進行優(yōu)化得到。下面是一個簡單的基于算法的交易系統(tǒng)的例子:如果短期價格移動平均穿越長期價格移動平均,那么在下一根K線持入多頭頭寸。 隨著高性能計算機的普及,一個替代的交易系統(tǒng)開發(fā)方法已經變得可行。預測建模通過利用采用復雜數學算法的軟件,檢驗來自歷史數據的指標,如價格、成交量、持倉量,以發(fā)現(xiàn)具有預測能力的重復模式。預測模型本質上是一個數學或邏輯公式,建立這些模式與目標變量或因變量之間的關系。這是TSSB所使用的方法,相對基于規(guī)則的方法,它具有以下幾個優(yōu)點: (1)智能建模軟件利用機器學習可以發(fā)現(xiàn)非常復雜的模式或是隱藏在噪聲之下人們難以發(fā)現(xiàn)的模式。 (2)一旦一個基于預測模型的交易系統(tǒng)開發(fā)完成,它通常可以很容易的調整其操作,改變收益風險比以適應更廣的范圍。它可以在高交易頻率低勝算和低勝算高交易頻率之間取得平衡。這可以通過閥值控制模型預測轉化為離散的買賣信號。 (3)設計良好的軟件允許開發(fā)人員調整交易系統(tǒng)開發(fā)的自動化程度。有經驗的開發(fā)者可以對整個過程進行良好的控制,把他們的知識轉換為系統(tǒng)某些所需的屬性;而缺乏經驗的開發(fā)人員可以利用軟件,完全自動化的來實現(xiàn)整個過程。 (4)一般來說,預測模型比基于規(guī)則的系統(tǒng)開發(fā)方法更能經受高級統(tǒng)計分析的檢驗。檢驗系統(tǒng)統(tǒng)計顯著性的復雜分析算法可以更容易被納入模型生成過程。 (5)預測建模是一個發(fā)展良好的數學學科,用于從數據集中最大量的提取有用的信息。直覺有助于提出方法以將原始數據集轉換出大型候選指標列表。預測建模,即使是最簡單的形式,如線性回歸,也比靠人類直覺選擇最好的候選指標并合成預測要更優(yōu)。有150多名學者研究比較人類專家的統(tǒng)計模型,證明了這一事實。 預測模型 用預測模型方法開發(fā)交易系統(tǒng)依賴于市場價格運動的基本屬性:所有市場都有會重復出現(xiàn)的模式,因此,可以用來預測未來價格行為。例如,在一定條件下,趨勢將持續(xù)直到力度耗盡。在其他情況下,不同的模式將出現(xiàn),趨勢后面更可能伴隨著回歸近期均值的走勢。預測模型研究歷史市場數據,試圖發(fā)現(xiàn)特征以區(qū)分這兩種模式。 預測模型的目標然后是發(fā)現(xiàn)足以盈利的重復出現(xiàn)的模式。一旦發(fā)現(xiàn),模型將尋找該模式的再次發(fā)生?;跉v史觀察,模型將能夠用于預測市場是否會快速上升、下降或盤整。這些預測可以通過閥值轉化為買賣的決策。 指標變量和目標變量 預測模型通常不直接使用原始市場數據。相反,市場價格和其他序列,如交易量,通常會轉換成兩類變量,指標變量和目標變量。這是在模型訓練、檢驗以及最終實盤交易的時候使用的數據。正是在這些變量的定義過程中,開發(fā)人員對交易系統(tǒng)發(fā)揮著他們的作用。 指標變量是嚴格按時間向后推移的。當進行實時交易時,對于任意給定的K線都將對指標進行計算,假設我們擁有足夠的歷史價格數據可以滿足對指標的定義。例如,有人可能用當根K線的收盤價與回溯第5根K線的收盤價的變化百分比來定義趨勢。只要我們知道這兩個價格,我們就可以計算出這個趨勢指標。TSSB可以計算出上百種不同類型的指標以對市場行為特征進行量化度量。 目標變量是嚴格按時間向前推移的。(在經典回歸模型中,目標通常指的是因變量。)目標揭示出未來的市場行為。我們可以利用歷史數據計算目標變量,只要我們有足夠的未來數據滿足對目標變量的定義。顯然,雖然當我們真正交易這些系統(tǒng)的時候,我們并不知道這些目標,除非我們有一個非凡的水晶球。例如,我們可以定義一個稱為day-return的指標,表示第三天開盤價相對第二天開盤價的變動百分比。如果我們有價格的歷史記錄,我們可以在每一根K線上計算出這個目標,除了最后兩根K線。TSSB可以計算各種類型的目標變量。 總之,預測模型背后的基本思想是,指標可能包含可用于預測目標的信息。預測模型的任務就是尋找和利用任何此類信息。 預測模型背后的基本思想是指標可能包含可以用來預測前瞻性變量(稱為目標變量)的信息。預測模型的任務是尋找和利用任何此類信息。 日期 趨勢性 波動率 日回報率 20130214 0.251 1.572 0.144 20130215 0.101 1.778 0.055 20130216 -0.167 2.004 -0.013 … 假設我們使用幾年的數據建立模型,并讓它學習如何用前一期的兩個指標,趨勢性和波動率,來對日回報率進行預測。在機器學習中,這個過程對應的術語稱為模型的訓練。然后,我們可以利用近期價格計算出當期趨勢性等于0.225,波動率等于1.244?;谶@些數據,訓練的模型能預測出目標變量日回報率為0.152。(這些都是虛構的數字。)基于對市場很有可能出現(xiàn)大幅上漲的預測,我們可以選擇建立多頭倉位。 將預測結果轉化為交易決策 直覺告訴我們,我們應該將更多的注意力放在極端預測值之上,而非圍繞模型預測范圍內的常規(guī)值。如果模型預測市場明天將上漲0.001%,我們不會像模型預測上漲5.8%那樣建立多頭倉位。這種直覺是正確的,因為我們的研究表明,一般來說,預測波動幅度與預測的成功率有高度的相關性。預測值較大相比預測值較小,更有可能預示出未來有利可圖的市場波動。做出交易決策的標準方法是比較預測值與固定閥值。如果預測值大于或等于某一上限閥值(通常為正),則建立多頭頭寸。如果預測值小于或等于某一下限閥值(通常為負),則建立空頭頭寸。頭寸的持倉周期隱含在對目標的定義中。很明顯,閥值是在交易次數和勝率之間的權衡。如果設定的閥值接近0,預測值將頻繁超過閥值,從而頻繁觸發(fā)交易,這類交易虧損率相對比較高。相反,如果設定的閥值很大,預測值將很少能超過閥值,這樣交易次數少,勝率也就相對比較高。我們已經注意到,預測值大小和交易勝算有很大相關性。因此,通過選擇一個合適的閥值,我們可以控制我們的交易系統(tǒng)。 交易系統(tǒng)合成與提升(Trading System Synthesis and Boosting,TSSB)自動選擇最優(yōu)的多頭和空頭閥值,從而最大化多頭系統(tǒng)和空頭系統(tǒng)的盈利因子。盈利因子,作為常見的交易系統(tǒng)性能指標,代表盈利交易的總盈利與虧損交易的總虧損之比。為了避免交易次數過少造成的過度擬合,用戶可以定義最小交易次數,可以是一個絕對值或是相對歷史數據長度的一定百分比。此外,TSSB可以在多空兩邊分別使用兩組閥值,這樣就可以生成兩組信號,一組交易勝算處于正常水平,另一組屬于偏保守的高勝算交易。最后,在許多應用中,TSSB會給出對應不同的閥值所展現(xiàn)出的交易系統(tǒng)績效。 用戶基于描述未來價格走勢的最近觀察歷史和目標變量指定指標變量。TSSB提供原始歷史市場數據(價和量),以及生成廣泛的指標數據庫和目標變量。給定一組指標,一個或多個模型被訓練來預測目標變量。換句話說,模型學習使用指標中包含的預測信息,以預測目標所體現(xiàn)的未來。 檢驗交易系統(tǒng) TSSB為預測模型交易或過濾系統(tǒng)提供了很多檢測功能。在這里,我們討論兩個通用的測試方法:交叉驗證和外推檢驗。這些在預測中都是主要的檢驗標準。絕大多數測試方法的基本原則,是將完整的歷史數據分成幾個獨立的子集。其中一個子集被稱為訓練集或開發(fā)集,用于訓練預測模型。另一個子集,稱為測試集或驗證集,用于對訓練模型進行評估。 這里的關鍵是,用于訓練模型的數據不能用于模型評估。在相當一般的情況下,這種互斥分離保證了測試集下的性能是對未來性能表現(xiàn)的無偏估計。換句話說,雖然觀察到的性能幾乎肯定不會等于未來的性能,但是它并不存在樂觀或悲觀的系統(tǒng)偏差。獲得一個對未來績效的無偏估計是交易系統(tǒng)開發(fā)和測試的兩個目標之一。另一個目標是對于績效中運氣成分進行統(tǒng)計顯著性檢驗。 在早期的模型構建和檢驗中,由于計算機性能的限制,對于數據分解為訓練集和測試集只是一次。這是一種非常低效率的數據使用方式。TSSB提供交叉驗證和推進分析的功能。這些技術將數據多次分成訓練集和測試集,并組合這些性能統(tǒng)計數據提供交易系統(tǒng)真實水平的一個無偏估計。這樣有效利用了寶貴和有限的歷史數據。 推進分析 推進分析是一種簡單、直觀且受到廣泛應用的檢驗方法?;驹硎?,我們用一段相對較長的數據對模型進行訓練。然后,用緊接著訓練數據的一段相對較短的數據對模型進行測試。然后我們以測試集數據的長度向前推進訓練數據集和測試數據集,并不斷重復之前的步驟。直到數據全部被使用,推進分析結束。我們把所有測試模塊的交易打包計算性能指標。這里是一個簡單的推進分析的例子: (1)使用1990年至2010年的數據訓練模型,然后用2011年的數據測試模型; (2)使用1991年至2011年的數據訓練模型,然后用2012年的數據測試模型; (3)使用1992年至2012年的數據訓練模型,然后用2013年的數據測試模型; 把2011、2012和2013年所有測試集中的交易組合起來。這些交易算出來的性能可以作為模型性能的無偏估計。 推進分析的主要優(yōu)勢在于,它模擬的是現(xiàn)實的交易場景。大多數自動交易系統(tǒng)開發(fā)人員會定期再訓練模型或對模型進行改進。因此,推進分析得出的結果模擬了實際交易過程中實際能拿到的結果。這是支持這種測試方法的一個令人信服的論點。 推進分析的另一優(yōu)點是,它正確地反映了模型對于市場非平穩(wěn)特征的反應。所有市場都會隨著時間的推移而發(fā)展并改變它們的行為,有時在許多不同的狀態(tài)下進行轉變。不嚴格地說,這種市場動態(tài)的變化,也就是指標與目標變量之間的關系,稱為非平穩(wěn)。最好的預測模型對于這種變化有顯著的魯棒性,而推進分析能幫助我們判斷模型的魯棒性。 TSSB可以使用各種長度的測試數據集,使得評估模型應對非平穩(wěn)的魯棒性變得非常容易。假設當測試數據集很短的時候,模型取得了非常優(yōu)異的外推結果。換句話說,模型并沒有被要求對未來很遠的數據進行預測?,F(xiàn)在假設隨著測試數據增多,外推績效隨之變差。這表明,模型并不能應對市場的快速變化。這類模型是具有風險的,并且需要不斷的進行再訓練以跟上當前市場狀況。另一方面,如果隨著測試數據增多,外推性能并沒有太大波動,則表明模型在應對非平穩(wěn)時是健壯的。這對于使用基于預測模型的方法開發(fā)交易系統(tǒng)是一個有價值的屬性。見圖1,它描述了沿著時間軸訓練集和測試集的位置。 圖的頂端部分描述的是推進的測試數據集較短的情形。底端部分描述的是推進的測試數據集較長的情形。 相比其他測試方法,比如交叉驗證,推進分析只有一個缺點,那就是對于可用數據的使用效率較低。只有第一個訓練數據集后面的數據才被用于測試。 交叉驗證 并不是像推進分析一樣在歷史數據集末端對測試數據進行分割,交叉驗證是對整個歷史數據集進行均勻分配。例如,我們可以測試如下: (1)使用2011年至2013年的數據訓練模型,然后用2010年的數據測試模型; (2)使用2010年至2013年,除開2011年的數據訓練模型,然后用2011年的數據測試模型; (3)使用2010年至2013年,除開2012年的數據訓練模型,然后用2012年的數據測試模型; (4)使用2010年至2013年,除開2013年的數據訓練模型,然后用2013年的數據測試模型; 如下圖2所示,在交叉驗證中,每一步通常被稱為一折(fold)。 相對于推進分析,交叉驗證的明顯優(yōu)勢就是數據集的每一部分都可能成為測試集的一部分。然而,這里有幾個缺點是需要注意的。最嚴重的潛在問題是,交叉驗證對于非平穩(wěn)性很敏感。在推進分析中,只有相對較近的數據被當作測試對象。但是在交叉驗證中,最開始的數據集也會被用于性能測試。如果早期的市場行為與近期狀態(tài)顯著不同,也就是指標與目標的關系已經發(fā)生變化,那么使用早期的數據進行測試可能不是一件明智的事情。 另一個缺點是偏哲學層面的,但它是值得注意的。不同于推進分析,交叉驗證并不是模擬交易系統(tǒng)的實際場景。在交叉驗證中,除了最后一折,我們使用的是未來的數據對測試模型進行測試。另外,在交叉驗證中,重疊問題也比推進分析中顯得更麻煩。 考慮重疊問題 在討論交叉驗證和推進分析時,我們都是假設各個數據集之間是相互獨立的。不幸的是,事實往往并非如此。時間上相近的數據集,傾向于具有類似的指標值或目標。這通常以以下一個或兩個方式呈現(xiàn): (1)TSSB中許多可用的目標并非只是向前推進一期。例如,假設我們的目標是未來10期的市場趨勢。這是為了做出交易決策而預測的數量。如果某一天這個值很高,表明在隨后的10天里市場趨勢強烈向上,那么十有八九這個值明天也會比較高,前一天也可能很高。向前或向后一天,對于10天的目標變量窗口都有9天的重疊。這種時間序列數據的相關性被稱為序列相關性。 (2)在大多數交易系統(tǒng),指標通常會回溯相當長一段時間。例如,一個指標可能是前50天的市場趨勢,或是衡量過去100天的波動率。因此,指標隨時間變化非常慢。 這些事實有幾個重要的意義。因為指標變化緩慢,模型的預測也慢慢地改變。因此,市場狀態(tài)也變化緩慢。如果預測值高于閥值,它將持續(xù)多期高于閥值;相反,如果預測值低于閥值,它將持續(xù)多期低于閥值。這立即使得大多數常見的統(tǒng)計顯著性檢驗變得無效,如t檢驗、靴環(huán)檢驗、蒙特卡洛排列檢驗等。TSSB確實包含幾個統(tǒng)計顯著性檢驗以減少序列相關性的影響。 指標和目標缺乏獨立性還有另一個含義,這一點比僅僅使得顯著性檢驗失效更加嚴重。測試結果的合理性本身也會由于偏差而被破壞。幸運地是,在TSSB中,這個問題能夠通過重疊(OVERLAP)選項輕易解決?,F(xiàn)在,我們將簡單地探索問題的本質。 問題發(fā)生在訓練數據集和測試數據集的分界附近。最簡單的是推進分析的情形,只有一個(移動的)邊界。假設目標包括未來十天的市場運動。考慮訓練數據集的最后一節(jié),它的目標包括測試模塊開始的第一個10天。這種情況像所有的訓練集一樣,在預測模型的發(fā)展過程中發(fā)揮作用。現(xiàn)在考慮測試集中的第一個10天,正如已經指出的那樣,其指標值與前期指標值將非常類似。因此,模型的預測值也將于前值相似。因為目標向前推進了10天,我們僅僅向前推進1天,留下9天重疊部分,這個測試集的目標將與前一數據集目標相似。由于前面的數據集與測試數據集特別類似,因此我們認為它們的績效將類似于訓練集的績效。這個結果存在樂觀偏差。我們的測試結果將比實際測試結果要優(yōu)。 作者簡介: 大衛(wèi).阿倫森(David Aronson)是機器學習、非線性交易系統(tǒng)開發(fā)以及信號增強/過濾方面的先鋒,也是TSSB平臺的聯(lián)合開發(fā)者。TSSB是一個自動開發(fā)具有統(tǒng)計顯著性的基于預測模型的交易系統(tǒng)的軟件平臺。自1979年以來,他就一直在這個領域工作,并在1992年獲得市場技術員協(xié)會的注冊市場分析師認證。同時,他也是一名金融學副教授,常規(guī)性的為MBA和金融工程研究生講授關于技術分析、數據挖掘和預測分析的課程。他最近的新書《Statistically SoundMachine Learning for Algorithmic Trading of Financial Instruments》深入講述了關于如何使用TSSB開發(fā)基于預測模型的交易系統(tǒng)。 責任編輯:張文慧 |
【免責聲明】本文僅代表作者本人觀點,與本網站無關。本網站對文中陳述、觀點判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。
本網站凡是注明“來源:七禾網”的文章均為七禾網 m.yfjjl6v.cn版權所有,相關網站或媒體若要轉載須經七禾網同意0571-88212938,并注明出處。若本網站相關內容涉及到其他媒體或公司的版權,請聯(lián)系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號]