VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 51
声望: 0

\vnpy\trader\utility.py文件里

class BarGenerator:
    def update_tick(self, tick: TickData) -> None:
            self.bar.high_price = max(self.bar.high_price, tick.last_price)
            if tick.high_price > self.last_tick.high_price:
                self.bar.high_price = max(self.bar.high_price, tick.high_price)

            self.bar.low_price = min(self.bar.low_price, tick.last_price)
            if tick.low_price < self.last_tick.low_price:
                self.bar.low_price = min(self.bar.low_price, tick.low_price)
Member
avatar
加入于:
帖子: 1898
声望: 142

日内的最高和最低点

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

如果tick.high_price 是日内最高点,倒是较难理解。从字面上看,应该仅仅是一个tick的最高点。 ?
另外,感到费解的是:
1)、tick应该只有一个价格 last_price,但在代码里,包括class TickData(BaseData)定义里面,也存在high_price、low_price、close_price,是画蛇添足、还是另有他用?
2)、last_tick.high_price在上一个tick到达时,已经过比对,选入了self.bar.high_price。应不需要再做一次比较 if tick.high_price > self.last_tick.high_price,是否画蛇添足?或者是我理解有误?
谢谢老师们百忙之中抽空指导,谢谢

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

MTF wrote:

日内的最高和最低点

这个说的不严谨,这里是bar的high/low, 这个bar可以是1分钟/2分钟/3分钟/5分钟。。。。/1小时/2小时/3小时/4小时。。。/1天等。

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

如果tick.high_price 是日内 最新 的最高点,倒是可以理解。不过如果这样的话,系统是否必须每天关闭重开一次。就不能7*24运行。?

Member
avatar
加入于:
帖子: 1898
声望: 142

国内金融市场的系统,都是需要每日重启的,不支持7x24连续运行

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

也就是说,vnpy的tick数据中,1)包含了当前tick的数据,2)同时附加包含了:high_price最新最高价、low_price最新最低价、close_price上一个tick价。在收集tick的过程中,累计更新这些数据。当前代码并未对时间时间校验自动初始化,故需要每日重新启动系统,初始为0,以保障是当日的最新最高价、当日的最新最低价。这些附加,也许有的人有用 ,但是对有的人来说,也许完全不会用到。

Member
avatar
加入于:
帖子: 1898
声望: 142

boliboli66 wrote:

也就是说,vnpy的tick数据中,1)包含了当前tick的数据,2)同时附加包含了:high_price最新最高价、low_price最新最低价、close_price上一个tick价。在收集tick的过程中,累计更新这些数据。当前代码并未对时间时间校验自动初始化,故需要每日重新启动系统,初始为0,以保障是当日的最新最高价、当日的最新最低价。这些附加,也许有的人有用 ,但是对有的人来说,也许完全不会用到。

这些数据都是上游系统传过来的(交易所->柜台->API),不需要本地记录维护

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

沪公网安备 31011502017034号

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