VeighNa量化社区
你的开源社区量化交易平台
randomzhang's Avatar
Member
离线
11 帖子
声望: 0

如果价差策略里的on_spread_bar中发出一个信号,主动腿下单成功,被动腿下单失败,此时被动腿会在每个tick来之后重新对冲,如果1分钟以内被动腿一直没有成交成功,在新的spread_bar到来之后,会stop_algo,此时是不是就造成了单边?

价差套利回测引擎中成交金额的计算是用 trade.volume size trade.price,这里的price实际上是价差吧,而实际上成交金额应该用主动腿和被动腿成交金额的总和来计算?

randomzhang wrote:

我在价差策略中使用basic_spread_strategy这个策略在on_spread_data这个函数中print 价差,运行时间一旦长了之后,print的价差就不是目前真实的价差了,程序重启后又可以恢复正常,我怀疑是不是event_queue里面堆积了太多的行情,没有处理过来呢?

description

randomzhang wrote:

我在价差策略中使用basic_spread_strategy这个策略在on_spread_data这个函数中print 价差,运行时间一旦长了之后,print的价差就不是目前真实的价差了,程序重启后又可以恢复正常,我怀疑是不是event_queue里面堆积了太多的行情,没有处理过来呢?
看了,时间长了后,大概两小时以上,界面价差和实际价差会差的很多

这是停止单,就是在未来的15分钟内,只要价格高于boll_up就买入,价格低于boll_down就卖出,保证成交的及时性

我在价差策略中使用basic_spread_strategy这个策略在on_spread_data这个函数中print 价差,运行时间一旦长了之后,print的价差就不是目前真实的价差了,程序重启后又可以恢复正常,我怀疑是不是event_queue里面堆积了太多的行情,没有处理过来呢?

用Python的交易员 wrote:

创建价差时,将HBDM的合约腿设置为反向合约,则价差引擎内部会负责从币到实际合约数量的转换处理
但是,如果我交易btc现货的金额不是100usdt的整数倍,那么合约数量是否就不能完全对冲现货呢

张国平 wrote:

你可以参考我的当时写的一个文章,实现了多线程遗传算法,不过是针对1.92的
http://blog.itpub.net/22259926/viewspace-2640851/
感谢,我学习一下

我现在使用一台16核的服务器回测优化参数,如果参数有10000组的话,要优化很长时间,所以想使用遗传算法优化,但是发现vnpy里只支持单进程的遗传算法优化,这样总时间和使用多核服务器的暴力穷举在时间上差不了多少,所以想咨询一下如何使用多进程遗传算法来优化参数?

randomzhang wrote:

如果我想做双均线策略参数的优化,其中有一条慢线和快线,优化参数的时候,我不想把慢线周期小于快线周期的参数都跑一遍,这个时候该怎么办?

如果我想做双均线策略参数的优化,其中有一条慢线和快线,优化参数的时候,我不想把慢线周期小于快线周期的参数都跑一遍,这个时候该怎么办?

试了一下,很给力,时间节省了一大半,赞楼主

randomzhang wrote:

用Python的交易员 wrote:

  1. 直接跑回测是否能正常运行?
  2. 确实一开始启动的进程数太多了,请问用的什么版本的vn.py?
    使用的是最新版本的vnpy,跑单个策略的回测可以正常运行,但是多进程跑多个参数时,会出现如上问题,我是在centos上跑的,数据都放在了sql中,我觉得是pymysql在多进程环境下调用sql数据库可能出现了问题,不知道老师方便试一下从sql取数据在服务器上运行多进程优化吗?
    issue已提,我后面在从sql中取数据的函数上下增加了锁,问题已经解决了,已经在issue中说明,麻烦老师看一下。

用Python的交易员 wrote:

  1. 直接跑回测是否能正常运行?
  2. 确实一开始启动的进程数太多了,请问用的什么版本的vn.py?
    使用的是最新版本的vnpy,跑单个策略的回测可以正常运行,但是多进程跑多个参数时,会出现如上问题,我是在centos上跑的,数据都放在了sql中,我觉得是pymysql在多进程环境下调用sql数据库可能出现了问题,不知道老师方便试一下从sql取数据在服务器上运行多进程优化吗?
© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】