Files
etf/docs/experiments/ETF溢价率官方定义调研报告.md
aszerW 06fc62c51b test(premium): add ETF溢价率计算验证脚本及校验报告
新增验证脚本 tests/verify_premium_calculation.py,支持批量验证config.yaml中所有ETF

验证结果:
- 11只ETF全部验证通过,溢价率计算与集思录完全一致
- 动态匹配原则正确:优先当天净值,不存在时用T-1净值
- 净值日期规则验证:
  - A股/港股/商品/债券/日本QDII:当天净值
  - 美股QDII/欧洲QDII/原油QDII:T-1净值

相关文档:
- ETF溢价率官方定义调研报告.md
- ETF溢价率计算校验报告.md
2026-05-16 10:24:28 +08:00

6.0 KiB
Raw Permalink Blame History

ETF溢价率官方定义与计算规则调研报告

一、官方定义

1.1 溢价/折价概念来源21财经

溢价:交易价格 > 基金份额参考净值IOPV 折价:交易价格 < 基金份额参考净值IOPV

1.2 溢价率计算公式

实时溢价率(盘中):

\text{溢价率} = \frac{\text{交易价格} - \text{IOPV}}{\text{IOPV}} \times 100\%

历史溢价率(收盘后):

\text{溢价率} = \frac{\text{收盘价格} - \text{基金净值}}{\text{基金净值}} \times 100\%

1.3 IOPV定义来源百度百科

IOPVIndicative Optimized Portfolio Value = 基金份额参考净值

  • 计算机构:中证指数有限公司或证券交易所
  • 更新频率每15秒对外发布一次
  • 计算公式
\text{IOPV} = \frac{\sum(\text{现金替代金额} + \text{持仓数量} \times \text{最新成交价}) + \text{预估现金部分}}{\text{最小申购赎回单位份额}}
  • 小数精度保留3位小数

二、净值披露规则

2.1 普通基金净值披露(来源:新浪财经)

阶段 时间 内容
数据准备 15:00-17:00 等待交易所数据导入
净值计算 17:00-19:30 估值计算、托管银行复核
风险检查 19:30-20:30 资金状况、持仓概况检查
净值公布 约21:00前 基金公司官网公布T日净值
代销机构 T+1日 银行、券商更新净值数据

结论普通基金的T日净值在T日当晚21:00前公布。

2.2 QDII基金净值披露来源私募排排网

QDII基金投资境外市场存在时差问题

  • 美股收盘时间北京时间凌晨T日交易实际在T+1日凌晨结束
  • 净值计算:需要等待境外市场收盘数据
  • 披露时间T+2日公布净值非自然日是交易日

示例

  • 周一T日买入QDII基金
  • 周二凌晨美股收盘,基金净值才确定
  • 周三T+2投资者看到周一的净值

三、历史溢价率计算规则

3.1 核心问题

计算历史溢价率时,关键问题是净值日期匹配

  • 实时溢价率使用IOPV盘中每15秒更新
  • 历史溢价率使用基金净值(收盘后公布)

3.2 净值日期选择规则

根据官方披露规则:

基金类型 净值披露时间 历史溢价率计算
A股ETF T日当晚公布 T日收盘价配T日净值
港股ETF T日当晚公布 T日收盘价配T日净值
商品ETF T日当晚公布 T日收盘价配T日净值
债券ETF T日当晚公布 T日收盘价配T日净值
美股QDII T+2日公布 T日收盘价配T-1日净值
日本QDII 视基金管理人 可能当天或T-1
欧洲QDII 视基金管理人 可能当天或T-1

3.3 动态匹配原则

由于不同基金管理人的披露规则可能不同,推荐动态匹配

  1. 优先使用当天净值如果T日净值已存在使用当天净值计算
  2. 否则使用T-1净值如果T日净值不存在使用前一日净值

这是集思录的实际做法:根据数据可用性动态选择。

四、验证示例

4.1 创业板ETF159915.SZ- 当天净值

集思录数据2026-05-15

  • 价格日期2026-05-15
  • 收盘价3.970
  • 净值日期2026-05-15当天
  • 净值3.9402
  • 溢价率0.76%
\text{溢价率} = \frac{3.970 - 3.9402}{3.9402} = 0.76\%

4.2 纳指ETF513100.SH- T-1净值

集思录数据2026-05-15

  • 价格日期2026-05-15
  • 收盘价2.100
  • 净值日期2026-05-14T-1
  • 净值2.0200
  • 溢价率3.96%
\text{溢价率} = \frac{2.100 - 2.0200}{2.0200} = 3.96\%

原因纳指ETF投资美股净值T+1披露2026-05-15的净值尚未公布。

4.3 日经ETF513520.SH- 当天净值

集思录数据2026-05-15

  • 价格日期2026-05-15
  • 收盘价2.085
  • 净值日期2026-05-15当天
  • 净值2.0626
  • 溢价率1.09%
\text{溢价率} = \frac{2.085 - 2.0626}{2.0626} = 1.09\%

差异说明日经ETF虽投资日本市场但基金管理人华夏基金采用当天披露净值规则。

五、实现建议

5.1 代码实现原则

def calculate_premium(price_df, nav_df):
    """
    计算历史溢价率
    
    规则:
    1. 优先使用当天净值(如果存在)
    2. 否则使用T-1净值当天净值不存在时
    """
    # 优先匹配当天净值
    same_day_dates = price_df.index.intersection(nav_df.index)
    
    # 对于没有当天净值的日期使用T-1净值
    nav_shifted = nav_df.copy()
    nav_shifted.index = nav_shifted.index + pd.Timedelta(days=1)
    t1_dates = price_df.index.intersection(nav_shifted.index)
    t1_dates = t1_dates.difference(same_day_dates)  # 排除已有当天净值的
    
    # 分别计算溢价率
    premium = {}
    for date in same_day_dates:
        premium[date] = (price[date] - nav[date]) / nav[date]
    for date in t1_dates:
        premium[date] = (price[date] - nav_shifted[date]) / nav_shifted[date]
    
    return premium

5.2 数据来源选择

  • Tushare fund_nav接口:提供基金净值数据
  • 净值索引日期Tushare返回的净值日期是披露日期
  • 判断规则:根据数据可用性动态选择

六、参考资料

  1. 21财经 - ETF高溢价科普
  2. 百度百科 - 基金份额参考净值
  3. 新浪财经 - 基金净值公布时间
  4. 上交所ETF基础知识
  5. 集思录ETF数据
  6. 集思录QDII数据