[原創]談談程序化交易那點破事 [開拓者 TB]
- 咨詢內容:
開發一個程序化交易策略的過程本質上都是在追求經驗風險最小化。為什么叫“經驗風險”?根據已知的歷史數據去歸納總結,不就是經驗嘛。經驗風險最小化顧名思義就是根據已知樣本數據去不斷優化你的策略,去達到風險最小化的目的。為什么叫“風險最小化”?風險就是指你出錯的可能性,我們通過不斷的優化去減少出錯的可能性,不就是風險最小化嘛。風險最小化更直觀的理解就是收益最大化。(呵呵,別嫌我啰嗦)。
于是通過我們的不懈努力終于得到了一個經驗風險最小化的模型,但現在問題來了,我們選定這個模型的假設與問題真實解之間究竟有多大差距,我們就沒法得知。比如說我們認為宇宙誕生于150億年前的一場大爆炸,這個假設能夠描述很多我們觀察到的現象,但它與真實的宇宙模型之間還相差多少?誰也說不清,因為我們壓根就不知道真實的宇宙模型到底是什么。
直觀的表現便是用歷史數據測試很好的模型一旦實盤就不行了。(為什么不行?本人曾千百遍的逼問自己),看看經驗風險最小化原則我們就會發現,此原則適用的大前提是經驗風險要確實能夠逼近真實風險才行。但實際上能逼近么?答案是不能。(為什么不能?因為樣本數據相對于真實世界來說簡直九牛一毛,有人可能會說那我用一個品種上市以來所有的歷史數據來做樣本,我會問他“那未來呢”?哈哈哈)
閑話少說,來看看我們的真是風險到底是什么:
R(w)≤Remp(w)+Ф(n/h)
公式中R(w)就是真實風險,Remp(w)就是經驗風險,Ф(n/h)就是置信風險,經驗風險代表了分類器在給定樣本上的誤差,置信風險代表了我們在多大程度上可以信任分類器在未知文本上分類的結果
也許有人會問為什么公式不用等于號要用大于等于呢?因為公式的第二部分是沒有辦法精確計算的,因此只能給出一個估計的區間,也使得整個誤差只能計算上界,而無法計算準確的值(所以叫做泛化誤差界,以上公式及理論基礎請問度娘,本人不做過多介紹)。
經驗風險大家容易理解,那置信風險呢?置信風險與兩個量有關,一是樣本數量,顯然給定的樣本數量越大,我們的學習結果越有可能正確,此時置信風險越小;二是模型(函數)的VC維,顯然VC維越大,推廣能力越差,置信風險會變大。
那到底什么是VC維呢?(讀到這里肯定有人開始討厭我了,但不打緊,為了大家更好的理解,我還是解釋一下),所謂VC維是對函數類的一種度量,我們可以簡單的理解為模型的復雜程度,VC維越高,一個模型就越復雜。VC維理論是統計學習理論界的大牛Vapnik和Chervonenkis創造的,詳細的解釋此處需要2000到3000字,大家還是去問度娘吧。
現在大家都明白一個直觀的道理了吧。原來交易策略要適應未來并長期有效,關鍵就是要函數的VC維越小越好(程序越簡單越好)。
回過頭來我們談談策略優化的問題,我們有一定的樣本數據,通過過度優化(設很多參數,加很多過濾條件…),必然會得到一個測試效果很好的模型(數量為N的樣本數據必然能被一個N-1次多項式函數幾乎100%的擬合),也就是說,只要模型足夠復雜,不管多么非線性的數據總是可以被擬合的。但是…這不和我們剛才提出的要減小VC維,減小模型復雜度的理論相沖突嗎???好吧,為了減小模型復雜度,那我就不去優化策略好了,可是不去優化策略,我程序的擬合度又很低,在歷史數據里測試都沒法賺錢,怎么辦呀???
為了更好的解釋這一問題,我又要提出兩個遭人煩的專業名詞了,“偏差”和“方差”,具體還是去問度娘。一個在歷史數據中沒怎么優化的模型,測試效果肯定不好,叫欠擬合,一個在歷史數據中過度優化的模型,測試效果肯定好,叫過擬合。欠擬合就叫偏差太大,過擬合就叫方差太大,怎么才能在偏差和方差二者之間權衡呢?這個問題正是我下一節要講的。這是一篇連載的帖子,作者暫時有點累了,呵呵……
(一大堆文縐縐的專業名詞和概念想必看了就煩,想刨根問底的朋友可以去看看網易公開課里面有個叫斯坦福大學機器學習公開課的課程,講師是目前大名鼎鼎的百度的首席科學家吳恩達) - TB技術人員:
期待連載!
- TB客服:
有人在問我,你上文說的“只要模型足夠復雜,不管多么非線性的數據總是可以被擬合的”。 還說什么“數量為N的樣本數據必然能被一個N-1次多項式函數幾乎100%的擬合”。你是誰牛皮的吧?你能做得到嗎?給你某段時間2000根K線樣本數據(數量隨便寫的),你設計一個算法,根據這個算法可以依據所要判斷的K線之前的數據做為自變量來精確地判斷下一根K線是漲還是跌。(意思就是說我要判斷10:00點鐘K線的漲跌,必須只能用10:00點以前的數據去做自變量,不然就成未來函數了,還有什么意義呢,哈哈)。
可以負責人的告訴大家,我可以做得到。而且是100%的正確(判斷漲還是跌)。不是我個人能力有多強,而是我只需用到了一些機器學習和數據挖掘方面的算法,這些算法的種類很多,就不一一道來了。說到底它就是一個強奸數據的工具,哈哈!
肯定有人會說這么多年來這么多人夢寐以求想達到的目標,你用一個數據挖掘的算法輕輕松松的就達到了,那全世界的錢都讓你一個人賺去得了。哈哈哈,千萬別忘了我們前文所說的這個擬合精度僅僅是建立在已知樣本上的,而且函數的VC維極高,它對樣本外(未來)數據的推廣能力(適應性)是很差的,用這樣的策略去交易未來的行情,結果只有虧得一塌糊涂。
我來解釋一下為什么是這個結果,因為為了適應已知數據非常非線性的波動特點,算法當然會去選擇一個非常復雜的N次函數(一個在維度非常高的空間中的分類超平面),遠遠超過電影《星際穿越》中的五維空間哦,物理學中能被證明出來的空間也就五維,但是數學中的維度是無限多的。
言歸正傳,這樣得到的分類函數是過擬合的,按我們前文的結論,過擬合是高方差的,是沒有推廣能力并不適應未來的。
好了,今天先說到這里,明天再寫…
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容