WtStudio使用手册

1 安装注册

1.1 安装

安装包可以到共享云盘进行下载,下载地址为:

安装包云盘下载地址

推荐选择带有Python环境的安装包,大小为140M左右

下载完成以后,运行安装程序:

../../_images/01.png

一直点击“下一步”直到安装完成:

../../_images/02.png

../../_images/03.png

点击“完成”就会自动运行,登录界面如下:

../../_images/04.png

1.2 注册

如果您尚未注册账号,则使用微信扫码关注WonderTrader公众号,并发送“注册”,即可完成注册。

../../_images/05.png

成功登录以后,跳转到主界面

../../_images/06.png

2 系统设置

2.1 账户信息

在主界面上,选择右侧导航按钮“配置”,在“用户管理”中打开用户信息界面,修改初始密码,也可以修改其他基本账户信息,如下图:

../../_images/07.png

../../_images/08.png

2.2 环境设置

环境设置界面如下:

../../_images/09.png

用户可以自行选择使用内置的Python环境或者用户已有的python环境,如下图:

../../_images/101.png

使用内置的python环境,用户也可以点击“环境管理”按钮,对内置python环境进行包管理,可以根据用户自己的需要安装所需的库

../../_images/111.png

数据目录,即数据组件datakit保存数据的目录,WtStudio第一次运行会自动检索可用容量最大的分区作为数据存储的分区。

工作目录,即所有系统任务运行的根目录,WtStudio会根据登录用户再生层以及子目录,这样不用用户的运行数据就不会互相干扰。

数据广播端口,即数据组件datakit对外广播的端口,订阅端口是数据组件监听的udp端口,提供实时行情快照查询服务。一般不推荐修改!

2.3 账号管理

账号管理主要用于管理用户自己的行情账号交易账号

这里值得一提的是,用户的账号信息全部采用加密存储,而且每一个用户的加密秘钥都是在注册的时候随机生成的。所以从某种角度来说,即使数据文件被复制了,只要用户的账号密码没有泄露,数据文件中的关键数据,如策略代码、账号密码等,都很难被破解。所以,用户数据的安全性是有非常强有力的保障的。

../../_images/121.png

点击行情账号列表右上角的“添加行情账号”按钮,就可以添加用户自己的行情账号:

../../_images/131.png

用户可以选择内置的前置信息,也可以选择自定义,填入其他前置信息,如下图:

../../_images/141.png

点击交易账号列表右上角的“添加交易账号”按钮,可以添加交易账号,也可以选择内置的前置和自定义前置。但是交易账号,增加了appidauthkey两个字段。

../../_images/151.png

../../_images/161.png

在账号列表的第一列,是操作按钮,可以根据需要对账号进行删除。此外还可以设置datakit使用的行情账号,以及合约加载器使用的交易账号。设置成功以后,内置调度任务就会自动使用已经设置好的账号。

../../_images/171.png

3 组合监控

组合监控,是WtStudio的核心功能之一,实际上是从wtpyWtMonSvr服务组件迁移过来的功能。主要是提供一个界面化的交易组合实时数据查看工具。

../../_images/181.png

3.1 监控管理

点击右上角的“添加组合”按钮,就可以添加自己的WonderTrader实盘交易组合,如下图:

../../_images/191.png

添加完成以后,就可以在右侧的组合导航栏看到该组合了。

整个组合的数据,分为三大部分:组合数据策略数据通道数据,下面就分别展开介绍。

3.2 策略数据

WonderTraderM+1+N执行架构中,一个策略组合中,可以包含M个子策略。策略数据,就是组合中每个子策略的理论数据,包括:成交明细回合明细持仓明细以及资金明细

../../_images/201.png

../../_images/211.png

最为核心的一点是,策略信号的实时跟踪,如下图:

../../_images/221.png

信号跟踪支持买卖点信号自定义指标(主图、副图)以及自定义标记。需要更多了了解可以查看该文(WonderTrader图表输出简介)。

3.3 组合数据

组合数据,顾名思义,主要是指多策略组合层面轧平多策略的理论头寸以后,得到的净头寸理论数据

组合数据,本质上也和策略数据一样,包含成交数据回合数据持仓数据以及资金数据

相比策略数据,组合数据有一个不一样的地方,那就是持仓数据中,会对品种做一个收益归因,看看不同品种上的累计盈亏分布情况,如下图:

../../_images/231.png

组合资金也和策略资金比较类似,如下图:

../../_images/241.png

3.4 通道数据

通道数据就是交易通道(交易账号)的数据展示,包括了持仓明细成交明细订单明细以及资金明细,就是展示本地记录的交易接口的相关数据。

../../_images/251.png

../../_images/261.png

4 自动调度

自动调度,也是WtStudio的核心功能模块,其作用就是根据用户设置的时间节点,对程序进行自动调度。因为要自动调度,所以WtStudio需要常驻后台,这也是为什么WtStudio在关闭的时候,直接最小化到托盘图标,而不是直接退出的原因。

../../_images/271.png

4.1 任务设置

最常见的,还是对组合添加调度任务,如下图:

../../_images/281.png

对于组合来说,一般启动参数是run.py,执行程序则可以选择内置python或者其他本机的可执行程序。调度任务的核心在最下方的“计划任务”。用户可以选择周一到周日指定的日期的指定的时间点,执行指定的任务(启动、停止、重启)。

4.2 预设任务

预设任务,是WtStudio安装以后第一次运行的时候,自动生成的三个任务,包括:数据组件合约加载器主力确定脚本

数据组件,会自动读取“账号管理”中设置的行情账号,进行数据落地。调度信息如下图:

../../_images/291.png

合约加载器,会每天早盘晚盘各启动一次,通过读取“账号管理”中设置的合约账号,加载最新的期货合约列表和品种列表。调度信息如下图:

../../_images/30.png

主力确定脚本,是在每天收盘后16:20左右,读取数据组件当日落地的行情快照,进行主力合约的判断,从而更新最新的主力合约规则。调度信息如下图:

../../_images/31.png

5 策略研究

策略研究,是投研盒子的一个核心功能,点击主界面右侧的“投研”按钮,就可以启动投研盒子,如下图:

../../_images/32.png

投研盒子是和WtStudio独立的进程运行的,这样投研的工作就和和运营监控的工作互不干扰。投研盒子主界面如下图:

../../_images/33.png

5.1 策略管理

点击左侧“策略列表”上方的“加号”,可以添加策略,如下图:

../../_images/34.png

输入策略相关的信息之后,就可以在策略列表里看到自己的策略,如下图:

../../_images/35.png

5.2 策略代码

点击策略名称右侧的“文档”按钮,就可以打开策略的源码进行编辑,如下图:

../../_images/36.png

新建的策略代码只是一个策略模板,我们可以去“策略库”中选择一个策略复制过来,如下图:

../../_images/37.png

对构造函数略加改造,主要是把参数都设置上默认值,这样在回测的时候,就能够方便启动,如下图:

../../_images/38.png

为了在回测的时候进行信号分析,还需要在on_init中注册分析图表。对DualThrust策略,可以注册一个Range指标,展示上下轨,如下图:

../../_images/39.png

图表注册好了以后,还需要在on_calculate的时候输出自定义指标的值,如下图:

../../_images/40.png

5.3 策略回测

策略代码修改完成以后,就可以开始进行回测了。点击策略源码上方工具栏中的“启动回测”按钮,就会弹出一个回测参数对话框,如下图:

../../_images/41.png

回测标记”是用户自定义的,目的是为了对回测任务做一个标记,方便之后区分。配置完回测的相关参数,点击“启动”按钮,就开始回测了。

../../_images/42.png

../../_images/43.png

回测的记录会显示在“策略详情”切卡的列表中,后面的进度条是回测的具体进度,如果回测时间较长,可以考虑开启后台回测,在界面上跟踪该进度条就可以了。

回测结束以后,点击回测记录右侧的“查看”按钮就可以对该次回测的结果进行详细的分析了,如下图:

../../_images/44.png

点进去,就可以看到回测的日绩效曲线,如下图:

../../_images/45.png

我们可以对买卖信号做一个详细分析,如下图:

../../_images/46.png

每次进出场的点位都绘制在K线上,红色箭头代表盈利的回合,绿色箭头代表亏损的回合。

除此之外,还提供了深入的交易分析功能,如下图:

../../_images/47.png

也有针对不同时间区间的绩效统计,如下图:

../../_images/48.png

也可以对浮动盈亏及回撤进行分析,如下图:

../../_images/49.png

还有更多回测分析指标及图表,欢迎大家在使用的时候多多体验吧。

5.4 策略优化

策略回测模块演示的策略绩效,实际上比较一般,我们在研究的过程中也会遇到类似的问题。一般我们会采用参数优化的方式去寻找与品种更适配的参数,所以投研盒子里也提供了一个边界的参数优化的交互界面入口。

还是回到策略代码编辑界面,点击上方工具栏的最后一个“启动优化”按钮,就可以弹出优化配置对话框,如下图:

../../_images/50.png

根据策略的参数,我们来调整优化配置,如下图:

../../_images/51.png

并行数量,根据CPU的核心数量来设置即可,优化算法目前只提供了遍历算法,更多实用算法,后续会逐步增加进来。设置完以后,点击“启动”按钮,就可以启动优化了,运行界面如下图:

../../_images/52.png

同样,我们也可以在策略详情切卡中的优化列表里,看到优化的进度,如下图:

../../_images/53.png

我们可以看到,开启8核并行以后,100组参数,总共耗时118.23秒,相比于单次回测需要35s的回测时间,100组参数需要3500s,实际上使用时间为30分之一,对于研究效率的提升非常的大。

效率提升了以后,我们还需要看看优化结果是否对绩效有促进,点击右侧的“查看”按钮,就可以看到优化的详情,按照卡玛率做一个排序,如下图:

../../_images/54.png

可以看到,最优的参数组合是:k1=0.4,k2=0.5。将这组参数,修改到策略代码中,再做一次回测,得到如下结果:

../../_images/55.png

6 组合研究

组合研究是投研阶段另外一个比较重要的环节,也是WtStudio下一个阶段的开发重点,因为功能暂时还没上线,这里的介绍就暂时不放了。

7 数据管理

数据管理功能,在数据盒子中,在WtStudio主界面左侧点击“数据”按钮,就可以启动数据盒子,如下图:

../../_images/56.png

7.1 数据查看

启动以后,就可以进行数据查看,如下图:

../../_images/57.png

7.2 数据下载

如果需要从第三方数据源补充历史数据,点击右侧的“下载”按钮,会弹出一个下载对话框,如下图:

../../_images/58.png

目前第三方数据源,只集成了米筐的rqdata。整个数据下载逻辑的实现,是使用wtpy.apps.datahelper组件,如果要单独使用,可以参考wtpy的demo

数据下载有一个“主力规则”选项,如果选择“连续数据”,则直接下载数据源的连续合约数据,如米筐就直接下载IF88的连续数据,在使用的时候就会直接读取该数据进行使用。如果选择“分月数据”,则会根据本地的主力合约换月规则(hots.json定义的),下载对应的分月合约的历史数据,在使用的时候就会根据本地的主力合约换月规则读取对应的分月合约的历史数据进行拼接。

7.3 主力规则

主力规则就是主力合约换月规则,如下图:

../../_images/59.png

一般来说,主力合约换月规则推荐使用WtHotPicker自动实现(demo),WtStudio也内置了自动调度的任务,但是如果用户一定要自行管理换月规则,可以通过数据盒子进行管理,也可以直接去修改安装目录下的common/hots.json文件进行管理