fix: ETF始终返回净值和溢价率数据(与adj无关)
修改原因: - 净值是客观数据,不存在复权概念 - 溢价率 = (原始价格 - 净值) / 净值,与用户请求的 adj 无关 - 用户请求 adj='hfq' 时也需要查看溢价率数据 变更内容: - 移除 'adj == raw' 限制条件 - 所有 ETF 请求都附加净值和溢价率数据 - 更新 API 文档说明 - 溢价率始终基于原始价格计算
This commit is contained in:
@@ -610,6 +610,11 @@ def get_ohlcv():
|
||||
- 15m: 15分钟线
|
||||
- 1m: 分钟线
|
||||
nocache: 是否跳过缓存 (optional, 默认false)
|
||||
|
||||
特殊说明:
|
||||
- 中国ETF (china_etf) 始终返回净值和溢价率数据
|
||||
- 净值和溢价率为客观数据,与 adj 参数无关
|
||||
- 溢价率始终基于原始价格计算,不受复权影响
|
||||
"""
|
||||
code = request.args.get('code', '').strip()
|
||||
start = request.args.get('start', '').strip()
|
||||
@@ -708,11 +713,12 @@ def get_ohlcv():
|
||||
result['asset_type'] = final_type.value # 使用最终类型
|
||||
result['adj'] = adj # 返回使用的 adj 参数
|
||||
|
||||
# 如果是中国 ETF 且 adj=raw,自动附加净值和溢价率数据
|
||||
if final_type == AssetType.CHINA_ETF and adj == 'raw':
|
||||
# 如果是中国 ETF,始终附加净值和溢价率数据(与 adj 无关)
|
||||
if final_type == AssetType.CHINA_ETF:
|
||||
try:
|
||||
f = get_fetcher()
|
||||
with f:
|
||||
# 注意:始终使用原始价格计算溢价率(净值无复权概念)
|
||||
price_df, nav_df, premium_series = f.fetch_etf_with_nav(code, start, end)
|
||||
|
||||
# 添加净值数据
|
||||
|
||||
Reference in New Issue
Block a user