🚀 AI 一键生成 joinquant 策略代码
立即体验

joinquant 基金量化教程:如何使用 get_extras 获取基金单位净值与累计净值?

joinquant | 发布时间: 2026/7/23
以下内容由 EasyQuant 生成。

问题描述

请根据以下 SEO 主题生成完整页面内容:

Title: joinquant 基金量化教程:使用 get_extras 获取单位净值与累计净值

Question: joinquant 如何获取场内基金和场外基金的净值数据?

解决方案

joinquant 基金量化教程:使用 get_extras 获取基金净值数据

在 JoinQuant(聚宽)量化平台中,进行基金策略回测和分析时,获取准确的基金净值(如单位净值、累计净值和复权净值)至关重要。聚宽提供了 get_extras 函数,专门用于高效查询场内及场外基金的净值数据。


一、get_extras 函数简介

get_extras 函数可以用来获取股票、基金、期货等标的的额外数据,针对基金,主要支持以下字段:

  • unit_net_value:基金单位净值
  • acc_net_value:基金累计净值
  • adj_net_value:场外基金的复权净值

函数语法

get_extras(info, security_list, start_date='2015-01-01', end_date='2015-12-31', df=True, count=None)

参数说明

  1. info:字符串,指定要查询的信息类型。可选 'unit_net_value''acc_net_value''adj_net_value' 等。
  2. security_list:基金代码列表(如 ['510300.XSHG', '519671.OF'])。
  3. start_date / end_date:开始与结束日期,格式为 'YYYY-MM-DD'
  4. df:布尔值,是否返回 pandas.DataFrame 格式。默认为 True
  5. count:交易日数量,与 start_date 二选一。

二、获取场内与场外基金净值的示例代码

以下示例展示了如何在研究环境或策略中获取场内 ETF(如华泰柏瑞沪深300ETF 510300.XSHG)和场外开放式基金(如银河沪深300价值指数 519671.OF)的单位净值与累计净值:

from jqdata import *

# 设定要查询的基金列表(包含场内与场外基金)
funds = ['510300.XSHG', '519671.OF']

# 1. 获取单位净值 (unit_net_value)
df_unit = get_extras('unit_net_value', funds, start_date='2023-01-01', end_date='2023-01-10')
print("=== 基金单位净值 ===")
print(df_unit)

# 2. 获取累计净值 (acc_net_value)
df_acc = get_extras('acc_net_value', funds, start_date='2023-01-01', end_date='2023-01-10')
print("\n=== 基金累计净值 ===")
print(df_acc)

# 3. 获取场外基金复权净值 (adj_net_value)
df_adj = get_extras('adj_net_value', ['519671.OF'], start_date='2023-01-01', end_date='2023-01-10')
print("\n=== 场外基金复权净值 ===")
print(df_adj)

三、注意事项与使用建议

  1. 标的代码后缀区别
    • 场内基金(ETF/LOF/分级):上海后缀为 .XSHG,深圳后缀为 .XSHE(例如 '510050.XSHG')。
    • 场外基金:后缀统一为 .OF(例如 '110003.OF')。
  2. 行情与净值对比
    • 场内基金既可以通过 get_price 获取盘中实时二级市场交易价格,也可以通过 get_extras 获取基金公司公布的每日一级市场净值。
    • 场外基金无二级市场交易价格,分析其历史收益时推荐使用 get_extras 的净值数据。
  3. 避免未来函数:在策略中按天回测时,当天的最新净值一般在收盘后或晚间由基金公司公布,因此在盘中调用时应注意时间匹配,尽量取上一个交易日的数据。