什么是回測


對了,之前一篇講了BackTrader的整體(非常粗略)的架構, 但是對於量化小白(沒錯就是我)來說連什么是回測都不清楚,只能大概意會.....

所以今天特別學習了一下什么是回測(來源於萬能的知乎)

然后下面是我自己的整理

 

一般來說,做量化得先開發一個交易系統。那交易系統開發完了之后總得證明這個交易系統非常不錯。那怎么證明呢?肯定要模擬一下交易然后看看交易結果好不好嘛。Officially的說,回測就是根據歷史數據來驗證交易策略的可行性和有效性的過程。做回測是希望可以用回測后的表現來評估未來實盤表現。

所以其實在做回測的時候我們已經預先假設了我們在測試這個交易系統時候的市場表現在未來會重演。那為啥要證明交易系統好不好嘛?直接假裝非常nice也沒人發現咯(不行,這樣非常沒有職業道德)。其實,如果我們有100種策略,那通過回測我們可以根據回測出的結果去篩選最好的5種交易策略。這樣我們就不會把時間金錢成本浪費在不好的策略上面了。

所以如果不回測的話,不僅沒有職業道德,而且很浪費嗷。

那回測的基本原則是啥?

1. 回測中策略產出的來回交易(一買一賣算一次來回)越多,回測得出的結果越可靠(robust)

2. 避免回測陷阱

3. 注意結構轉移

那什么是回測陷阱啊?At first, officially, 數據窺探偏差:引用王靖一老師上課說的“水太深把握不住”。建模的原則是越簡單越好、參數越少越好。所以其實為啥上課的時候老師說金融最終還是人的事情嘛,不建議用太復雜的modelling比如機器學習什么的去做預測。因為這里面東西太黑箱啦,一出錯都不知道錯在哪里,怎么向客戶和老板交代哇...Secondly, still officially, 前視偏差:很簡單,不能用未來的信息來確定今天的交易信號。比如用今天的最高價來決定今天買入啥...但你今天還沒過完呢你咋知道今天最高價是啥?Lastly, 幸存者偏差:你只選擇買入當前存在的股票(幸存者)。這樣是不行的。比如你的策略是買入前一天狂跌的股票,但是這個股票萬一跌的退市了咋整?你不就超級大損失了嘛。哦對了,還有就是規則的變化,比如交易所不准賣空但你策略中賣空,顯然不符合實際嘛。

結構轉移又是啥?宏觀的經濟形勢的變化+宏觀市場的變化+整個公司結構的變化。總而言之就是一個大整體結構層面的變化嘛。

最后引用知乎大佬的一句話“我們的目的不是擬合過去,我們的目的是預測未來”

所以如果平時看到一些回測方法,如果它的年收益率、夏普率啥的顯然不合理,那就不用去嘗試了....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM