今天(2020年7月6日)WonderTrader發佈了最新版本,有兩個重大更新。python
WtPorter
和WtBtPorter
導出的接口函數,以便調用的時候區分WtExecMon
,並導出C接口提供服務。主要是剝離了策略引擎邏輯,提供單純的執行服務,方便做爲單純的執行通道,嫁接到其餘框架之下Windows
下的開發環境從vs2013
升級到vs2017
,boost1.72
和curl
須要同步升級選股引擎,也叫作時間驅動引擎,主要用於執行定時的較大計算量的任務,好比多因子選股等,因此WonderTrader
內部也命名爲選股引擎,相應的策略基類也叫作BaseSelStrategy
,而策略的API接口也相應叫作SelContext
。web
選股引擎回測代碼示例以下json
from wtpy import WtBtEngine from Strategies.DualThrust_Sel import StraDualThrustSel if __name__ == "__main__": #建立一個運行環境,並加入策略 engine = WtBtEngine(isCta=False)#isCta主要用於標記是CTA引擎仍是SEL引擎 engine.init('.\\Common\\', "configbt.json") engine.configBacktest(202005150900,202006051500) engine.configBTStorage(mode="bin", path="E:/WTP_Data/") engine.commitBTConfig() # 建立一個選股策略,實際上是一個DualThrust的變種,經過遍歷目標標進行DualThrust的計算邏輯來實現 straInfo = StraDualThrustSel(name='DT_COMM_SEL', codes=["CFFEX.IF.HOT","SHFE.rb.HOT","DCE.i.HOT"], barCnt=50, period="m5", days=30, k1=0.1, k2=0.1) engine.set_sel_strategy(straInfo, time=5, period="min") engine.run_backtest() kw = input('press any key to exit\n') engine.release_backtest()
獨立執行器是另外一個重大更新。獨立執行器的意義在於:不管你用何種策略框架產生的信號,你都可以很輕鬆的調用獨立執行器來執行信號。這就從根本上爲遷移平臺存有顧慮的用戶提供了一條捷徑,尤爲對於那些想要提高本身的管理效率,可是又沒有合適的技術框架的用戶來講,這絕對是一個巨大的利好。flask
獨立執行器調用代碼示例以下框架
from wtpy import WtExecApi if __name__ == "__main__": execMon = WtExecApi() execMon.initialize("logcfgexec.json") execMon.config("config_exec.json") execMon.run() execMon.set_position("CFFEX.IF.2007", 1) input('press any key to exit\n') execMon.release()