WeQuant教程—1.3 利用回測工具下降交易風險

量化系統投入實際使用以前,人們會但願提早測試交易的效果。這個期間每每涉及代碼的改動和參數的調整。最多見的作法是將歷史數據輸入量化系統,讓量化系統根據既定的交易邏輯進行操做,觀察和分析交易結果,找到問題所在,調整量化系統,而後以此循環,直到效果達到預期爲止。

該過程在業界被稱爲回測。回測是量化工做者常見的工做內容之一。框架

Note工具

很遺憾的是,回測跟實盤交易永遠存在差距,再好的系統也沒法迴避。如今市面上有幾個開源的回測引擎框架,雖然減小了回測的開發工做量,但或多或少都存在回測的偏差。在此,咱們優先介紹概念,其次介紹一些常見的規避或者補償偏差的方法,供讀者在實踐中使用。測試

回測工具備哪些功能?

歷史交易過程和結果的模擬

顧名思義,回測固然是回顧一段時間,用既定的交易策略,向模擬的交易平臺提交交易請求,而後統計交易的結果。設計

這樣,一個策略到底能不能運做,是否是像想象中的那樣運做(實戰中,策略辭不達意的狀況機率很大),運做的效果在特定的行情下是否是有預期的效果(不是全部策略都適用於全部行情,顯而易見的事情),一目瞭然。開發

自動記帳

若是每一筆交易都要本身手動記錄交易結果,計算扣費,遇到限制條件還要進行異常處理,這個工做量是及其繁瑣和容易出錯的。通常來講,回測會有專門的記帳功能,確保量化系統的交易請求能被正確處理。數學

回報分析

爲了輔助回測人員對自身的策略效果創建一個客觀的認識,回測每每附帶一套指標系統,包括但不限於回報率、alpha、beta、夏普率、最大回撤等,經過這些指標,一個策略的收益狀況、收益的相對好壞、收益的穩定和波動程度、最壞狀況等,均可以獲得一個參考,在常規的理解裏,這些指標在實盤中依然有一樣的表現水準(嚴格數學證實略)。入門

固然,爲了分析的方便,回測還會提供基準參考與圖形可視化功能,把市場的平均回報連同策略的回報按時間順序用圖形展現,能極大地具象化策略運做狀況。變量

怎麼使用回測工具?

回測工具備不少,這裏只介紹咱們推薦的相對簡單可靠的方式。可視化

回測工具與量化系統高度集成。在理想的狀況下(參照咱們設計的簡單的量化系統),用戶能夠原樣照搬量化系統裏面的策略內容,並添加少許的系統變量設置,而後回測工具自動裝載策略,加載回測情報系統,對回測的交易系統進行操做,記帳。循環

# 回測系統示例僞代碼開始 { 讀取用戶設置(時長、品種、偏差係數) 初始化程序(策略系統,回測數據系統,模擬交易記帳系統) 循環:回測數據系統.從第一條到最後一條.執行 { 策略系統.讀取歷史數據 策略系統.計算信號 若是(策略系統.有交易指令)執行 { 模擬交易記帳系統.執行交易 } } 打印分析結果}

這跟量化系統的執行邏輯很是類似,差異是:

  1. 情報系統是實時在更新,而回測數據系統提取歷史數據;
  2. 交易系統會向交易平臺提交交易請求,模擬交易記帳系統則是在本地進行模擬撮合交易,記錄結果;
  3. 回測系統有專門的分析結果。

有了這樣的系統,重複地運行,不斷地調整參數,找到你認爲能夠接受的結果爲止,回測也不是那麼難,對不對?

因此到底須要準備什麼才能進行回測呢?

答:完整且規範的數據源,自動記帳程序,和你想測試的策略。

但是這幾件都不是省油的燈,要本身重頭寫一遍,基本就是《量化交易從入門到放棄》的故事本來了。

若是你一直讀到這裏,還對本身完成這樣的任務抱有期待,WeQuant佩服你的堅持。

新手作回測時容易犯什麼樣的錯誤?

這裏面學問不少,主要圍繞如何下降回測的系統與人爲偏差,回頭有機會再慢慢更新。

結語

回測是調優你的量化系統的比較有效的手段,不過有效的回測並不容易,也不是全部的場景都能經過回測解決。對於回測能夠解決的問題,咱們設計了一套簡單的標準和配套工具,下降你們使用回測的門檻。請閱讀下一篇。

相關文章
相關標籤/搜索