🚀 AI 一键生成 ptrade 策略代码
立即体验
👉 AI 生成代码 👈

ptrade 平台 get_stock_exrights 函数的 date 参数支持哪些格式?

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

问题描述

get_stock_exrights的date参数支持哪些格式?

传入get_stock_exrights的date参数有时报错有时正常,应该使用什么格式?

解决方案

在 ptrade 量化平台中,调用 get_stock_exrights 函数获取股票除权除息信息时,date 参数对传入的格式有严格的要求。如果您在调用时遇到时而正常、时而报错的情况,通常是因为传入了不支持的日期格式。

date 参数支持的格式

根据 ptrade API 文档,date 参数支持以下三种格式:

  1. 字符串 (str):格式必须为 'YYYYMMDD',例如 '20180228'注意:不支持带横杠的格式如 '2018-02-28'
  2. 整数 (int):格式为 YYYYMMDD,例如 20180228
  3. 日期对象 (datetime.date):例如 datetime.date(2018, 2, 28)

此外,如果不传入 date 参数(即默认值为 None),函数将返回该股票历史上所有的除权除息信息。

常见报错原因分析

如果您传入的参数报错,请检查是否属于以下情况:

  • 传入了带分隔符的字符串,如 '2018-02-28''2018/02/28'
  • 传入了 datetime.datetime 对象(包含时间信息),而不是 datetime.date 对象。
  • 传入了其他不支持的数据类型。

正确的代码示例

import datetime

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

def handle_data(context, data):
    # 方式一:不传 date,获取所有历史除权除息信息
    all_exrights = get_stock_exrights(g.security)
    log.info('所有除权除息信息:\n%s' % all_exrights)
    
    # 方式二:传入字符串格式 'YYYYMMDD'
    exrights_str = get_stock_exrights(g.security, date='20200605')
    log.info('字符串格式查询:\n%s' % exrights_str)
    
    # 方式三:传入整数格式 YYYYMMDD
    exrights_int = get_stock_exrights(g.security, date=20200605)
    log.info('整数格式查询:\n%s' % exrights_int)
    
    # 方式四:传入 datetime.date 对象
    query_date = datetime.date(2020, 6, 5)
    exrights_date = get_stock_exrights(g.security, date=query_date)
    log.info('date对象格式查询:\n%s' % exrights_date)

总结:为了保证策略的稳定性,建议统一使用 'YYYYMMDD' 的字符串格式或 datetime.date 对象来传递日期参数。