gs-quant IndicesDatasets 枚举解析:篮子与指数数据集标识符的选型、路由与调用指南

发布时间:2026/9/15 18:53:26

gs-quant IndicesDatasets 枚举解析:篮子与指数数据集标识符的选型、路由与调用指南 gs-quant IndicesDatasets 枚举解析篮子与指数数据集标识符的选型、路由与调用指南【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant导读IndicesDatasets是 gs-quant 中用于统一标识 Marquee 平台上索引、篮子Basket及其成分数据集的枚举类它把CA、GSBASKETCONSTITUENTS、GSCB_FLAGSHIP这类底层数据集 ID 封装成语义化的常量供篮子基本面、公司行动、成分构成、STS 指数、主题贝塔等数据查询使用。阅读本文后你将掌握IndicesDatasets全部成员的取值与用途、它如何在源码中被路由和消费以及如何通过高层 API如Basket.get_corporate_actions、Stock.get_thematic_beta间接使用这些数据集并能在需要时直接以GsDataApi.query_data完成底层查询。一、定位IndicesDatasets 是什么在 gs_quant/markets/indices_utils.py 中IndicesDatasets被定义为继承EnumBase, Enum的枚举类class IndicesDatasets(EnumBase, Enum): Indices Datasets BASKET_FUNDAMENTALS BASKET_FUNDAMENTALS COMPOSITE_THEMATIC_BETAS COMPOSITE_THEMATIC_BETAS CREDIT_EOD_PRICING_V1_STANDARD CREDIT_EOD_PRICING_V1_STANDARD CORPORATE_ACTIONS CA GIRBASKETCONSTITUENTS GIRBASKETCONSTITUENTS GSBASKETCONSTITUENTS GSBASKETCONSTITUENTS GSCB_FLAGSHIP GSCB_FLAGSHIP GSCREDITBASKETCONSTITUENTS GSCREDITBASKETCONSTITUENTS STS_FUNDAMENTALS STS_FUNDAMENTALS STS_INDICATIVE_LEVELS STS_INDICATIVE_LEVELS THEMATIC_FACTOR_BETAS_STANDARD THEMATIC_FACTOR_BETAS_V2_STANDARD def __repr__(self): return self.value与之配套的官方 API 参考页 docs/classes/gs_quant.markets.indices_utils.IndicesDatasets.rst 通过autoclass与autosummary收录了该枚举及其核心属性说明它是被文档化支持的公共 API 之一。从实现上看EnumBase定义于 gs_quant/base.py为枚举提供了与 gs-quant 序列化、JSON 编码体系兼容的基础能力__repr__直接返回self.value意味着打印成员时得到的是真实的数据集 ID 字符串——这正是传给数据查询 API 的关键参数。需要特别强调的是IndicesDatasets中的常量名与其底层值并不总是同名。最典型的是CORPORATE_ACTIONS CA和THEMATIC_FACTOR_BETAS_STANDARD THEMATIC_FACTOR_BETAS_V2_STANDARD前者把不易理解的缩写CA映射为清晰的语义名后者表明当前使用的主题因子贝塔数据集是V2版本尽管常量名本身不含版本号。这正是该枚举存在的意义——屏蔽底层数据集命名细节为上层 API 提供稳定的符号化入口。二、成员速查表11 个数据集标识符IndicesDatasets共定义了 11 个成员覆盖篮子基本面、公司行动、成分构成、旗舰篮子、信用篮子、STS 指数与主题贝塔等数据域。下表整理自 indices_utils.py 的源码定义成员名数据集 IDvalue数据域与用途BASKET_FUNDAMENTALSBASKET_FUNDAMENTALS篮子基本面指标股息率、估值等见下文get_fundamentalsCOMPOSITE_THEMATIC_BETASCOMPOSITE_THEMATIC_BETAS组合主题贝塔用于实体Entity维度计算CREDIT_EOD_PRICING_V1_STANDARDCREDIT_EOD_PRICING_V1_STANDARD信用类资产 EOD收盘定价数据V1标准版CORPORATE_ACTIONSCA公司行动拆分、分红、并购等取值缩写为CAGIRBASKETCONSTITUENTSGIRBASKETCONSTITUENTSGSIndexResearch 篮子成分研究篮子构成GSBASKETCONSTITUENTSGSBASKETCONSTITUENTSGS 自定义篮子成分自定义篮子构成GSCB_FLAGSHIPGSCB_FLAGSHIPGS 旗舰篮子Custom Basket Flagship价格数据GSCREDITBASKETCONSTITUENTSGSCREDITBASKETCONSTITUENTSGS 信用篮子成分STS_FUNDAMENTALSSTS_FUNDAMENTALSSTSSystematic Trading Strategies指数基本面STS_INDICATIVE_LEVELSSTS_INDICATIVE_LEVELSSTS 指数指示性点位水平THEMATIC_FACTOR_BETAS_STANDARDTHEMATIC_FACTOR_BETAS_V2_STANDARD个股相对篮子的主题因子贝塔当前为 V2 标准版对应文档页 IndicesDatasets.rst 的 Attributes 区重点列出了BASKET_FUNDAMENTALS、CORPORATE_ACTIONS、GIRBASKETCONSTITUENTS、GSBASKETCONSTITUENTS、GSCB_FLAGSHIP五个属性它们是篮子数据查询中最常用的数据集其余成员则在 STS 指数、主题贝塔等场景中发挥作用。三、源码内部路由如何按资产类别与篮子类型选数据集IndicesDatasets不只是一个常量表它还承担着数据集选型路由的职责。在 indices_utils.py 中有一个内部函数__get_dataset_iddef __get_dataset_id(asset_class: AssetClass, basket_type: BasketType, data_type: str) - str: if asset_class AssetClass.Equity or asset_class AssetClass.Equity.value: if data_type price: return IndicesDatasets.GSCB_FLAGSHIP.value elif basket_type BasketType.CUSTOM_BASKET or basket_type BasketType.CUSTOM_BASKET.value: return IndicesDatasets.GSBASKETCONSTITUENTS.value else: return IndicesDatasets.GIRBASKETCONSTITUENTS.value raise NotImplementedError(f{data_type} data for {asset_class} baskets is unsupported at this time)从这段逻辑可以清晰看出成员之间的分工股票Equity篮子的价格数据→GSCB_FLAGSHIP旗舰篮子价格股票自定义篮子BasketType.CUSTOM_BASKET→GSBASKETCONSTITUENTS自定义篮子成分股票研究篮子其他类型→GIRBASKETCONSTITUENTS研究篮子成分非股票资产类当前直接抛出NotImplementedError提示该资产类的数据暂不支持。与之配套的公开函数get_constituents_dataset_coverage()会返回各成分数据集的覆盖情况其 docstring 中给出了三个典型调用见 indices_utils.pyGSBASKETCONSTITUENTS_COVERAGE get_constituents_dataset_coverage() GIRBASKETCONSTITUENTS_COVERAGE get_constituents_dataset_coverage(basket_typeBasketType.RESEARCH_BASKET) GSCREDITBASKETCONSTITUENTS_COVERAGE get_constituents_dataset_coverage(asset_classAssetClass.Credit)即默认查询自定义篮子成分覆盖GSBASKETCONSTITUENTS传入BasketType.RESEARCH_BASKET查询研究篮子成分覆盖GIRBASKETCONSTITUENTS传入AssetClass.Credit查询信用篮子成分覆盖GSCREDITBASKETCONSTITUENTS。在官方文档示例 0005_get_basket_composition_dataset_coverage.ipynb 中可以看到完全一致的三段式用法。四、消费链路从高层 API 到数据集 IDIndicesDatasets的成员并非被直接使用而是经由 gs-quant 的高层业务 API 间接消费——这些 API 内部将枚举成员.value传给GsDataApi发起数据查询。以下是几条可验证的核心调用链。4.1 篮子公司行动CORPORATE_ACTIONS在 gs_quant/markets/baskets.py 的Basket.get_corporate_actions中where dict(assetIdself.id, corporateActionTypeca_type) query DataQuery(wherewhere, start_datestart, end_dateend) response GsDataApi.query_data(queryquery, dataset_idIndicesDatasets.CORPORATE_ACTIONS.value) return pd.DataFrame(response)方法参数ca_type接受 CorporateActionType 枚举支持ACQUISITION收购、CASH_DIVIDEND现金分红、IDENTIFIER_CHANGE标识变更、RIGHTS_ISSUE配股、SHARE_CHANGE股本变更、SPECIAL_DIVIDEND特别分红、SPIN_OFF分拆、STOCK_DIVIDEND股票分红、STOCK_SPLIT拆股等类型。官方示例用法from gs_quant.markets.baskets import Basket from gs_quant.markets.indices_utils import CorporateActionType basket Basket.get(GSMBXXXX) basket.get_corporate_actions(ca_type[CorporateActionType.ACQUISITION])4.2 篮子基本面BASKET_FUNDAMENTALS同一文件的Basket.get_fundamentalsbaskets.py将IndicesDatasets.BASKET_FUNDAMENTALS.value作为数据集 IDwhere dict(assetIdself.id, periodperiod, periodDirectiondirection, metricmetrics) query DataQuery(wherewhere, start_datestart, end_dateend) response GsDataApi.query_data(queryquery, dataset_idIndicesDatasets.BASKET_FUNDAMENTALS.value)该方法支持period指标周期默认 1 年、direction展望方向默认 forward、metrics基本面指标列表默认取 DataMeasure.list_fundamentals() 全部指标。例如查询历史股息率from gs_quant.data.fields import DataMeasure from gs_quant.markets.baskets import Basket basket Basket.get(GSMBXXXX) basket.get_fundamentals(metrics[DataMeasure.DIVIDEND_YIELD])4.3 STS 指数STS_FUNDAMENTALS与STS_INDICATIVE_LEVELSSTSSystematic Trading Strategies指数相关查询位于 gs_quant/markets/index.py第 152 行使用IndicesDatasets.STS_FUNDAMENTALS.value查询 STS 基本面数据第 189 行与第 550 行使用IndicesDatasets.STS_INDICATIVE_LEVELS.value其中一处通过GsDataApi.last_data获取最新指示性点位。与之配套的STSIndexType枚举indices_utils.py定义了 STS 指数的四类形态ACCESS、MULTI_ASSET_ALLOCATION、RISK_PREMIA、SYSTEMATIC_HEDGING可作为筛选 STS 指数类型的参数。4.4 主题贝塔THEMATIC_FACTOR_BETAS_STANDARD在 gs_quant/markets/securities.py 的Stock.get_thematic_beta中数据集 ID 为IndicesDatasets.THEMATIC_FACTOR_BETAS_STANDARD.value实际对应THEMATIC_FACTOR_BETAS_V2_STANDARDquery DataQuery( where{gsid: self.get_identifier(AssetIdentifier.GSID, end), basketId: _id}, start_datestart, end_dateend, ) response GsDataApi.query_data(queryquery, dataset_idIndicesDatasets.THEMATIC_FACTOR_BETAS_STANDARD.value)该方法首先通过GsAssetApi.resolve_assets校验basket_identifier对应的资产确实是 Custom 或 Research 篮子BasketType.to_list()再以个股gsid 篮子basketId作为查询条件返回包含date、gsid、basketId、thematicBeta字段并以日期为索引的 DataFrame。这一链路展示了资产解析 → 类型校验 → 数据集查询的完整数据流。4.5 实体主题贝塔COMPOSITE_THEMATIC_BETAS在 gs_quant/entities/entity.py 中两处查询均使用IndicesDatasets.COMPOSITE_THEMATIC_BETAS.value说明该数据集服务于实体如个股维度的组合主题贝塔计算与 4.4 的个股-篮子配对查询形成互补。五、直接使用以GsDataApi做底层查询IndicesDatasets的.value是标准的数据集 ID 字符串因此除了依赖高层 API也可以直接构造DataQuery发起查询。所有内部实现都遵循同一模式参照 baskets.pyfrom gs_quant.api.gs.data import GsDataApi from gs_quant.markets.indices_utils import IndicesDatasets from gs_quant.target.data import DataQuery query DataQuery(where{assetId: GSMBXXXX}, start_date2024-01-01, end_date2024-12-31) response GsDataApi.query_data(queryquery, dataset_idIndicesDatasets.CORPORATE_ACTIONS.value)需要说明的是GsDataApi的请求最终依赖已初始化的会话GsSession见 gs_quant/session.py。gs-quant 数据接口均要求先完成 Marquee 凭据配置在未初始化会话的离线环境下直接调用会失败。因此实践中更推荐使用本文第四节中经过_validate装饰校验的高层 API。六、配套枚举与使用注意事项IndicesDatasets所在的 indices_utils.py 还定义了一批与之协作的枚举理解它们有助于正确构造查询参数BasketTypeCUSTOM_BASKET/RESEARCH_BASKET用于成分数据集路由与覆盖查询CorporateActionType公司行动类型过滤条件AssetClass资产类别决定__get_dataset_id的走向DataMeasure基本面指标如DIVIDEND_YIELD配合BASKET_FUNDAMENTALS使用。实践中有三点需要留意常量名 ≠ 数据集 ID始终通过IndicesDatasets.X.value取值不要硬编码字符串以免在数据集升级如V1→V2后遗漏同步路由有前提条件__get_dataset_id目前只支持股票类资产的价格/成分数据信用等其他资产类会抛NotImplementedErrorindices_utils.py离线环境不可用所有数据集查询都依赖 Marquee 数据服务与已认证的GsSession这是使用IndicesDatasets系列功能的环境前提。总结IndicesDatasets是 gs-quant 中连接业务 API 与底层数据服务的枢纽枚举它把CA、GSBASKETCONSTITUENTS、GSCB_FLAGSHIP、BASKET_FUNDAMENTALS等数据集 ID 语义化既在Basket.get_corporate_actions、Basket.get_fundamentals、Stock.get_thematic_beta等高层方法中被自动消费也通过__get_dataset_id承担着按资产类别、篮子类型选择成分数据集的路由职责同时保留.value供需要GsDataApi底层查询的场景直接使用。对照文档页 IndicesDatasets.rst 与源码 indices_utils.py即可获得该枚举完整、准确的成员清单与行为说明。【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/15 18:48:26

基于MATLAB的相场模型模拟Fe-Si共晶凝固完整指南

简介:材料科学中,数值模拟已成为研究凝固组织的核心手段,尤其对于金属材料微观结构的预测具有重要意义。在众多模拟方法中,相场模型摒弃了传统尖锐界面追踪的复杂性,通过引入连续序参量描述固液界面,能够自…

2026/9/15 18:48:26

让机器学习模型准确率止跌回升:八大实战提分方法

验证集准确率停在87%已经两周了。特征加了七八个,没动;学习率试了三个量级,没动;换了个更深的机器学习模型,反而掉到85%。如果你也遇到过这种“怎么折腾都不涨点”的阶段,我建议先别急着继续试错——准确率…

2026/9/15 19:08:27

LLM工程实例代码合集:从微调到RAG与Agent的完整基线

简介:一份聚焦2023年大模型与生成式人工智能工程实践的实例代码合集,围绕ChatGLM模型调用、LangChain应用框架使用、ChatPDF文档问答实现、向量数据库接入,以及StableDiffusion与Midjourney多模态图像生成五大专题展开,适合有一定…

2026/9/15 19:08:27

Open MCT 安全指南:威胁模型、部署防护与插件安全开发实战

Open MCT 安全指南:威胁模型、部署防护与插件安全开发实战 【免费下载链接】openmct A web based mission control framework. 项目地址: https://gitcode.com/GitHub_Trending/ope/openmct Open MCT 是一个基于浏览器的富客户端任务控制框架(We…

2026/9/15 19:03:27

如何用 npx 一键启动 camofox-browser:最快上手指南

如何用 npx 一键启动 camofox-browser:最快上手指南 【免费下载链接】camofox-browser Stealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement. 项目地址: https://gitcode…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/15 14:22:53

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/15 11:42:23

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码