aszerW
feb7c78e68
refactor: 统一ETF获取接口为单个DataFrame返回
重构说明:
- TushareSource.fetch_etf(): 新增 adj 参数,统一接口
- 返回单个 DataFrame
- df.attrs['nav']: 净值 DataFrame
- df.attrs['premium']: 溢价率 Series
- 移除冗余方法:
- fetch_etf_with_nav() → 合并到 fetch_etf()
- fetch_etf_adj() → 重命名为 _fetch_etf_hfq()(内部方法)
- UniversalDataFetcher: 适配新接口
- fetch_etf_with_nav(): 从 df.attrs 提取元数据(兼容旧接口)
- fetch_etf_adj(): 调用 fetch_etf(adj='hfq')
- Flask: 更新注释说明
架构优势:
- 单一接口:一个方法搞定所有 ETF 数据获取
- 数据一致:所有数据在一个 DataFrame 对象中
- 缓存友好:只需缓存一个 DataFrame
- 扩展性强:新增数据直接添加到 attrs
2026-05-23 22:36:23 +08:00
..
2026-05-23 12:46:48 +08:00
2026-05-12 21:33:19 +08:00
2026-05-23 21:46:01 +08:00
2026-05-23 18:41:20 +08:00
2026-05-23 22:36:23 +08:00
2026-05-13 23:30:32 +08:00
2026-05-12 22:40:35 +08:00
2026-05-23 22:36:23 +08:00
2026-05-23 22:36:23 +08:00
2026-05-23 18:32:00 +08:00