gs-quant 数据字段枚举 Fields 全面指南:从市场价格到基本面指标的统一字段体系
gs-quant 数据字段枚举 Fields 全面指南从市场价格到基本面指标的统一字段体系【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant本篇技术指南围绕 gs-quantPython quantitative finance toolkit中gs_quant.data.fields.Fields数据字段枚举展开它统一封装了数据平台中的度量Measures与维度Dimensions两类字段是Dataset.get_data、get_data_series与DataCoordinate等数据查询接口的基石。读完本文你将掌握 Fields 的完整成员清单、三类枚举的动态扩展机制以及如何在行情与基本面数据查询中正确使用这些字段。一、Fields 是什么数据查询的统一字段入口在 gs-quant 中Fields是定义于 gs_quant/data/fields.py 的枚举类其 docstring 明确说明它是 Enumeration of fields available through data APIs即通过数据 API 可用的全部字段枚举。它的特殊之处在于Fields 本身不直接声明成员而是通过extend_enum在运行时将另外两个枚举的成员动态注入for enum in DataMeasure: extend_enum(Fields, enum.name, enum.value) for enum in DataDimension: extend_enum(Fields, enum.name, enum.value)也就是说Fields是DataMeasure与DataDimension的并集。这种设计让调用方只需要记住一个枚举类就能覆盖行情量Measure与维度键Dimension两大类字段。三枚举的职责划分枚举定义语义示例成员DataMeasure数值型度量可在时间段上聚合的事实量如价格、成交量CLOSE_PRICE、VOLUMEDataDimension维度键描述/限定度量上下文用于筛选或分组数据TENOR、EXPIRATION_DATEFields前两者并集统一字段入口上述全部DataMeasure与DataDimension的官方语义在源码中均有明确注释Measure 是facts that are usually quantities and that can be aggregated over a defined period of time如 tradePrice、volumeDimension 是describe or provide context to measures, and can be used to select or group data如 ticker、exchange。三者都基于aenum.Enum实现。二、Fields 完整成员参考根据 docs/classes/gs_quant.data.fields.Fields.rst 的 Attributes 清单并结合源码中DataMeasurefields.py与DataDimensionfields.py的成员值可按语义分组如下。2.1 市场价格类行情度量枚举成员底层值含义Fields.ASK_PRICEaskPrice卖价Fields.BID_PRICEbidPrice买价Fields.HIGH_PRICEhighPrice最高价Fields.MID_PRICEmidPrice中间价Fields.LOW_PRICElowPrice最低价Fields.OPEN_PRICEopenPrice开盘价Fields.CLOSE_PRICEclosePrice收盘价Fields.TRADE_PRICEtradePrice成交价Fields.SPOT_PRICEspot即期价格Fields.VOLUMEvolume成交量2.2 复权后Adjusted价格类枚举成员底层值含义Fields.ADJUSTED_ASK_PRICEadjustedAskPrice复权卖价Fields.ADJUSTED_BID_PRICEadjustedBidPrice复权买价Fields.ADJUSTED_HIGH_PRICEadjustedHighPrice复权最高价Fields.ADJUSTED_LOW_PRICEadjustedLowPrice复权最低价Fields.ADJUSTED_OPEN_PRICEadjustedOpenPrice复权开盘价Fields.ADJUSTED_CLOSE_PRICEadjustedClosePrice复权收盘价Fields.ADJUSTED_TRADE_PRICEadjustedTradePrice复权成交价Fields.ADJUSTED_VOLUMEadjustedVolume复权成交量2.3 波动率与衍生品度量枚举成员底层值含义Fields.IMPLIED_VOLATILITYimpliedVolatility隐含波动率Fields.VAR_SWAPvarSwap方差互换Fields.PRICEprice通用价格Fields.NAV_PRICEnavPrice净值价格Fields.SPREADspread价差Fields.NAV_SPREADnavSpread净值价差Fields.IMPLIED_VOLATILITY_BY_DELTA_STRIKEimpliedVolatilityByDeltaStrike按 Delta 行权价划分的隐含波动率Fields.FORWARD_POINTforwardPoint远期点2.4 基本面度量Fundamentals枚举成员底层值含义Fields.DIVIDEND_YIELDDividend Yield股息率Fields.EARNINGS_PER_SHAREEarnings per Share每股收益Fields.EARNINGS_PER_SHARE_POSITIVEEarnings per Share Positive正每股收益Fields.NET_DEBT_TO_EBITDANet Debt to EBITDA净债务/EBITDAFields.PRICE_TO_BOOKPrice to Book市净率Fields.PRICE_TO_CASHPrice to Cash市现率Fields.PRICE_TO_EARNINGSPrice to Earnings市盈率Fields.PRICE_TO_EARNINGS_POSITIVEPrice to Earnings Positive正收益市盈率Fields.PRICE_TO_EARNINGS_POSITIVE_EXCLUSIVEPrice to Earnings Positive Exclusive剔除负值后的正收益市盈率Fields.PRICE_TO_SALESPrice to Sales市销率Fields.RETURN_ON_EQUITYReturn on Equity净资产收益率Fields.SALES_PER_SHARESales per Share每股销售额2.5 当前成分股Current Constituents基本面以下 12 个成员对应指数/篮子当前成分股维度的基本面聚合底层值均为Current Constituents 指标名格式CURRENT_CONSTITUENTS_DIVIDEND_YIELD、CURRENT_CONSTITUENTS_EARNINGS_PER_SHARE、CURRENT_CONSTITUENTS_EARNINGS_PER_SHARE_POSITIVE、CURRENT_CONSTITUENTS_NET_DEBT_TO_EBITDA、CURRENT_CONSTITUENTS_PRICE_TO_BOOK、CURRENT_CONSTITUENTS_PRICE_TO_CASH、CURRENT_CONSTITUENTS_PRICE_TO_EARNINGS、CURRENT_CONSTITUENTS_PRICE_TO_EARNINGS_POSITIVE、CURRENT_CONSTITUENTS_PRICE_TO_SALES、CURRENT_CONSTITUENTS_RETURN_ON_EQUITY、CURRENT_CONSTITUENTS_SALES_PER_SHARE以及CURRENT_CONSTITUENTS_NET_DEBT_TO_EBITDA对应的全部同类指标。2.6 时间窗口Period度量枚举成员底层值含义Fields.ONE_YEAR1y一年期Fields.TWO_YEARS2y两年期Fields.THREE_YEARS3y三年期Fields.FORWARDforward前瞻口径Fields.TRAILINGtrailing滚动/历史口径注意这里枚举成员名与底层值的对应关系如ONE_YEAR对应字符串1y使用时若需原始字符串应取Fields.ONE_YEAR.value。2.7 维度字段Dimensions以下 8 个成员来自DataDimension用于在查询中筛选或分组数据枚举成员底层值含义Fields.ASSET_IDassetId资产标识Fields.NAMEname名称Fields.RICricRIC 代码Fields.TENORtenor期限Fields.STRIKE_REFERENCEstrikeReference行权价参考如spot、DeltaFields.RELATIVE_STRIKErelativeStrike相对行权价Fields.EXPIRATION_DATEexpirationDate到期日Fields.UPDATE_TIMEupdateTime更新时间2.8 方法__init__与属性unitFields.__init__作为aenum.Enum的枚举成员构造方法。由于Fields成员均由extend_enum动态注入正常使用时无需也不应直接构造新成员。Fields.unit一个只读属性property声明返回Optional[str]用于返回字段的单位。当前源码实现中返回None并带有# TODO: Define units and look up appropriate unit for self注释即单位映射机制尚未实现调用时应假定其当前恒为None不要依赖具体单位字符串。三、在数据查询中使用 FieldsFields枚举被Dataset的查询接口直接接受是类型安全的字段入参。3.1 Dataset.get_data在 gs_quant/data/dataset.py 中get_data的fields参数类型为Iterable[Union[str, Fields]]即既支持原始字符串也支持Fields枚举。内部_build_data_query会统一转换为底层值field_names None if fields is None else list(map(lambda f: f if isinstance(f, str) else f.value, fields))因此以下两种写法等价from gs_quant.data import Dataset, Fields import datetime as dt # 方式一使用 Fields 枚举推荐可获得 IDE 补全与类型检查 data Dataset(EDRVOL_PERCENT_STOCK_STANDARD).get_data( startdt.date(2023, 1, 1), enddt.date(2023, 12, 31), fields(Fields.IMPLIED_VOLATILITY,), tenor1m, ) # 方式二使用原始字符串 data Dataset(EDRVOL_PERCENT_STOCK_STANDARD).get_data( startdt.date(2023, 1, 1), enddt.date(2023, 12, 31), fields(impliedVolatility,), tenor1m, )3.2 Dataset.get_data_seriesget_data_series只针对单个字段其入参同样为Union[str, Fields]dataset.pyseries Dataset(WEATHER).get_data_series( Fields.CLOSE_PRICE, # 也支持 Fields 枚举成员 dt.date(2016, 1, 15), dt.date(2016, 1, 16), city(Boston, Austin), )内部_build_data_series_query通过field if isinstance(field, str) else field.value提取底层值并利用provider.symbol_dimensions(self.id)校验该数据集仅有一个 symbol 维度保证返回结果是一条可索引的单序列pd.Series。3.3 DataCoordinate 坐标构建在 gs_quant/data/coordinate.py 中DataCoordinate是唯一定位数据平台上一根时间序列的不可变对象其measure参数直接接受DataMeasure枚举from gs_quant.data import DataCoordinate, DataMeasure, DataDimension coord DataCoordinate( dataset_idEDRVOL_PERCENT_STOCK_STANDARD, measureDataMeasure.IMPLIED_VOLATILITY, dimensions{ DataDimension.TENOR: 1m, DataDimension.STRIKE_REFERENCE: Delta, DataDimension.RELATIVE_STRIKE: 50, }, )3.4 基本面字段的便捷获取DataMeasure提供了类方法list_fundamentals()fields.py返回上述全部 23 个基本面指标含 Current Constituents 系列的底层字符串值可用于批量遍历基本面数据集from gs_quant.data import DataMeasure print(DataMeasure.list_fundamentals()) # [Dividend Yield, Earnings per Share, ..., Current Constituents Sales per Share]四、源码机制枚举的动态扩展与维度排序理解 Fields 的底层机制有助于在实际项目中复用同样的模式动态合并Fields借助aenum.extend_enum在模块导入时并入DataMeasure与DataDimension的全部成员fields.py。因此Fields的成员集合取决于上述两个枚举的定义顺序任何新加入DataMeasure/DataDimension的成员都会自动出现在Fields中无需改动消费方代码。字符串与枚举互转在 coordinate.py 中坐标解析通过DataMeasure._value2member_map_与DataDimension._value2member_map_将底层字符串反向映射为枚举成员measure DataMeasure(measure) if measure in DataMeasure._value2member_map_ else measure这意味着同一个字段既可用DataMeasure.CLOSE_PRICE传入也可用closePrice传入二者在坐标对象内部归一化处理。维度排序保证相等性BaseDataCoordinate.__init__会将维度字典按键排序后存储为元组coordinate.py因此维度传入顺序不同但内容相同的坐标在相等性比较时结果一致——测试用例 test_data_coordinate.py 对此有明确验证dimensions_a与dimensions_b键序不同构造出的坐标仍然相等。度量与维度语义校验DataCoordinate的构造函数会区分枚举类型DataDimension成员被当作维度键、DataMeasure成员被当作度量值避免混淆字段语义。五、结合测试用例理解正确用法仓库测试 gs_quant/test/data/test_data_coordinate.py 提供了权威使用范式dimensions { DataDimension.TENOR: 1m, DataDimension.STRIKE_REFERENCE: Delta, DataDimension.RELATIVE_STRIKE: 50, } coord1 DataCoordinate(Dataset.GS.EDRVOL_PERCENT_STANDARD, DataMeasure.IMPLIED_VOLATILITY, dimensions) coord2 DataCoordinate(Dataset.GS.EDRVOL_PERCENT_STANDARD, DataMeasure.IMPLIED_VOLATILITY, dimensions) # 相同 measure 相同维度 - 坐标相等 assert coord1 coord2 # 修改任一维度如 TENOR - 2m后坐标不再相等另外在 gs_quant/test/analytics/test_datagrid.py 中DataMeasure.CLOSE_PRICE、DataMeasure.TRADE_PRICE被用于构建 datagrid 的数据坐标说明 Fields/DataMeasure 贯穿数据查询data模块与数据分析analytics模块两条链路。六、最佳实践小结优先使用枚举而非字符串Fields/DataMeasure/DataDimension是类型安全的能获得 IDE 补全与静态检查且底层值由源码统一定义避免拼写错误。需要原始字符串时取.value例如将字段传给自定义 API 调用时用Fields.CLOSE_PRICE.value得到closePrice。区分度量与维度度量字段价格、成交量、波动率用于请求数值维度字段TENOR、STRIKE_REFERENCE、RELATIVE_STRIKE、EXPIRATION_DATE用于筛选通常以 kwargs如tenor1m或DataCoordinate的dimensions字典传入。基本面批量遍历用DataMeasure.list_fundamentals()获取全部基本面指标字符串适合循环请求多指标场景。unit属性当前返回None源码中单位查找仍为 TODOfields.py需要单位信息时应从数据集自身的字段元数据获取不要依赖Fields.unit。七、扩展阅读字段定义源码gs_quant/data/fields.py坐标对象与维度归一化gs_quant/data/coordinate.py数据集查询接口get_data/get_data_seriesgs_quant/data/dataset.py数据模块统一导出Fields、DataMeasure、DataDimension均从gs_quant.data顶层导出gs_quant/data/init.py官方 API 参考页docs/classes/gs_quant.data.fields.Fields.rst【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

使用 instructor + Gemini 处理多模态音频:三种实战模式与源码级原理

使用 instructor + Gemini 处理多模态音频:三种实战模式与源码级原理

使用 instructor Gemini 处理多模态音频:三种实战模式与源码级原理 【免费下载链接】instructor structured outputs for llms 项目地址: https://gitcode.com/GitHub_Trending/in/instructor 本指南基于 instructor 官方示例 multi_modal_gemini.md&#…

2026/11/10 6:16:33 阅读更多 →
QMK 固件指南:1upkeyboards pi60 可焊 60% 键盘的构建、刷写与多布局配置

QMK 固件指南:1upkeyboards pi60 可焊 60% 键盘的构建、刷写与多布局配置

QMK 固件指南:1upkeyboards pi60 可焊 60% 键盘的构建、刷写与多布局配置 【免费下载链接】qmk_firmware Open-source keyboard firmware for Atmel AVR and Arm USB families 项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware 本指南以 QMK …

2026/10/24 10:39:28 阅读更多 →
如何编写 SSE 客户端实时读取 OpenMetadata 摄取管道日志流

如何编写 SSE 客户端实时读取 OpenMetadata 摄取管道日志流

如何编写 SSE 客户端实时读取 OpenMetadata 摄取管道日志流 【免费下载链接】OpenMetadata The Open Context Layer for Data and AI , OpenMetadata is the open platform for building trusted data context and business semantics for humans, AI assistants, and agents. …

2026/10/24 23:57:56 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/14 5:13:29 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/14 5:13:29 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/14 5:13:29 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/14 2:41:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/14 5:13:29 阅读更多 →

日新闻

周新闻

月新闻