第36章降龍十八掌求教Python回測碼
第36章降龍十八掌求教Python回測碼(第3/8頁)
回測時使用的是“存活至今”的股票數據。那些已經退市的股票不在其中,這會導致回測結果過於樂觀。所以,回測最好基於指數(如滬深300),或者使用包含已退市股票的全市場數據(較難獲取)。
2.未來函數:確保你的策略在每一時刻,隻使用該時刻及之前的信息。比如,你不能用今天的收盤價作為昨天買入的信號。這在手動回測時容易犯錯,在代碼中要特彆小心。
3.過擬合:不要對著曆史數據不斷調整參數,直到曲線完美。那樣得到的策略在未來很可能失效。回測的目的是檢驗一個邏輯,而不是製造一個完美擬合曆史的“神策”。
4.交易成本:一定要考慮傭金和印花稅,對高頻策略影響巨大。
5.滑點與流動性:對於小盤股,你的買賣可能無法以預設價格成交,需要設置滑點(假設成交價比信號價差一點)。
6.初始資金與再投資:明確是固定資金還是允許盈利再投資。
貝悟得:我建議你先從路徑一開始,在聚寬上嘗試回測你的macd策略,感受一下。如果有興趣深入,我們再走路徑三,我提供代碼和指導。這個過程可能會打破你對技術分析的一些美好想象,但也會讓你更清楚它的邊界在哪裡,從而更有效地使用它,或者思考如何將其納入一個更完整的體係(比如,作為輔助判斷工具,而非唯一依據)。
降龍十八掌:這麼多門道……我頭有點大。不過,你說得對,我得先看看。聚寬是吧?我現在就去註冊看看。那個……路徑三,你能先把代碼和步驟發我嗎?我一起看。我電腦裡好像裝過python,以前想學爬蟲抓數據,冇學會就放棄了。這次我想試試。
貝悟得:可以。我整理一下。回測代碼本身不長,關鍵是理解每一步在做什麼。我會把代碼、數據文件(csv格式)、以及詳細的步驟說明(包括如何安裝庫、如何運行)打包成一個壓縮文件發給你。預計明天晚上可以給你。在這之前,你可以先摸索一下聚寬。
降龍十八掌:好,謝謝!貝兄,說實話,我以前覺得你這人挺裝的,搞一堆理論。但這段時間看下來,你至少是認真的,而且願意分享。我雖然還不完全認同你那套“烏龜流”,但我覺得,用數據驗證自己的想法,這個方向冇錯。不管回測結果怎麼樣,我都認。
貝悟得:能這麼想就很好。投資是一場無限遊戲,我們的對手不是彼此,而是市場的無常和自身的弱點。用數據武裝自己,減少無知,這是最有力的武器之一。明天晚上聯係。
結束私聊,我開始整理代碼。我將之前用於回測macd、rsi等策略的腳本找出來,這是一段相對簡單的pytho
(本章未完,請點擊下一頁繼續閱讀)