金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 506|回复: 4

单一策略中多品种多周期如何获取指定周期的数据时间

[复制链接]

13

主题

84

帖子

84

积分

Rank: 4

等级: 专业版

注册:
2024-4-29
曾用名:
发表于 2024-6-26 10:26 | 显示全部楼层 |阅读模式
1、在期货多因子策略中,一个策略涉及到多品种、多周期,在handle_bar中,context.now指向哪个品种哪个周期的时间呢?那是否还能用context.now来获取某个周期的时间呢?
2、如果能,应该怎么写?3、如果不能,有什么替代写法来获取某周期的时间?

回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-6-26 12:09 | 显示全部楼层
本帖最后由 资深技术05 于 2024-6-26 13:43 编辑

context 只能指向基准合约的周期的。

你这个多周期的情况,你获取指定周期数据的时候 不是有datetime字段的嘛?
实际运行中,你获取的最后一个数据的datetime字段就是这个周期最新的时间的。
回复

使用道具 举报

13

主题

84

帖子

84

积分

Rank: 4

等级: 专业版

注册:
2024-4-29
曾用名:
 楼主| 发表于 2024-6-26 14:56 | 显示全部楼层
果然还是得依靠datetime这个字段,要进行时间比较的话,就得从datetime字段中,提取出time的部分,来进行时间段的选择或判断了 ,对吧
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-6-26 15:09 | 显示全部楼层
对的。


# float类型转为datetime类型
def convert_to_datetime(date):
    int_value = int(date)   
    year = int_value // 10000000000
    month = (int_value % 10000000000) // 100000000
    day = (int_value % 100000000) // 1000000
    hour = (int_value % 1000000) // 10000
    minute = (int_value % 10000) // 100
    second = int_value % 100
    return datetime.datetime(year,month ,day, hour, minute, second)
# float类型转为datetime.time类型
def convert_to_time(date):
    int_value = int(data)   
    hour = (int_value % 1000000) // 10000
    minute = (int_value % 10000) // 100
    second = int_value % 100
    return datetime.time(hour, minute, second)
回复

使用道具 举报

13

主题

84

帖子

84

积分

Rank: 4

等级: 专业版

注册:
2024-4-29
曾用名:
 楼主| 发表于 2024-6-26 16:12 | 显示全部楼层
感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-22 13:54 , Processed in 0.220069 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表