# WindPy 基金专用字段参考 基金数据通过 `w.wsd()`(时间序列)和 `w.wss()`(截面快照)获取。 ## 基金基础字段(wss 截面数据) | 字段 | 含义 | 说明 | |------|------|------| | `nav` | 单位净值 | 最新净值 | | `nav_acc` | 累计净值 | 含分红的累计净值 | | `nav_adj` | 复权净值 | 考虑分红再投资的净值 | | `nav_date` | 净值日期 | 最新净值对应日期 | ## 基金信息字段(wss 截面数据) | 字段 | 含义 | 说明 | |------|------|------| | `fund_type` | 基金类型 | 股票型/债券型/混合型等 | | `sec_name` | 基金简称 | | | `fund_manager` | 基金经理 | | | `fund_corp` | 基金公司 | | ## ETF 涨跌幅字段 ### 实时涨跌幅(日内) | 字段 | 含义 | 函数 | 说明 | |------|------|------|------| | `rt_last` | 最新价 | wsq | 实时成交价 | | `rt_pct_chg` | 实时涨跌幅(%) | wsq | 相对于昨收的实时涨跌 | | `rt_chg` | 实时涨跌额 | wsq | 实时涨跌金额 | | `rt_nav` | 实时净值 | wsq | ETF实时IOPV净值 | ### 日频涨跌幅(日K) | 字段 | 含义 | 函数 | 说明 | |------|------|------|------| | `close` | 日收盘价 | wsd/wss | 当日收盘价 | | `pct_chg` | 日涨跌幅(%) | wsd/wss | 当日涨跌幅 | | `change` | 日涨跌额 | wsd/wss | 当日涨跌金额 | | `nav` | 单位净值 | wsd/wss | 日终单位净值 | | `pct_chg_nav` | 净值日涨跌幅(%) | wsd/wss | 净值日涨跌幅 | **使用场景对比:** - **实时行情(wsq)**:适合盘中监控、日内交易决策 - **日频行情(wsd/wss)**:适合日终复盘、历史数据分析、策略回测 --- ## 使用示例 ```python from WindPy import w w.start() # 基金净值时间序列 err, df = w.wsd("510300.SH", "nav,nav_acc,nav_adj", "-30D", "", "", usedf=True) # 列名: ['NAV', 'NAV_ACC', 'NAV_ADJ'] # 多只基金截面信息 err, df = w.wss("510300.SH,159915.SZ,512800.SH", "sec_name,nav,nav_acc,fund_type,fund_manager", "", usedf=True) # ETF 实时行情(日内) err, df = w.wsq("510300.SH", "rt_last,rt_pct_chg,rt_nav", usedf=True) # ETF 日频涨跌幅获取方式 ## 方式1:使用 wsd 获取历史日频涨跌幅(推荐) err, df = w.wsd("510300.SH", "close,pct_chg", "-30D", "", "", usedf=True) # close: 日收盘价 # pct_chg: 日涨跌幅(%) ## 方式2:使用 wss 获取截面日频涨跌幅 err, df = w.wss("510300.SH,159915.SZ", "close,pct_chg", "tradeDate=20260209", usedf=True) # 获取指定交易日的收盘价和涨跌幅 ## 方式3:获取ETF的历史净值涨跌幅 err, df = w.wsd("510300.SH", "nav,pct_chg_nav", "-30D", "", "", usedf=True) # nav: 单位净值 # pct_chg_nav: 净值日涨跌幅 w.stop() ``` --- ## 常见基金代码示例 | 代码 | 名称 | 类型 | |------|------|------| | `510300.SH` | 华泰柏瑞沪深300ETF | 股票ETF | | `159915.SZ` | 易方达创业板ETF | 股票ETF | | `512800.SH` | 华宝中证银行ETF | 行业ETF | | `511880.SH` | 银华日利 | 货币ETF | | `518880.SH` | 华安黄金ETF | 商品ETF | --- ## 基金信息字段补充(wss 截面数据) 以下字段在 `wss()` 中已验证可用: | 字段 | 含义 | options 参数 | 说明 | |------|------|-------------|------| | `fund_type` | 基金类型 | — | 契约型开放式等 | | `fund_investtype` | 投资类型 | — | 灵活配置型/QDII混合型等 | | `fund_fundscale` | 基金规模 | `rptDate=YYYYMMDD` | 元,需指定报告期 | | `fund_setupdate` | 成立日期 | — | datetime | | `fund_maturitydate` | 到期日期 | — | 封闭式基金 | | `fund_benchmark` | 业绩基准 | — | 文字描述 | | `fund_managementfeeratio` | 管理费率 | — | 百分比 | ### 区间收益率(wss) | 字段 | 含义 | 必须 options | |------|------|-------------| | `NAV_adj_return` | 复权净值区间收益率(%) | `startDate=YYYYMMDD;endDate=YYYYMMDD` | ```python # 获取基金近 1 年区间收益率 df = wss("110011.OF,000001.OF", "NAV_adj_return", "startDate=20250225;endDate=20260225") ``` ### 净值日频涨跌(wsd) | 字段 | 含义 | 函数 | |------|------|------| | `nav` | 单位净值 | wsd | | `nav_acc` | 累计净值 | wsd | | `nav_adj` | 复权净值 | wsd | | `NAV_adj_return` | 复权净值日收益率(%) | wsd | ```python # 基金复权净值及日收益率时间序列 df = wsd("110011.OF", "nav,nav_adj,NAV_adj_return", "-30D") ``` --- ## 注意事项 1. **净值更新时间:** 一般 T 日 21:00 后更新 T 日净值 2. **QDII 基金:** 净值更新可能延迟 1-2 个交易日 3. **货币 ETF:** 使用 `rt_nav` 获取实时净值/每万份收益 4. **LOF 基金:** 代码后缀 .SZ/.SH,同时有场内交易和场外净值 5. **基金规模:** `fund_fundscale` 需指定 `rptDate`,否则返回 None 6. **区间收益率:** `NAV_adj_return` 在 wss 中需 `startDate/endDate`,在 wsd 中直接返回日收益率 7. **风险指标:** `return_1m/risk_sharpe` 等字段名在 wss 中返回 None(可能需要额外权限或不同的字段名),建议自行用净值序列计算 --- ## ETF 涨跌幅获取详解 ### 实时涨跌幅(盘中) 适合**日内交易监控**和**实时盯盘**: ```python # 获取多只ETF实时涨跌幅 etf_list = "510300.SH,159915.SZ,518880.SH" err, df = w.wsq(etf_list, "rt_last,rt_pct_chg,rt_chg,rt_nav", usedf=True) # 返回示例: # rt_last: 最新成交价 # rt_pct_chg: 相对于昨收的涨跌幅(%) # rt_chg: 涨跌金额 # rt_nav: 实时IOPV净值 ``` ### 日频涨跌幅(日K) 适合**盘后分析**、**历史回测**、**日线策略**: ```python # 获取ETF历史日频涨跌幅(过去30天) err, df = w.wsd("510300.SH", "close,pct_chg", "-30D", "", "", usedf=True) # DataFrame 包含每日收盘价和涨跌幅 # 获取特定日期的截面涨跌幅 err, df = w.wss("510300.SH,159915.SZ,518880.SH", "close,pct_chg", "tradeDate=20260209", usedf=True) # 返回指定交易日的收盘价和涨跌幅 # 获取净值涨跌幅(反映基金实际收益) err, df = w.wsd("510300.SH", "nav,pct_chg_nav", "-30D", "", "", usedf=True) # nav: 日终单位净值 # pct_chg_nav: 净值日涨跌幅 ``` ### 实时 vs 日频的区别 | 维度 | 实时行情 (wsq) | 日频行情 (wsd/wss) | |------|----------------|-------------------| | **更新频率** | 秒级/分钟级 | 日终更新 | | **适用场景** | 盘中交易、实时监控 | 盘后分析、策略回测 | | **字段前缀** | `rt_` (real-time) | 无前缀 | | **涨跌幅基准** | 相对于昨收价 | 相对于前一日收盘价 | | **数据存储** | 通常只保留当日 | 长期历史数据 | ### 常用ETF涨跌幅监控代码 ```python def get_etf_daily_performance(etf_list, date=None): """ 获取ETF日频涨跌幅表现 Parameters: ----------- etf_list : list ETF代码列表,如 ['510300.SH', '159915.SZ'] date : str, optional 日期,格式 'YYYYMMDD',默认最新交易日 Returns: -------- DataFrame : 包含ETF名称、收盘价、涨跌幅 """ if date is None: from datetime import datetime date = datetime.now().strftime('%Y%m%d') codes = ','.join(etf_list) err, df = w.wss(codes, "sec_name,close,pct_chg", f"tradeDate={date}", usedf=True) if err == 0: df.columns = ['ETF名称', '收盘价', '涨跌幅(%)'] df = df.sort_values('涨跌幅(%)', ascending=False) return df return None # 使用示例 etf_codes = ['510300.SH', '159915.SZ', '518880.SH', '512800.SH'] df = get_etf_daily_performance(etf_codes) print(df) ```