量化交易策略注意事項1—未來信息的規避[古期心得]
在量化交易策略的研發過程當中,存在著許多需要注意的事項。如果忽視了這些 問題,輕則造成量化交易策略的優化結果與實際要求存在偏差,重則直接導致最后的 量化交易策略沒有任何實際用處,甚至造成真實的損失。在這些事項之中,首先需要 注意的是量化交易策略研發中是否存在未來信息的問題,如果對歷史數據進行建模和 優化的過程中包含了未來信息,那么應該重新構建研發模型,規避掉所有的未來信息, 保證量化交易策略與實際相符。
所謂未來信息問題,就是指基于歷史數據進行回溯測試的過程中,使用交易完成 之后的信息來決定交易本身。為了更為直觀的說明何為未來信息,這里給出了一個用 來解釋的示意圖,如圖 3.1 所示。在圖中,回溯測試能夠使用的樣本數據包括 A 階段 的數據和 B 階段的數據,假設模型判斷出一個買賣點在 A 和 B 之間,那么 B 階段所 有的信息對于這一個買賣點而言都是發生在未來的信息,因此在判斷交易的時刻,B 階段的所有信息都是無法得知的。在量化交易策略正常執行的過程中,買賣、倉位等 策略組成部分的判斷都是基于之前所有可以獲取的數據得到的,也就不存在未來信息 的問題。但是在進行回溯測試的時候,由于我們已經得到了超越買賣點的數據信息, 也就是圖 3.1 中 B 階段的信息,因此就可能發生將 B 階段的未來信息用以判斷買賣點 這樣一種不符合實際交易邏輯的情況。 { 原文來自 www.weiqiv.net.cn }
在國內的一些資料當中,這樣一種問題更常見的名稱是未來函數,這樣的習慣可能源自于國內交易者對于技術指標的深入研究。在編寫技術指標函數的時候, 往往會由于疏忽等問題出現這種使用不應該出現的未來信息的情況。而在國外的一些 文獻和資料當中,比較常見的叫法還包括前視偏差。相較于未來函數而言,這種叫法的覆蓋面更加廣泛一些,因為在一個較為完整的量化交易策略研發過程當中, 函數只是其中的一部分。而前視偏差則比較形象的說明了這個問題,站在圖 3.1 中的 買賣點上,B 階段的信息都是時間前進后才能得到的,這樣所造成的偏差就會讓未來 的信息進入交易決策本身。
使用 K 線圖當前柱的最高、最低價判斷買賣點是一個比較常見的使用未來信息 的情況。舉例而言,當一個建倉策略為“若今日的最低價高于上日的收盤價,則在今 日的最低價買入”時,就是一個很典型的含有未來信息的交易策略。在該策略中,買 賣決策依賴于兩個重要的價格信息,一個是上日的收盤價,一個是今日的最低價。上 日的收盤價顯然是沒有問題的,是一個從當日開始交易時就已經獲得的信息。但是今 日的最低價就是一個比較明顯的未來信息或者說未來函數,因為不到今日收盤,是不 可能確定當日的最低價的,要求在最低價買入是一個在現實中不可能完成的任務。不 過在回溯測試過程當中,由于已經在做決策時得到了關于當日最低價的信息,因此就 有可能錯誤的將今日最低價當作可用信息并用來確定買賣決策。 { 原文來自 www.weiqiv.net.cn }
還有其他一些關于未來信息錯誤使用的例子,比較知名的如“在牛市當中持有股 票”。實際上,除非具有預判牛市來臨時間點的技術手段,否則這種說法往往只是牛 市確認之后的事后諸葛亮。當一波牛市已經形成甚至走完的時候,再說出初期建倉之 類的意見已經沒有任何實際操作意義,而在牛市剛剛開始的時候,交易員常常無法準 確的判定這到底是牛市的開始、持續的盤整、還是前一波下跌途中的波動,也就無從 談起牛市持有股票了。
另外一個例子則更偏技術一些,當研究人員使用整個樣本的數據進行優化并得到 一個量化交易策略之后,使用該量化交易策略在全樣本的整體回溯測試中判斷買點、 賣點、倉位大小等設置就屬于引入了未來信息。這時的未來信息問題不在于量化交易 策略本身,而在于量化交易策略的研究過程。用上面的示意圖 3.1 來進行說明,就是優化量化交易策略時,無差別的使用了 A 階段和 B 階段的數據,但是最終優化得到 的量化交易策略,又放到整個樣本中進行回溯測試并得到了 A 和 B 之間的買賣點。 因此在回溯測試的過程中,該買賣點的確認就使用了 B 階段的信息,也就是未來的信 息。
由于未來函數對于回溯測試的可靠性有負面的影響,因此在實際的策略研發過程 當中是需要極力規避的。最直接的辦法莫過于將研發完成的量化交易策略放入實際環 境中進行模擬交易或者實盤交易,原因在于實際交易中判斷策略執行的時間點總是現 在,因此必然是無法得到未來的信息的。如果在回溯測試過程中不慎加入了未來信息 用來判斷,具有相同結構的量化交易策略在實際的交易中也必將暴露出來。但是在實 際的策略研發過程當中,由于量化交易策略會經歷頻繁的變更,因此全部采取實際檢 驗的方法有時是難以達到的。在有些回溯測試的情形下可以人為的將數據樣本分成兩 個部分并分開存儲,使用其中一個部分進行量化交易策略的優化工作,然后再將優化 完成的策略放入另外一個部分的樣本數據進行模擬運行。這種強制分開儲存數據的做 法,其實也是在效仿實際運行中未來數據的絕對不可得。如果在實際的研發工作中數 據分開存儲也因為工作量過大而不易完成,那么似乎也只能依靠量化交易策略研究人 員自身的邏輯思考和判別能力來規避未來信息了。
雖然這里給出了一些辦法用來規避未來信息,但是仍然存在一些未來信息的種類 是難以發覺甚至是難以避免的,例如在其他資料中討論較多的存活者偏差。存活者偏 差是指在某一個數據集當中,由于時間的推移,集合中之前包含的一部分成員由于無 法存活而離開數據集,而在回溯測試時參照的是最后的存活成員,因此提前剔除了表 現不好的非存活成員,造成了未來信息的問題。依然使用圖 3.1 來進行說明,研究人 員在回溯測試時得到的數據是 B 階段末尾所有存活成員的數據,但是在箭頭所指向 的買賣點時,所能見到的成員中還包括一些在 B 階段離開的成員。回溯測試中由于數 據集的問題直接把這些在 B 階段表現不佳的成員進行了排除,就是濫用了 B 階段才 能得到的信息,從而虛假的提升了量化交易策略的回溯測試成績。
這種問題常常發生在選股策略當中,一些較為常見的股票數據庫實際上已經根據 當前的信息剔除了之前由于退市等問題而消失的股票的數據,使用這些數據庫的數據進行回溯測試就會產生存活者偏差的問題。例如“買入價格極低的股票”這一策略, 在獲得的數據具有存活者偏差的情況下,能夠在測試中建倉的都是之后會存活下來的 股票,在價格很難更低的前提下上漲的可能性很高,因此回溯測試的結果往往不切實 際的優秀。由于完全排除存活者偏差問題的數據庫通常價格更高甚至無法得到,依靠 研究人員在時間軸上自行搜集數據組建數據庫的做法又耗時耗力,因此在這類情況下 完全規避存活者偏差是非常困難的。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
- 上一篇:量化交易策略注意事項2—過度歷史擬合與…
- 下一篇:沒有了!
相關文章
-
沒有相關內容