🚀 AI 一键生成 ptrade 策略代码

ptrade量化平台历史行情数据支持的周期详解

ptrade | 发布时间: 2026/5/28
以下内容由 EasyQuant 生成。

问题描述

量化的历史行情数据,支持什么周期的?

/

解决方案

在 ptrade 量化交易平台中,获取历史行情数据主要通过 get_historyget_price 两个 API 接口。这两个接口支持非常丰富的 K 线周期(频率),能够满足从高频到低频的各种量化策略需求。

支持的历史行情数据周期列表

根据 ptrade API 文档,frequency 参数支持以下周期:

1. 分钟级别(Intraday)

  • 1分钟线'1m'
  • 5分钟线'5m'
  • 15分钟线'15m'
  • 30分钟线'30m'
  • 60分钟线'60m'
  • 120分钟线'120m'

2. 日级别及以上(Daily & Higher)

  • 日线'1d''daily'
  • 周线'1w''weekly'
  • 月线'mo''monthly'
  • 季度线'1q''quarter'
  • 年线'1y''yearly'

代码获取示例

以下是如何在策略中获取不同周期历史数据的示例:

def initialize(context):
    g.security = '600570.SS'
    set_universe(g.security)

def handle_data(context, data):
    # 获取过去10分钟的1分钟线数据
    history_1m = get_history(10, frequency='1m', field='close', security_list=g.security)
    log.info('1分钟线收盘价:\n%s' % history_1m)

    # 获取过去5天的日线数据
    history_1d = get_history(5, frequency='1d', field='close', security_list=g.security)
    log.info('日线收盘价:\n%s' % history_1d)

    # 获取过去5周的周线数据
    history_1w = get_history(5, frequency='1w', field='close', security_list=g.security)
    log.info('周线收盘价:\n%s' % history_1w)

💡 开发者注意事项

  1. 周线及以上数据的合成:返回的周线(1w)、月线等数据是由日线数据进行合成的。
  2. get_price 接口的特殊限制:在使用 get_price 接口时,count 参数只针对上述列出的标准频率有效。并且,'weekly', '1w', 'monthly', 'mo', 'quarter', '1q', 'yearly', '1y' 频率不支持 start_dateend_date 组合的入参,只支持 end_datecount 组合的入参形式。
  3. 停牌处理:针对停牌场景,ptrade 没有跳过停牌的日期,时间轴均为二级市场交易日日历。停牌时使用停牌前的数据填充,成交量为0。日K线可使用成交量为0的逻辑进行停牌日过滤。