gs-quant 入门实战:3 个代码块跑通一个均值回归回测

发布时间:2026/9/13 7:27:24

gs-quant 入门实战:3 个代码块跑通一个均值回归回测 gs-quant 入门实战3 个代码块跑通一个均值回归回测【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant你手上有半成型的想法商品近月远月的价差拉大时低买高卖等它回归均值再平掉。但数据、信号、回测引擎散在三个不同库里第一版脚本都没法连起来跑。gs-quant 是 Goldman Sachs 开源的量化金融 Python 工具包取数、时间序列运算、定价和回测都在这一个包里。下面按最短路径带你跑起来。gs-quant 安装与 5 行代码拿到第一份价格序列gs-quant 要求 Python 3.9 及以上pip 一条命令装好pip install gs-quant接着做认证、建上下文、拉一个证券的价格验证整条链路是否可用from gs_quant.session import Session from gs_quant.markets import PricingContext Session.login() # 首次会提示输入 client ID / secret ctx PricingContext() # 创建市场数据上下文 prices ctx.history(ES1, price, start2020-01-01, end2023-01-01) print(prices)跑通后终端打印一段 pandas 风格的时间序列索引是日期数值是 ES1 的日线价格。报错的话往下看避坑清单。两个核心概念Context 与 Series先记住这两个抽象仓库里任何示例你都能读懂PricingContext定价上下文相当于行情数据仓库的连接串把认证状态、环境、权限打包在一起。后面取数、定价、回测全走它不用自己管接口和鉴权。Series时间序列带证券名 字段标签的时间序列。加减乘除、滚动统计、收益率计算都直接支持语法和 pandas Series 很像。gs-quant 的数据、市场、风险三大能力都挂在这两个入口上理解了它们再去看各模块源码不费劲三个真实场景的实操场景一取数用 PricingContext 拉两个合约的价格序列目标是拿到两个按日期对齐的价格序列用来构造价差。取数主力是history实现在 gs_quant/markets/core.pynear ctx.history(GC1, price, start2020-01-01, end2023-01-01) far ctx.history(GC2, price, start2020-01-01, end2023-01-01) spread near / far - 1 # 近月相对远月的价差 print(spread.head())输出是逐日价差序列的前几行索引仍是日期。证券名遵循 Marquee 命名规则不确定可交易合约时先用ctx.assets查询。场景二建模3 行算出滚动 z-score 信号均值回归的核心问题是价差相对近期均值偏离了多少。滚动均值和滚动标准差都在 gs_quant/timeseries/statistics.py 里不用手写循环from gs_quant.timeseries.statistics import mean, std sma mean(spread, window60) # 60 日滚动均值 ssd std(spread, window60) # 60 日滚动标准差 z (spread - sma) / ssd # 滚动 z-score print(z.tail())z 表示价差当前高出近期均值几个标准差|z| 超过 2 是常用的开仓阈值。窗口长度 60 只是起点后面可以换 30 或 90 做参数对比。场景三回测用 backtests 引擎验证开平仓逻辑gs_quant/backtests/ 内置回测引擎你只需要描述何时开仓、何时平仓引擎负责逐日撮合from gs_quant.backtests import ( Strategy, Backtest, MktTrigger, TriggerDirection, EnterPositionAction, ExitPositionAction, ) enter EnterPositionAction({ES1: 1, ES2: -1}) trig_in MktTrigger(ES1, price, TriggerDirection.BELOW, 4000, actionenter) trig_out MktTrigger(ES2, price, TriggerDirection.ABOVE, 4100, actionExitPositionAction(allTrue)) strat Strategy(initial_capital1_000_000, triggers[trig_in, trig_out]) bt Backtest(strategystrat, start2020-01-01, end2023-01-01) bt.run()run()按日推进回测输出成交记录和净值汇总继续调用bt.plot()就能画出净值曲线。注意 MktTrigger 是基于行情价格触发上面那种滚动 z-score 信号需要先落成数据集再接进触发器仓库里有一份现成的均值回归示例可以对照040304_strategy_mean_reversion.ipynb。这类组合分析在 gs-quant 里都是标准输出下图是官方分享材料中一组股票聚类分析的结果避坑清单新手最常踩的 3 个坑一 import 就报MqUninitialisedError→ 会话还没认证任何取数调用都会被拦截 → 在建 Context 前先调Session.login()。登录后取数返回 401 或权限不足 → client ID / secret 无效或缺少对应数据域授权 → gs-quant 的数据 API 面向机构客户按仓库 README 找 GS 销售申请正确的凭据。ctx.history返回空序列或提示找不到证券 → 证券名是猜的与行情侧实际标识对不上 → 先在 Marquee 界面核对合约的真实名字和标识再原样传入。仓库关键入口导航资源类型相对路径一句话说明文档源文件docs/index.rstSphinx 文档索引覆盖 timeseries、markets、risk 各模块 APINotebook 教程gs_quant/documentation/官方教程按数据、市场、定价与风险、回测等主题组织策略示例集gs_quant/content/现成的报告与筛选器 notebook按 FX、利率等市场划分回测引擎源码gs_quant/backtests/core.pyStrategy、MktTrigger、Backtest 的实现市场数据 APIgs_quant/markets/core.pyPricingContext 与 history 取数接口的实现gs-quant 最适合要接真实行情数据的量化研究取数、建信号、跑回测在一个包里闭环。数据 API 面向机构客户文中策略仅作教学示例不构成交易建议。【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/13 7:22:24

STM32 HAL库定时器实战:从时钟树到PWM精准控制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 7:22:24

AI智能体用户记忆系统:双层架构与工程落地实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 7:22:24

Ax+By+C=0的几何本质:A、B、C如何定义直线的方向与位置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 8:22:26

LKT4305GM:国密硬件加密芯片的物理级抗攻击设计解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 8:22:26

强化学习对齐技术:RLHF、RLVR与RLAIF对比与应用

1. 强化学习对齐技术全景解析当我们在2023年目睹ChatGPT的爆发式增长时,很少有人意识到背后关键的RLHF技术如何重塑了AI发展的轨迹。如今,随着RLVR等新方法的出现,我们正站在AI对齐技术演进的关键节点。本文将深入剖析这三种主流技术方案的核…

2026/9/13 8:22:26

30分钟搭建开题报告框架的黄金结构与实操技巧

1. 开题报告速成秘籍:为什么30分钟框架搭建能提升通过率? 每年毕业季,总能看到学生们抱着笔记本电脑在图书馆通宵达旦地修改开题报告。作为指导过上百份开题报告的过来人,我发现90%的答辩问题其实都源于框架设计缺陷。那些被要求反…

2026/9/13 8:22:26

SPICE协议连接建立与性能优化详解

1. SPICE协议概述与连接建立背景SPICE(Simple Protocol for Independent Computing Environments)作为虚拟化环境中的高性能远程桌面协议,其连接建立过程融合了传统网络协议栈与虚拟化专用通道技术。在实际部署中,一个完整的SPICE…

2026/9/13 8:17:26

Cholesky分解原理与工程实践详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 0:01:16

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

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

2026/9/13 0:01:16

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

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

2026/9/12 6:29:36

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

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

2026/9/12 14:32:17

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

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

2026/9/12 6:37:43

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

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

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

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

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