专栏名称: quantOS
quantOS 量化开源系统的一站式解决方案
目录
相关文章推荐
51好读  ›  专栏  ›  quantOS

跟着样例学JAQS(6) - 详解TradeSim仿真交易系统

quantOS  · 公众号  ·  · 2017-12-27 18:00

正文

请到「今天看啥」查看全文


TradeSim仿真交易系统在策略开发过程中至关重要,可以用于策略实盘前的验证,与实盘效果十分接近。这是一套为专业投资机构设计的交易平台,一般投资者在使用过程中可能会遇到一些问题,产生一些疑惑,本文将详解其中的设计思想。


TradeSim的访问方式


有三种方式可以访问TradeSim:

(1) 通过TradeApi进行程序化交易和查询

(2) 通过vnTrader连接TradeSim进行交易和查询

(3) 通过仿真交易网页https://www.quantos.org/tradesim/trade.html进行查询


TradeApi的使用


TradeApi是程序化接口,用户在策略中可以调用TradeApi直接进行交易。TradeApi包括如下几大功能:

这里有几个非常重要的概念,如图:

  • 仿真交易系统会为每个账户自动分配三个Strategy,这里的Strategy是一个交易Book的编号,用于管理持仓和交易。

  • 每个Strategy对应有一个Universe,即可投资的标的范围,如中证500或沪深300,专业投资一般都会限定投资范围,不能超出范围投资。


这是典型自营交易机构的业务架构,可支持多交易员进行交易。


在API的下单方式上,我们提供:

  • 单标的下单(place_order)

  • 一篮子下单(place_batch_order,basket_order)

  • 目标持仓下单(goal_portfolio)


其中的下单方式,又支持两个特性:

  • 使用绝对数量下单和变化量下单(action + size,inc_size)

  • 普通下单和使用算法下单(algo,algo_param)


目标持仓下单是一种调仓的交易方式,即将当前持仓调整成目标持仓,系统会自动生成相应的差异订单。 当前的持仓可以通过query_portfolio查询。


TradeApi常见问题

用户在使用TradeApi进行仿真交易时,常常遇到一些问题,这里详细解答


Q: 如何获取我的策略号?

A: 登录成功后,系统自动返回策略信息

系统会返回:


Q: 调用返回 -1,NO PRIVILEGE

A: 这是由于use_strategy没有使用正确的strategy_no.


Q: 调用返回 -1,000025.SZ not in UNIVERSE

A: 这是由于你使用的标的不在Universe范围内,属于超投资范围的标的,不允许下单。可以通过query_universe接口查询可投资标的。


Q: 调用返回 -1,risk rule violated: inst[10063] rule[1] expects price_diff[0.86152841280209] <= 0.03

A: 下单价格超出风控范围。系统目前自动设置了一个3%的涨跌幅限制,任何超过当前最新价3%的委托,都会被拒绝


Q: 如何判断下单成功了

A: 返回了TaskID,表明下单成功。TaskID是一个长整数,例如:10081226000039L


撮合机制


撮合是仿真交易的核心模块,目前采取的撮合机制是按实时价格进行撮合,工作原理如下:


  • 撮合引擎监控每个市场tick,根据tick的最新价,对发送到系统的未成交委托进行模拟撮合。

  • 如果最新价和订单可以成交,则生成成交记录,并更新订单信息。

  • 目前的撮合不考虑成交量的影响,未来会继续改进。


成交推送


  • TradeSim通过TradeApi提供完备的推送事件,助力策略提高响应效率。

  • TradeApi通过回调函数方式通知用户事件。事件包括三种:订单状态、成交回报、委托任务执行状态。


算法交易


目前TradeSim提供TWAP和VWAP下单算法.

VWAP算法示例:


TWAP算法示例:


vnTrader的使用


vnTrader是一个可视化的下单工具,帮助用户下单和监控成交情况。

  • 请首先安装JAQS,如已安装,请忽略。

  • 请下载vnTrader, 如已下载,请忽略.


1. 请在vnTrader程序目录,通过如下命令启动vnTrader:

python vtMain.py

在Windows上,也可以直接运行


2. 系统提示登录,在登录框输入手机号和token,如下图


此时的策略号无法选择,直接点击确定,系统会加载出策略号,如下图

选择你要操作的策略号,再次点击确定,进入系统主界面,如下图:

主界面主要包括:交易,行情,持仓,委托,成交,资金,日志,合约等几个大的面板,用于展示用户的详细交易信息。


注:如想避免每次打开重复输入手机号和token,可在vnTrader\setting\VT_setting.json文件中修改username和token的值。


3. 发起委托

在交易界面,用户可以输入需要交易的标的代码、价格、数量,选择适当的算法,点击发单,即可进行委托。如下图


4. 发起撤单

有两种方式可以撤单:

  • 点击交易模块的“全撤”按钮。

  • 双击委托模块的指定委托记录。


仿真交易网页

  • 登录TradeSim网页,查看交易情况。访问地址是:http://www.quantos.org/tradesim/trade.html

  • 查看到自己的策略,当期的交易,持仓,绩效等情况

  • 目前只有查询功能(实时、历史),未来会有更多丰富的分析功能、交易功能等



本文转载自 量化嘉

更多讨论,请登录https://www.quantOS.org







请到「今天看啥」查看全文