如何通過實證(量化)的方法來驗證傳統技術分析指標下的策略是否有效?

資本市場發展至今已經累積了大量的技術分析指標和方法,並廣泛應用在外匯,股票,指數,期貨上。雖然技術分析本身仍有爭議,而我們能否設計出一套標準來驗證某種技術分析方法再某個市場上是否有效?

比如,滬深300指數,配合雙均線策略,再加上止盈止損。這裡就是四個參數fast, slow, stoploss 和takeprofit。如果對長時間段的歷史數據進行回測,要用怎樣的統計量和統計方法就可以證明技術分析有效?

反之,如果要證明技術分析無效,是否等價於證明該策略的累計收益率隨機遊走?

本人對這個問題並沒有預設立場的結論,只是想請教如何採用實證的方法來驗證其策略有效性。

問題補充(20160630):

這個問題的核心是想跟各位前輩請教方法論,而非結論。即我需要怎樣的分析來證明某個基於技術指標的策略是有顯著性盈利的。或者反之,我需要怎樣的證據來證明該策略是無效的(並不顯著性優於隨即交易)。

以下:我想舉一個例子說一個歪理。

統計一段時間內某資產的每日價格,然後看所在星期內的每個日子的平均價格。例如周一的平均價格記為p1,周二記為 p2....周五記為p5。取其中平均價格最低的日子作為每周的買入信號,取平均價格最高的日子作為每周的賣出信號。

這個策略,如果忽略交易成本,那麼在回測上,應該是有正收益的。這是個我花5分鐘拍腦袋拍出來的策略,是個歪理,我並不期待這個策略可用。

然而,我接下來想問的問題是,如何證明這個回測期望收益為正的策略是不可用的?並且假設,這個策略的邏輯是黑盒,我不能看到每次開平倉的邏輯,我只能看到每次開平倉的結果:包括價格時間序列,開倉信號,平倉信號,以及日權益變化數據,日凈值變化數據等。

對您來說,通過這些可見數據,您是否有成熟的實證方法,證明這個策略是我拍腦袋拍出來的,而非專業的quant通過大量的分析和工作整理出來的?

PS.其實這裡衍生出一個問題,就是投資者如何選擇量化投資團隊,當然這扯遠了。

感謝各位前輩的熱心和指教,通過你們的回答和討論我學到不少東西。


謝邀。我認為這是件不可證偽的事情。

如果要用到指標,那麼就是mechanical trading的範疇。就如大家所了解的一樣,mechanical trading,典型的策略開發模式是一種鏈式的結構,如:指標-&>經驗判斷-&>信號-&>回測-&>參數優化-&>模擬交易。於是就有人認為,通過了適當多樣本的回測,觀測到具有滿意績效的模擬結果,就是從統計的角度驗證了這個策略的有效性,從而判斷這個指標是有效的。

然而這種觀點是錯誤的。我是行為派,所以從行為的角度去說一下我的觀點。

回測的績效是以統計的方法驗證了「一種交易行為」的有效性,準確來說是在一定交易周期內的有效性。那是不是針對這種交易行為所參考的一種指標或多種指標來說是具有有效性呢?或者說是顯著有效?

舉個例子,布林帶發明者是把布林帶應用在反趨勢的交易策略中,在價格回復中賺取利潤。而2011年10月《Futures Truth Magazine》公布的程序化交易策略排行第一的趨勢策略Aberration trading system原理是用布林帶做突破交易。這麼說來就有人認為:就看我們怎樣去使用指標。

即使用到statistics的策略,machine learning的策略,我們最後也要轉化為交易信號進行交易,只是大大降低了人為經驗判斷的因素在裡面,但本身就是衍生出來的一種交易行為,我們驗證的都只是交易行為的有效性。就看你怎樣去定義「有效」和「無效」。

圈子繞的有點大,但我回歸到開頭想說明的一點是,技術分析的應用,傳統指標或新型指標的應用本身是無法根據你在一定周期內的交易賺錢或虧錢判斷它們的有效性。把這個問題延伸的話,大概就是量化裡面我們一直爭論的:到底聖杯存不存在?還有就是Quant們最頭痛的問題之一:策略什麼時候開始鈍化或者失效。


謝邀, 我個人不使用技術分析指標, 因為統計學意義不顯著。


不就是量化交易的回測嗎?

海龜 dual thrust之類的策略網上不都有源碼

一個回測不就出結果了嗎?

跟寫論文什麼granger因果檢驗一樣啊~

樣本 演算法一套出個結果~然後顯著性什麼的~


1,「例如周一的平均價格記為p1,周二記為 p2....周五記為p5。取其中平均價格最低的日子作為每周的買入信號,取平均價格最高的日子作為每周的賣出信號。」 有未來函數,Boom~

2,「這個策略的邏輯是黑盒,我不能看到每次開平倉的邏輯,我只能看到每次開平倉的結果:包括價格時間序列,開倉信號,平倉信號,以及日權益變化數據,日凈值變化數據等。」 學術上不可證偽,實務上並不敢用。

其實策略能不能用完全看資方。有的資方比較敏感,回撤太大,回撤期太長都會影響他繼續參與的積極性。


單一的僅靠均線和歷史數據是很難跑出來的。原因是:1,回撤會很大,實盤中必然導致系統被回撤扭曲變形。2,股票數據也存在成交滑點的問題。隔夜數據開平時間的影響部分很難測算的出來模型和實盤的那部分差異,可能你覺得很小,但是累計起來可能就會死人。3,建議模型核心改為倉位研究上,技術指標配合就可以。指標的權重太大沒意思。


技術分析最簡單粗暴的方法就是backtest,老一輩的交易員技術分析能力比較強的主要是靠經驗,每天盯著圖看,看哪個技術分析指標有效,現在方便了,不管你有bloomberg也好,excel自己做個也好,還是任何方式,就做backtest 然後 optimization看哪個參數最有效就好~至於那些沒有那麼容易量化的技術指標,那就靠多看找感覺啦


傳統技術分析的關鍵不在於指標。

傳統技術分析用得好的人極少用所謂的指標的。

指標不是技術分析的關鍵。

其實這是為什麼很多人反對技術分析的原因,很多人以為技術分析就是指標。

所有指標都是價格平滑的演算法罷了,再怎麼測試,歸根結底都是曲線擬合。

比如,你拿2根均線金叉死叉,測試出來是盈利的,可能下一年就是虧得了。指標的測試都會是這個結果。


推薦閱讀:

證券分析師考試怎麼考?

TAG:演算法交易 | 實證 | 證券分析 | 技術分析 | 量化交易 |