VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 419
声望: 170

1 集合竞价时段

股票、期货合约都有集合竞价时段,如国内期货合约为前一交易日的21:00前5分钟,股指期货合约为当前交易日的9:30前5分钟,股票合约的为当前交易日的9:30之前。
集合竞价完成之后通常在开市前1分钟提供CTP接口推送第一个tick,注意:这个tick的时间戳为开市前1分钟,而不在各个交易时间段内!
如:
国内期货合约如果第一个交易段为21:00,那么这个tick的时间戳为20:59
国内股指期货合约为当前交易日的9:30,那么这个tick的时间戳为9:29

2 vnpy当前的BarGenerator无法正确处理该tick

实盘中每个合约都会有集合竞价时段,这时候采用自带的BarGenerator来合成1分钟bar就会有问题,因为20:59:00的那个tick既不属于上一交易日的1分钟bar(15:59)的,也不属于21:00的那一个1分钟bar,当然就只能够孤独地自成一个1bar啦!由此带来的问题是21:00的那一个1分钟bar的开盘价和成交量(这个成交量可能是很大)都可能是错了。
当然由此导致的5分钟、10分钟、15分钟、30分钟乃至1日的bar都可能是有问题的,因为它们都是1分钟bar合成的。

3 解决方法:

  • 从合约信息中提前交易时间段信息入手,通常某个交易日的第一个交易时间段前1分钟收到的tick应该归入该交易日的第一个1分钟bar,
  • 如国内期货的为前一交易日的21:00的前1分钟收到的tick应该归入21:00的那一个1分钟bar,
  • 股指期货的为当前交易日的9:30的前1分钟收到的tick应该归入9:30的那一个1分钟bar。
  • 在正确处理了交易日首个1分钟bar合成的基础上,其他的n分钟bar的合成才可能是正确的。

4 顺便谈谈没有办法合成90分钟K线的问题

你现在用BarGenerator没有办法合成90分钟K线,不信你试试看!挺搞笑的一个问题!

在此呼吁vnpy官方,重视CTP接口中的合约信息的作用,重构BarGenerator,作出一个解决当前问题众多的bar合成器。

天下苦此BarGenerator久矣!

Administrator
avatar
加入于:
帖子: 4500
声望: 320

hxxjava wrote:

1 集合竞价时段

股票、期货合约都有集合竞价时段,如国内期货合约为前一交易日的21:00前5分钟,股指期货合约为当前交易日的9:30前5分钟,股票合约的为当前交易日的9:30之前。
集合竞价完成之后通常在开市前1分钟提供CTP接口推送第一个tick,注意:这个tick的时间戳为开市前1分钟,而不在各个交易时间段内!
如:
国内期货合约如果第一个交易段为21:00,那么这个tick的时间戳为20:59
国内股指期货合约为当前交易日的9:30,那么这个tick的时间戳为9:29

2 vnpy当前的BarGenerator无法正确处理该tick

实盘中每个合约都会有集合竞价时段,这时候采用自带的BarGenerator来合成1分钟bar就会有问题,因为20:59:00的那个tick既不属于上一交易日的1分钟bar(15:59)的,也不属于21:00的那一个1分钟bar,当然就只能够孤独地自成一个1bar啦!由此带来的问题是21:00的那一个1分钟bar的开盘价和成交量(这个成交量可能是很大)都可能是错了。
当然由此导致的5分钟、10分钟、15分钟、30分钟乃至1日的bar都可能是有问题的,因为它们都是1分钟bar合成的。

3 解决方法:

  • 从合约信息中提前交易时间段信息入手,通常某个交易日的第一个交易时间段前1分钟收到的tick应该归入该交易日的第一个1分钟bar,
  • 如国内期货的为前一交易日的21:00的前1分钟收到的tick应该归入21:00的那一个1分钟bar,
  • 股指期货的为当前交易日的9:30的前1分钟收到的tick应该归入9:30的那一个1分钟bar。
  • 在正确处理了交易日首个1分钟bar合成的基础上,其他的n分钟bar的合成才可能是正确的。

4 顺便谈谈没有办法合成90分钟K线的问题

你现在用BarGenerator没有办法合成90分钟K线,不信你试试看!挺搞笑的一个问题!

在此呼吁vnpy官方,重视CTP接口中的合约信息的作用,重构BarGenerator,作出一个解决当前问题众多的bar合成器。

天下苦此BarGenerator久矣!

BarGenerator确实开始是作为一个DEMO组件给大家学习怎么做数据合成的,vn.py目前的发展情况也早就超过我们当时的预期,现在用户量持续增长的情况下,我们在考虑推出更加产品化的版本了,最近刚开始着手评估,估计会在文档更新任务完成后启动。

Member
avatar
加入于:
帖子: 23
声望: 0

hxxjava wrote:

1 集合竞价时段

股票、期货合约都有集合竞价时段,如国内期货合约为前一交易日的21:00前5分钟,股指期货合约为当前交易日的9:30前5分钟,股票合约的为当前交易日的9:30之前。
集合竞价完成之后通常在开市前1分钟提供CTP接口推送第一个tick,注意:这个tick的时间戳为开市前1分钟,而不在各个交易时间段内!
如:
国内期货合约如果第一个交易段为21:00,那么这个tick的时间戳为20:59
国内股指期货合约为当前交易日的9:30,那么这个tick的时间戳为9:29

2 vnpy当前的BarGenerator无法正确处理该tick

实盘中每个合约都会有集合竞价时段,这时候采用自带的BarGenerator来合成1分钟bar就会有问题,因为20:59:00的那个tick既不属于上一交易日的1分钟bar(15:59)的,也不属于21:00的那一个1分钟bar,当然就只能够孤独地自成一个1bar啦!由此带来的问题是21:00的那一个1分钟bar的开盘价和成交量(这个成交量可能是很大)都可能是错了。
当然由此导致的5分钟、10分钟、15分钟、30分钟乃至1日的bar都可能是有问题的,因为它们都是1分钟bar合成的。

3 解决方法:

  • 从合约信息中提前交易时间段信息入手,通常某个交易日的第一个交易时间段前1分钟收到的tick应该归入该交易日的第一个1分钟bar,
  • 如国内期货的为前一交易日的21:00的前1分钟收到的tick应该归入21:00的那一个1分钟bar,
  • 股指期货的为当前交易日的9:30的前1分钟收到的tick应该归入9:30的那一个1分钟bar。
  • 在正确处理了交易日首个1分钟bar合成的基础上,其他的n分钟bar的合成才可能是正确的。

4 顺便谈谈没有办法合成90分钟K线的问题

你现在用BarGenerator没有办法合成90分钟K线,不信你试试看!挺搞笑的一个问题!

在此呼吁vnpy官方,重视CTP接口中的合约信息的作用,重构BarGenerator,作出一个解决当前问题众多的bar合成器。

天下苦此BarGenerator久矣!
如果只考虑集合竞价,是不是把20:59的bar合并到9:00就可以了?
关于BarGenerator,确实很不好用,最起码,对于国内期货的四段交易时间,15分钟以上的k都是非常麻烦

Member
avatar
加入于:
帖子: 23
声望: 0

钝刀浪子 wrote:

hxxjava wrote:

1 集合竞价时段

股票、期货合约都有集合竞价时段,如国内期货合约为前一交易日的21:00前5分钟,股指期货合约为当前交易日的9:30前5分钟,股票合约的为当前交易日的9:30之前。
集合竞价完成之后通常在开市前1分钟提供CTP接口推送第一个tick,注意:这个tick的时间戳为开市前1分钟,而不在各个交易时间段内!
如:
国内期货合约如果第一个交易段为21:00,那么这个tick的时间戳为20:59
国内股指期货合约为当前交易日的9:30,那么这个tick的时间戳为9:29

2 vnpy当前的BarGenerator无法正确处理该tick

实盘中每个合约都会有集合竞价时段,这时候采用自带的BarGenerator来合成1分钟bar就会有问题,因为20:59:00的那个tick既不属于上一交易日的1分钟bar(15:59)的,也不属于21:00的那一个1分钟bar,当然就只能够孤独地自成一个1bar啦!由此带来的问题是21:00的那一个1分钟bar的开盘价和成交量(这个成交量可能是很大)都可能是错了。
当然由此导致的5分钟、10分钟、15分钟、30分钟乃至1日的bar都可能是有问题的,因为它们都是1分钟bar合成的。

3 解决方法:

  • 从合约信息中提前交易时间段信息入手,通常某个交易日的第一个交易时间段前1分钟收到的tick应该归入该交易日的第一个1分钟bar,
  • 如国内期货的为前一交易日的21:00的前1分钟收到的tick应该归入21:00的那一个1分钟bar,
  • 股指期货的为当前交易日的9:30的前1分钟收到的tick应该归入9:30的那一个1分钟bar。
  • 在正确处理了交易日首个1分钟bar合成的基础上,其他的n分钟bar的合成才可能是正确的。

4 顺便谈谈没有办法合成90分钟K线的问题

你现在用BarGenerator没有办法合成90分钟K线,不信你试试看!挺搞笑的一个问题!

在此呼吁vnpy官方,重视CTP接口中的合约信息的作用,重构BarGenerator,作出一个解决当前问题众多的bar合成器。

天下苦此BarGenerator久矣!
如果只考虑集合竞价,是不是把20:59的bar合并到21:00就可以了?
关于BarGenerator,确实很不好用,最起码,对于国内期货的四段交易时间,15分钟以上的k都是非常麻烦

Member
avatar
加入于:
帖子: 23
声望: 0

用Python的交易员 wrote:

hxxjava wrote:

1 集合竞价时段

股票、期货合约都有集合竞价时段,如国内期货合约为前一交易日的21:00前5分钟,股指期货合约为当前交易日的9:30前5分钟,股票合约的为当前交易日的9:30之前。
集合竞价完成之后通常在开市前1分钟提供CTP接口推送第一个tick,注意:这个tick的时间戳为开市前1分钟,而不在各个交易时间段内!
如:
国内期货合约如果第一个交易段为21:00,那么这个tick的时间戳为20:59
国内股指期货合约为当前交易日的9:30,那么这个tick的时间戳为9:29

2 vnpy当前的BarGenerator无法正确处理该tick

实盘中每个合约都会有集合竞价时段,这时候采用自带的BarGenerator来合成1分钟bar就会有问题,因为20:59:00的那个tick既不属于上一交易日的1分钟bar(15:59)的,也不属于21:00的那一个1分钟bar,当然就只能够孤独地自成一个1bar啦!由此带来的问题是21:00的那一个1分钟bar的开盘价和成交量(这个成交量可能是很大)都可能是错了。
当然由此导致的5分钟、10分钟、15分钟、30分钟乃至1日的bar都可能是有问题的,因为它们都是1分钟bar合成的。

3 解决方法:

  • 从合约信息中提前交易时间段信息入手,通常某个交易日的第一个交易时间段前1分钟收到的tick应该归入该交易日的第一个1分钟bar,
  • 如国内期货的为前一交易日的21:00的前1分钟收到的tick应该归入21:00的那一个1分钟bar,
  • 股指期货的为当前交易日的9:30的前1分钟收到的tick应该归入9:30的那一个1分钟bar。
  • 在正确处理了交易日首个1分钟bar合成的基础上,其他的n分钟bar的合成才可能是正确的。

4 顺便谈谈没有办法合成90分钟K线的问题

你现在用BarGenerator没有办法合成90分钟K线,不信你试试看!挺搞笑的一个问题!

在此呼吁vnpy官方,重视CTP接口中的合约信息的作用,重构BarGenerator,作出一个解决当前问题众多的bar合成器。

天下苦此BarGenerator久矣!

BarGenerator确实开始是作为一个DEMO组件给大家学习怎么做数据合成的,vn.py目前的发展情况也早就超过我们当时的预期,现在用户量持续增长的情况下,我们在考虑推出更加产品化的版本了,最近刚开始着手评估,估计会在文档更新任务完成后启动。
非常期待,强烈建议可以加载两个时间间隔的数据,比如日线和1min;最好能加入允许用户自定义间隔的数据,比如现在想用日线或者30min开仓,1min止损止盈,就只能用1min数据合成

Member
avatar
加入于:
帖子: 36
声望: 0

1分钟K线有缺失的时候(比如休市半小时,那么合成30min barj),合成也有问题,见这个帖子:
https://www.vnpy.com/forum/topic/6523-tickhe-cheng-de-barshu-ju-que-shao-dang-ri-zui-hou-yi-gen-kxian-yi-ji-hui-ce-shi-pan-shu-ju-zhou-qi-bu-yi-zhi-wen-ti

Member
avatar
加入于:
帖子: 31
声望: 0

期望 BarGenerator 中可以有现成的函数实现日线、周线、月线,15分钟以上K线的单独函数;

Member
avatar
加入于:
帖子: 11
声望: 2

直接踢掉也可以吧 毕竟59的时候也不能交易

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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