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

ptrade 中 get_stock_exrights 返回的 allotted_ps 和 bonus_ps 字段代表什么?

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

问题描述

get_stock_exrights返回的每股分红和送股字段含义是什么?

get_stock_exrights返回的数据中allotted_ps、bonus_ps字段分别代表什么含义?

解决方案

在 ptrade 量化交易平台中,调用 get_stock_exrights 接口获取股票除权除息信息时,返回的 pandas.DataFrame 数据中包含了多个字段。关于您提到的两个字段,其具体含义如下:

  • allotted_ps:代表 每股送股。数据类型为 numpy.float64。它表示在除权除息日,每持有一股股票,上市公司赠送的股票数量。
  • bonus_ps:代表 每股分红。数据类型为 numpy.float64。它表示在除权除息日,每持有一股股票,上市公司派发的现金红利金额(通常为税前)。

接口返回字段全览参考

除了上述两个字段,get_stock_exrights 返回的 DataFrame 还包含以下重要字段:

  • date:日期(索引列,类型为 int64,如 20200605)
  • rationed_ps:每股配股
  • rationed_px:配股价
  • exer_forward_a / exer_forward_b:前复权除权因子 A 和 B
  • exer_backward_a / exer_backward_b:后复权除权因子 A 和 B

代码示例

以下是一个简单的示例,展示如何获取并打印这些字段:

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

def handle_data(context, data):
    # 获取恒生电子的历史除权除息信息
    stock_exrights = get_stock_exrights(g.security)
    
    if stock_exrights is not None:
        # 打印最近一次的每股送股和每股分红信息
        latest_exright = stock_exrights.iloc[-1]
        log.info('最近一次除权除息日: %s' % stock_exrights.index[-1])
        log.info('每股送股 (allotted_ps): %s' % latest_exright['allotted_ps'])
        log.info('每股分红 (bonus_ps): %s' % latest_exright['bonus_ps'])

通过正确理解这些字段,您可以在策略中更精确地计算复权价格或处理分红再投资逻辑。