今天(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()