金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 124|回复: 6

小周期引用大周期数据

[复制链接]

16

主题

45

帖子

55

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
发表于 2025-3-19 09:30 | 显示全部楼层 |阅读模式
策略运行在5分钟周期上,引用15分钟的数据:
[Python] 复制代码
context.data_len = 400
    context.s_SH510500 = "SH510500"
    open_data = history_bars(context.s_SH510500, context.data_len, '15m', 'open', True, True, True) 
    high_data = history_bars(context.s_SH510500, context.data_len, '15m', 'high', True, True, True) 
    low_data = history_bars(context.s_SH510500, context.data_len, '15m', 'low', True, True, True) 
    close_data = history_bars(context.s_SH510500, context.data_len, '15m', 'close', True, True, True) 
    volume_data = history_bars(context.s_SH510500, context.data_len, '15m', 'volume', True, True, True) 
print(
        f'{str(context.now)}\n'
        f'open: {open_data[-1]:.3f}\n'
        f'high: {high_data[-1]:.3f}\n'
        f'low: {low_data[-1]:.3f}\n'
        f'close: {close_data[-1]:.3f}\n'
        f'volume: {volume_data[-1]:.3f}\n'
    )


按照API的解释:
include_now        bool        是否包括不完整的bar数据。默认为False,不包括。举例来说,当前1分钟k时间为09:39的时候获取上一个5分钟线数据,默认将获取到09:31~09:35合成的5分钟线,即最近一根完整的5分钟线数据。如果设置为True,则将获取到09:36~09:39之间合成的"不完整"5分钟线,即最新一根5分钟线数据。
照理说 include_now 设置为 True 了,输出的每个 close 基本都不同、volume 肯定不同、同一个 15min 内的 open 一定一样
但是这是输出数据:
09:22:47 > 2025-01-02 09:35:00
           open: 5.713
           high: 5.714
           low: 5.675
           close: 5.692
           volume: 550748.000
           
09:22:47 > 2025-01-02 09:40:00
           open: 5.713
           high: 5.714
           low: 5.675
           close: 5.692
           volume: 550748.000
           
09:22:47 > 2025-01-02 09:45:00
           open: 5.713
           high: 5.714
           low: 5.675
           close: 5.692
           volume: 550748.000
           
09:22:47 > 2025-01-02 09:50:00
           open: 5.692
           high: 5.700
           low: 5.682
           close: 5.688
           volume: 192940.000
           
09:22:47 > 2025-01-02 09:55:00
           open: 5.692
           high: 5.700
           low: 5.682
           close: 5.688
           volume: 192940.000
           
09:22:47 > 2025-01-02 10:00:00
           open: 5.692
           high: 5.700
           low: 5.682
           close: 5.688
           volume: 192940.000
           
09:22:47 > 2025-01-02 10:05:00
           open: 5.688
           high: 5.695
           low: 5.668
           close: 5.671
           volume: 285547.000
           
09:22:47 > 2025-01-02 10:10:00
           open: 5.688
           high: 5.695
           low: 5.668
           close: 5.671
           volume: 285547.000
           
09:22:47 > 2025-01-02 10:15:00
           open: 5.688
           high: 5.695
           low: 5.668
           close: 5.671
           volume: 285547.000
哪里有问题,请老师帮忙看一下,谢谢!

回复

使用道具 举报

2

主题

4744

帖子

4744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-3-19 09:34 | 显示全部楼层
本帖最后由 资深技术05 于 2025-3-19 09:40 编辑

你这个是在回测中执行的?
你当前日期是1月份的,你是没有连接这个品种行情吧?


回复

使用道具 举报

16

主题

45

帖子

55

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2025-3-19 09:39 | 显示全部楼层
是的
回复

使用道具 举报

2

主题

4744

帖子

4744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-3-19 09:43 | 显示全部楼层
回测中不存在不完整的K。都是历史数据了,你在五分钟获取十五分钟数据,只能获取到最终状态的K。



回复

使用道具 举报

16

主题

45

帖子

55

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2025-3-19 09:45 | 显示全部楼层
那就只能先获得5min的数据
再拼合到15min、include_now  为 False 的数据中了?
回复

使用道具 举报

2

主题

4744

帖子

4744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-3-19 10:07 | 显示全部楼层
逻辑是这样子的了。只能如此了。不过这个操作,你用pandas应该更容易处理些。它有一些聚合函数,可以按照特定的时间周期去聚会,具体细节你可以查阅相关资料,我这边也只是有点印象。
回复

使用道具 举报

2

主题

4744

帖子

4744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-3-19 10:07 | 显示全部楼层
逻辑是这样子的了。只能如此了。不过这个操作,你用pandas应该更容易处理些。它有一些聚合函数,可以按照特定的时间周期去聚会,具体细节你可以查阅相关资料,我这边也只是有点印象。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-4 03:47 , Processed in 0.251496 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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