跳转至

ETF 数据

A 股 ETF 增强数据获取指南。

份额变动

import finvista as fv

# 获取 50ETF 份额变动(近 30 天)
df = fv.get_cn_etf_share_change("510050", days=30)

# 获取更长时间
df = fv.get_cn_etf_share_change("510050", days=60)

参数说明

参数 类型 必需 说明
symbol str ETF 代码
days int 获取天数,默认 30

返回字段

字段 说明
date 日期
shares 总份额(亿份)
share_change 份额变动
share_change_pct 变动比例 (%)

折溢价

# 获取 ETF 折溢价
df = fv.get_cn_etf_premium_discount("510050")

返回字段

字段 说明
date 日期
price 市场价格
nav 净值
premium 溢价率 (%)
discount 折价率 (%)

使用示例

分析资金流向

df = fv.get_cn_etf_share_change("510050", days=30)

# 统计净申购/净赎回
net_change = df['share_change'].sum()
if net_change > 0:
    print(f"近 30 天净申购: {net_change:.2f} 亿份")
else:
    print(f"近 30 天净赎回: {abs(net_change):.2f} 亿份")

# 计算累计变动
df['cumulative_change'] = df['share_change'].cumsum()

折溢价套利判断

df = fv.get_cn_etf_premium_discount("510050")

# 获取最新数据
latest = df.iloc[0]
premium = latest['premium']

if premium > 0.5:
    print(f"溢价 {premium:.2f}%,可考虑申购套利")
elif premium < -0.5:
    print(f"折价 {abs(premium):.2f}%,可考虑赎回套利")
else:
    print("无明显套利机会")

比较多只 ETF

etfs = ["510050", "510300", "510500"]
share_data = {}

for etf in etfs:
    df = fv.get_cn_etf_share_change(etf, days=30)
    share_data[etf] = df['share_change'].sum()

# 按净申购排序
import pandas as pd
result = pd.Series(share_data).sort_values(ascending=False)
print("近 30 天净申购排名:")
print(result)

ETF 规模变化趋势

import matplotlib.pyplot as plt

df = fv.get_cn_etf_share_change("510050", days=60)

plt.figure(figsize=(12, 6))
plt.subplot(2, 1, 1)
plt.plot(df['date'], df['shares'])
plt.title("50ETF 总份额")
plt.ylabel("份额(亿份)")

plt.subplot(2, 1, 2)
plt.bar(df['date'], df['share_change'])
plt.title("每日份额变动")
plt.ylabel("变动(亿份)")
plt.tight_layout()
plt.show()

结合行情分析

# 获取 ETF 份额和价格
shares = fv.get_cn_etf_share_change("510050", days=30)
price = fv.get_cn_stock_daily("510050", start_date="2024-01-01")

import pandas as pd
merged = pd.merge(shares, price, on='date')

# 分析价格与份额的关系
corr = merged['close'].corr(merged['share_change'])
print(f"价格与份额变动相关性: {corr:.2f}")

主要 ETF 代码

宽基指数

代码 名称 标的指数
510050 华夏上证50ETF 上证50
510300 华泰柏瑞沪深300ETF 沪深300
510500 南方中证500ETF 中证500
159915 易方达创业板ETF 创业板指
588000 华夏上证科创板50ETF 科创50

行业/主题

代码 名称 主题
512880 国泰中证全指证券公司ETF 证券
512690 鹏华中证酒ETF 白酒
515790 华宝中证银行ETF 银行
512760 国泰中证半导体芯片ETF 芯片
515030 华夏中证新能源汽车ETF 新能源车

跨境 ETF

代码 名称 标的
513050 易方达中概互联网ETF 中概互联
513500 博时标普500ETF 标普500
513100 国泰纳斯达克100ETF 纳斯达克100

投资提示

  • ETF 份额增加通常表示资金看好后市
  • 折溢价过大时可能存在套利机会
  • 跨境 ETF 受汇率影响