掘金社区

发布掘金SDK v2.8,重大版本升级Pinned highlighted

一怒拔剑 发表在掘金2 2016-03-16 10:22:20

掘金2
994
1
0

掘金SDK v2.8正式发布。本次发布包含一系列重量级功能更新,建议所有用户升级。

  • v2.8重写了回测模型,解除了原来回测模式下的一些api访问限制,彻底统一了策略回测、仿真与实盘模型,策略一行代码不用修改就可以在不同模式下运行;
  • 数据服务内置了bar数据自动变频功能,策略在查询、回测和模拟行情中可以使用任意频度的历史行情bar数据;
  • 重新设计了模拟行情(MODE=3),模拟行情将根据策略订阅的代码自动地7*24小时不间断按需推送数据;
  • 新增了一组order查询以及交易日历查询api;
  • 正式支持Python3.5。

v2.8需要与掘金终端v2.2以上版本协同工作,终端在启动后会自动完成升级,当然,您也可以在这里下载最新终端安装包。详细发布内容如下:

<!--more myquant-->

策略回测模型与仿真、实盘模型完全统一

新设计的回测模型采用流式计算模型,在回测过程中同步计算策略的资金、持仓以及各项绩效指标数据,并触发对应的事件,策略回测过程中可以查询这些数据,从而在模型上与仿真和实盘统一了起来。

  • 解除资金、持仓、绩效指标(<code>get_cash,get_position,get_indicator</code>)等函数的调用限制,现在这些函数将正确返回数据
  • 自动触发委托状态、成交回报、错误等事件(<code>on_order_status,on_execrpt,on_error</code>)
  • 增加回测进度通知机制,回测进度将实时更新在掘金终端
  • 回测参数增加<code>基准代码</code>参数,方便策略的绩效与基准绩效对比,默认使用<code>沪深300</code>
  • 新增回测结束事件,SDK在回测结束时触发改事件,并返回回测绩效数据

<pre><code class="language-text" data-lang="text">strategy.ini 配置文件

;基准代码
bench_symbol=SHSE.000300
</code></pre>

<pre><code class="language-text" data-lang="text"># 回测结束事件
on_backtest_finish(indicator)
</code></pre>

新增数据变频服务,支持访问任意频度的bar

变频数据根据不同的策略数据请求,自动判断是使用原始数据,还是使用变频数据,并在后台处理好交易时段、夜盘、跨天、跨周末等复杂逻辑。无缝兼容对历史行情、回测行情、模拟行情变频

使用一分钟以内频度的bar数据,自动通过tick数据合成,比如订阅

<pre><code class="language-text" data-lang="text">CFFEX.IF1603.bar.3 // 3s bar
CFFEX.IF1603.bar.5 // 5s bar
CFFEX.IF1603.bar.7 // 7s bar
CFFEX.IF1603.bar.19 // 19s bar
SHSE.600000.bar.15 // 15s bar
SHSE.600000.bar.30 // 30s bar
SHSE.600000.bar.45 // 45s bar
SHSE.600000.bar.55 // 55s bar
SHSE.600000.bar.60 // 60s bar
</code></pre>

使用一分钟以上的bar数据,自动通过一分钟bar数据合成,比如订阅

<pre><code class="language-text" data-lang="text">CFFEX.IF1603.bar.120 // 2 minutes bar
CFFEX.IF1603.bar.180 // 3 minutes bar
CFFEX.IF1603.bar.240 // 4 minutes bar
CFFEX.IF1603.bar.3600 // 60 minutes bar
SHSE.600000.bar.900 // 15 minutes bar
SHSE.600000.bar.1800 // 30 minutes bar
</code></pre>

重新设计模拟行情(MODE=3)模拟行情,按订阅的数据推送

模拟行情是7*24推送,方便非交易时段仍然能驱动策略作调试工作,从v2.8开始模拟行情将根据策略订阅的代码进行推送数据。

新增一组order与交易日历查询API

以下以Python为例说明,其他语言API详见对应的API文档

<pre><code class="language-python" data-lang="python"># 查询日内未结委托
get_unfinished_orders()

查询指定时段的全部委托

get_orders(start_time, end_time)

查询指定时段、指定symbol的全部委托

get_orders_by_symbol(exchange, sec_id, start_time, end_time)

查询指定交易所的交易日历

get_calendar(exchange, start_date, end_date)
</code></pre>

支持Python3.5

正式支持Python3.5版本。Python3.4版本SDK不再支持。

各种语言SDK具体动态如下:

更详细情况请参考sdk的文档和示例,以及sdk中的changelog。新的SDK下载


这是一个已从原 http://www.myquant.cn/news/2016/03/16/sdk-2-8-0-release/ 中分离的主题

评论: 1
  • [Bug] mode=4时,订阅1分钟的bar,返回bar的bar_type为0,应该为60. 其他5分钟,30分钟等的都正确。

    2016-03-20 03:49:40

Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.