Stock_Analysis_For_Quant / 概览
Stock_Analysis_For_Quant:跨六个工具的股票分析示例集合,不是框架也不能 pip 安装
先说结论,因为它决定了你该怎么用它:这个仓库的主体是 1,221 个示例文件——575 个 Jupyter Notebook、336 个 R 脚本、195 个 Excel 工作簿、11 个 Power BI 文件、7 个 Tableau 打包工作簿、3 个 Matlab Live Script。它没有 requirements.txt、没有 pyproject.toml、没有 CI、没有 Release,所以既不能 pip install,也不会替你装好环境。
官方 README 是一份金融概念词典加若干清单(策略、组合、风险、比率、期权、抗通胀资产),没有任何目录级说明。这份站点做的事就是把散装资源重新组织成可检索、可核对的路径:每个文件夹里有什么、同一指标在三种语言里怎么对账、拿到 A 股要怎么改、以及一条收益曲线到底该不该信。
项目来源
LastAncientOne/Stock_Analysis_For_Quant · Star 约 2.1k · Fork 约 0.5k · 无 Release
GitHub 公开仓库页截图,2026-09-30 采集(1600x1100)。可见六个语言目录与 Star/Fork 计数;数字会随社区活动变化,末次提交停在 2025-05-04。
查看源码 ↗Stock_Analysis_For_Quant 到底是什么:一张快照表
下表每一项都可以在仓库里核对,核验基准是固定提交 df4bd3c58d71(2025-05-04)。
| 项目问题 | 事实 | 你该注意什么 | 适用场景 |
|---|---|---|---|
| 它是什么 | Stock_Analysis_For_Quant 是六个工具(Excel / Matlab / Power BI / Python / R / Tableau)的股票分析示例集合 | 是「示例合集」,不是统一框架,各目录之间没有共享 API | 想按主题找现成例子来改写 |
| 能不能装 | 不能:Stock_Analysis_For_Quant 没有 requirements.txt、pyproject.toml、setup.py、Dockerfile,也没有 GitHub Actions | 库要自己一个个装;先读 notebook 的 import 再补依赖 | 愿意自己搭环境的研究者 |
| 有没有版本发布 | 无 Release、无 Tag,只有 master 分支 | 无法锁版本复现,只能锁定 commit | 以提交为基线做归档式研究 |
| 规模有多大 | 1,221 个文件、28 个目录、仓库体积约 306 MiB | 完整克隆成本不低;建议只取需要的子目录 | 网络与磁盘受限时按目录稀疏取用 |
| 谁在维护 | 贡献者只有 1 人(2,668 次提交),末次提交 2025-05-04 | issue 响应不保证,遇到问题要自备排障能力 | 只当参考资料,不当依赖项 |
| 许可 | MIT(LICENSE,Copyright (c) 2020 LastAncientOne) | MIT 只覆盖代码;Matlab、Power BI、Tableau 与数据源另行授权 | 可商用改写,注意保留许可声明 |
| 有没有中文文档 | 没有:仓库内 29 份 README 全部为英文描述 | 没有中文教程、没有 wiki 教程、没有中文社区维护记录 | 中文用户需要在「看懂英文术语」上额外投入 |
六个工具的覆盖有多不均衡:文件数一栏见分晓
官方 README 把六个工具并列成一张表,看起来分量相当。按固定提交逐个目录数文件,实际差了两个数量级。
| 目录 | 文件数 | 主要产物 | 能做什么 | 注意点 |
|---|---|---|---|---|
Python_Stock/ | 602 | 574 个 .ipynb | 技术指标(209 个)、组合策略(78 个)、数学金融(91 个)、时间序列预测(53 个) | 依赖 yfinance、talib、ta 等,全部要自己装 |
R_Stock/ | 350 | 335 个 .R | 技术分析脚本(159 个)、预测(49 个)、回归(39 个)、波动率(36 个)、绩效比率(33 个) | 依赖 quantmod 等;脚本是「一个指标一个文件」的粒度 |
Excel_Stock/ | 232 | 193 个 .xlsx + 7 个 .xlsm | 41 个绩效比率工作簿、时间序列 26 个、期权 20 个、统计 16 个、VBA 宏 15 个 | .xlsm 需启用宏,会触发安全提示 |
PowerBI_Stock/ | 17 | 11 个 .pbix + 1 个 ^GSPC.csv | 取数、K 线、预测、财务仪表板 | 需 Power BI Desktop(商业软件) |
Tableau_Stock/ | 11 | 7 个 .twbx | OHLC、K 线、描述统计、线图、数据表 | 需 Tableau(商业软件) |
Matlab_Stock/ | 6 | 3 个 .mlx + 1 个 .m | 日收益、日行情、一份金融分析脚本 | 体量最小,不要指望在 Matlab 里做完整研究 |
它有什么、缺什么:十条能直接核对的结论
左边是从仓库里能点得到的,右边是官方资料里找不到的。这一页最实用的部分就是右边那栏。
| 维度 | 仓库里确实有的 | 官方资料里没有的 | 对你的影响 |
|---|---|---|---|
| 数据获取 | Python 用 yfinance(YFinance_Tutorial.ipynb),R 用 quantmod::getSymbols('AAPL') | 没有任何取数层的封装与缓存说明 | 每个 notebook 各取各的数据,容易重复请求、也容易口径不一致 |
| 标的范围 | 美股 ticker(AAPL、^GSPC 等),Power BI 侧附带 ^GSPC.csv | 完全没有 A 股说明 | 做 A 股要自己换数据源,并处理复权、T+1、涨跌停 |
| 指标数量 | Python 209 个指标 notebook + R 159 个指标脚本 | README 只列了约 120 个指标名,且写着「Will Add more indicators」 | 以目录里的文件为准,别以 README 清单为准 |
| 绩效比率 | Excel 41 个工作簿 + R 35 个脚本 + Python 45 个绘图 notebook | 没有统一的比率定义与年化口径说明 | 同名比率在不同目录里可能口径不同,要自己对账 |
| 组合策略 | 78 个主题组合 notebook(Gold、COVID-19、Weed、Monkeypox、Nancy Pelosi 等) | 没有组合构建规则与权重方法的统一说明 | 这些更像案例集,不是可复用的组合引擎 |
| 回测与成本 | 散落在各 notebook 与 Excel 中 | 没有交易成本、滑点、样本外测试的统一处理 | 看到的收益曲线需要自己审计,见回测审计页 |
| 机器学习 | Python 侧预测与 GARCH 家族、Excel 侧 14 个 ML 工作簿、R 侧 39 个回归脚本 | 没有训练/验证切分与数据泄漏的说明 | 时间序列建模最容易出未来函数,要自行检查 |
| 可视化 | Excel 仪表板、11 个 .pbix、7 个 .twbx | 没有字段与刷新配置的说明 | 打开工作簿要自己认数据模型,见仪表板页 |
| 文档 | 29 份 README(根 1 份 + 28 个目录各 1 份) | 目录 README 只写「描述 + 软件下载链接 + 免责声明」,没有运行步骤 | 中文资料缺失;运行步骤要自己补 |
| 可复现性 | — | 无依赖清单、无 CI、无版本发布 | 复现只能靠锁 commit + 自己记录环境 |
| 命名一致性 | 74 个文件带 _Part2 / _Part3 后缀(如 R_Forecast_SMA_Part2.R、Stock_Linear_Regression_2.xlsx) | 没有说明这些续篇之间是替换、还是并列 | 同一个主题可能有两三个版本,得自己判断哪个更新 |
| 拼写与命名 | 存在不一致:目录名 Excel Risk-Adjusted Returns Ratios Measurement 含空格;Donchain_Channel 与 Donchian_Channel 并存;Ukarine_War_Portfolio.ipynb 拼写有误 | 没有任何命名规范说明 | 按文件名搜索时要用模糊匹配,别指望拼写完全一致 |
四条路线:先想清楚你要的是哪一种
这个仓库的用法不是「装好再用」,而是「按目的取用」。下面四条覆盖了绝大多数真实需求。
我想学股票分析
从概念与指标入手,别一上来挑策略。Python_Stock/ 顶层的 Stock_Basic_Statistics.ipynb、Stock_RiskAndReturn.ipynb 适合当起点;R 侧的 StockSummaryStatistics.R 与 Excel 的 Stock_Statistics.xlsx 是同一套东西的另两种写法。先看目录导航确认每个文件干什么,再决定学哪条语言线。
我想跑一个策略
直接进组合策略与回测相关内容:Python 侧 Portfolio_Strategies/ 有 78 个 notebook,Excel 侧 Excel_Portfolio_Strategies/ 有 9 个工作簿。但要注意:这些 notebook 多数只给结果图,交易成本、样本外、参数敏感性常常没有,跑通之后请接着看回测审计页。
我想选工具
先看自己会不会编程。不会编程:Excel 侧的 232 个文件足以覆盖比率、时间序列与期权。会 Python:602 个文件里挑。需要交互仪表板:Power BI 或 Tableau。做研究但不想装环境:走免部署的技能路线。资产与方法页给出了按资产类型的路由表。
我想验证结果
别从收益率读起,先读口径:复权方式、年化因子、无风险利率、成本假设。回测审计页给了 12 项检查表与四级可信度分级;A 股适配页给了复权、T+1、涨跌停与成本的改造清单。这两页是本站在官方资料之外补得最多的部分。
同一个指标,三个目录各有一堆文件:这就是本站的主要差异化
官方最难回答的问题不是「有没有」,而是「同一件事我该看哪个」。下表把最常见的四个指标在三套语言里的落点对出来,每一格都能在仓库里点开核对。
| 分析任务 | Python 侧 | R 侧 | Excel 侧 | 口径提醒 |
|---|---|---|---|---|
| 收益率 | Stock_Analysis_Returns.ipynb、Annual_Returns.ipynb | StockReturnsAnalysis.R、R_Geometric_Return.R | Stock_Holding_Period_Return.xlsx、Arithmetic_vs_Geometric.xlsx | 算术收益与几何收益不是一回事,跨语言比较前先统一 |
| 波动率 | Stock_RiskAndReturn.ipynb、Stock_Measurement_Ratio_Chart/Stock_Realized_Volatility_Chart.ipynb | R_Volatility/ 36 个脚本(Close-to-Close、Parkinson、Garman-Klass、Yang-Zhang 等) | Stock_Historical_Volatility.xlsx | 不同估计量用到的价格字段不同(收盘价 vs 高低价),结果天然不同 |
| Sharpe | Stock_Measurement_Ratio_Chart/Stock_Sharpe_Ratio_Chart.ipynb | R_Risk_Returns_Ratios/Sharpe_Ratio.R、AdjustedSharpe_Ratio.R | Excel Risk-Adjusted Returns Ratios Measurement/Sharpe_Ratio.xlsx | 无风险利率怎么取、年化用 252 还是 365,会直接改变数字 |
| 最大回撤 | Stock_Measurement_Ratio_Chart/Stock_Pain_Ratio_Chart.ipynb、Ulcer_Index.ipynb | UlcerIndex.R、Pain_Ratio.R、Martin_Ratio.R | Stock_Drawdown.xlsx、Ulcer_Index.xlsx | 最大回撤的观察窗口与是否含分红,都会让结果不一致 |
pct_change 与 numpy,R 侧多用 quantmod 与 PerformanceAnalytics 的现成函数,Excel 侧则是单元格公式。同一个 Sharpe 比率,三处对无风险利率、年化因子、样本起止的处理都可能不同——所以本站的做法不是替你断言某个数值,而是给出对账方法与差异来源。Stock_Analysis_For_Quant 怎么用:三步走完第一次
因为官方没有安装说明,第一次上手需要按下面的顺序自己走一遍,才不会在环境上反复消耗。
先定目标,别先克隆
在目录导航页按任务找到目标文件(例如「算 Sharpe」或「看 MACD」),只下载那一个文件所在的子目录。预期输出:得到一个 3–5 个文件的候选清单,而不是 306 MiB 的整仓。跳过这一步的常见后果是:克隆完却不知道该打开哪一个。
打开文件读 import,反推依赖
Notebook 的第一个单元格通常是
import yfinance as yf、import pandas as pd;R 脚本开头是library(quantmod)。预期输出:一份 5–10 行的依赖清单,写进你自己的requirements.txt。仓库不会给你这份清单,这是最需要自己动手的一步。先跑通一个最小文件,再谈结论
挑依赖最少的那个文件跑通(多数时候是统计或收益类,而不是 GARCH 或深度学习类)。预期输出:一张图或一张统计表,并且记录下你的 Python/R 版本与数据日期。跑不通时先看环境与运行页的排查表。
| 官方 README 讲了什么 | 实际能不能帮你上手 | 替代做法 |
|---|---|---|
| 金融概念解释(股票、债券、ETF、共同基金、对冲基金、GSE、通胀挂钩证券、期权、指数基金、风险、交易策略、定量与定性研究) | 不能。它解释名词,不解释这个仓库怎么用 | 概念按需查;上手靠目录导航页 |
| 软件版本要求(Python 3.5+、R 3.0.0+、Matlab R2016a、Excel 2016+) | 部分能。给了版本底线,但没给库清单 | 用上面第 2 步反推依赖 |
| 交易策略与组合策略清单 | 不能。清单是名词表,不指向具体文件 | 在 Python_Stock/Portfolio_Strategies/ 里按同名文件找 |
| 风险与风险调整收益比率清单 | 部分能。列出了比率名与解释 | Excel 侧 41 个工作簿、R 侧 35 个脚本与之逐一对应 |
| 期权策略清单 | 部分能。给出策略名(Iron Condor、Butterfly 等) | 实际实现看 Python_Stock/Options_Strategies/ 与 Excel_Stock/Excel_Option/ |
| 免责声明 | 能。明确写了「不是投资建议、不要用于实盘」 | 本站页脚同样保留研究用途声明 |
本站的数字是怎么来的:一份可复核的核验说明
这个仓库没有版本号、没有发布记录,所以「按什么核对」比「核对出什么」更重要。下表说明本页每个数字的来源与可复核方式。
| 本页出现的说法 | 核验方式 | 核验时间 | 你可以怎么复核 |
|---|---|---|---|
| 文件数、目录数、扩展名构成(1,221 个文件 / 28 个目录 / 575 notebook 等) | 用 GitHub 的 git trees 接口按递归模式取全量清单后统计(未截断) | 2026-09-30 | 在仓库页看目录树,或本地 git clone 后统计 |
| 六个工具各自的文件数与子目录构成 | 对同一份全量清单按目录聚合 | 2026-09-30 | 逐个目录页计数 |
| Star / Fork / 贡献者 / 末次提交 | GitHub 仓库接口与贡献者接口 | 2026-09-30 | 仓库页右上角与 contributors 页面 |
| 无依赖清单、无 CI、无 Release | 对全量清单做文件名检索(requirements / pyproject / setup.py / Dockerfile / .github / Makefile 全部为空),并请求 releases 接口得到 404 | 2026-09-30 | 在仓库根目录与 Releases 页确认 |
| 数据源是 yfinance 与 quantmod、标的是美股 | 实读原始文件:YFinance_Tutorial.ipynb 首格为 import yfinance as yf;BasicStockAnalysis.R 为 getSymbols('AAPL', ...) | 2026-09-30 | 打开这两个文件看头几行 |
| 仓库体积约 306 MiB 与最大文件 | 对全量清单的字节字段求和并按大小排序 | 2026-09-30 | 本地克隆后看目录体积 |
适合谁、不适合谁:五条判断标准
这个仓库的定位决定了它有明确的适用人群。下面按真实使用场景写成对照,避免拿错工具浪费时间。
| 你的情况 | 适不适合 | 理由 | 更合适的选择 |
|---|---|---|---|
| 想知道某个指标/比率怎么写、想抄一段可读的实现 | 非常适合 | Stock_Analysis_For_Quant 的 575 个 notebook 与 336 个 R 脚本按主题切得很细,一个文件通常对应一个概念 | 直接从目录导航页定位文件 |
| 想找一个可直接安装的量化框架来做策略开发 | 不适合 | 没有包、没有依赖清单、没有测试、没有发布,不能当依赖项 | 用专门的回测框架,或走免部署的技能路线 |
| 想要 A 股数据接口与实盘链路 | 不适合 | 数据源是 yfinance 与 quantmod 的美股 ticker,没有任何 A 股或实盘代码 | 中文数据源技能(akshare-finance / tushare-finance)+ 本站在 A 股适配页给的改造清单 |
| 只想在不装环境的前提下先看数据、算指标、出图 | 部分适合 | 要看懂 notebook 仍需本机 Python 与一堆库;Stock_Analysis_For_Quant 本身不含任何托管服务 | 免部署的技能路线(本页上方有实拍截图) |
| 想学多语言之间的口径差异、想练「同一件事的多种写法」 | 非常适合 | 这正是 Stock_Analysis_For_Quant 的结构优势:同一主题在 Python、R、Excel 三处都有对应文件,天然适合做对照练习 | 从跨语言同题对照页起步 |
| 要做工程化的因子研究、组合回测与上线 | 不适合 | 示例之间不共享 API,没有数据层、没有调度、没有测试 | 成熟框架 + 自己搭数据层;本站在跨语言页给的对账方法可继续用来校口径 |
关于 Stock_Analysis_For_Quant 的常见问题
以下事实按固定提交 df4bd3c58d71 与 2026-09-30 的仓库元数据核验;动态数字会变化,请以官方仓库当前页面为准。
它可以 pip 安装吗?为什么我找不到包?
不能。仓库里没有任何打包文件(无 setup.py、无 pyproject.toml),也没有 Release 或 Tag,PyPI 上也没有对应发行包。用法是克隆或下载仓库,然后按你打开的那个 notebook 里的 import 自己去装库——这是本站在环境与运行页给出「按目录反推依赖」三步法的原因。以官方仓库当前状态为准。
为什么六个工具里 Matlab 只有 6 个文件?
这是仓库当前的实际情况:Matlab_Stock/ 下只有 DailyReturn.m、DailyReturn.mlx、DailyStock.mlx、financial_analysis.mlx 加一张图和一份 README。官方 README 把六个工具并列展示,容易让人以为体量相当,按文件数看并不如此。如果你需要 Matlab 完整流程,得自己在这些脚本基础上扩展,本站的均线四实现页给出过对照门槛。以官方仓库文件清单为准。
能用它做 A 股吗?
仓库里的示例是美股口径:Python 侧用 yfinance 取 AAPL 这类 ticker,R 侧用 quantmod::getSymbols(),Power BI 侧附带的也是 ^GSPC(标普 500)。要做 A 股,需要自己换数据源,并额外处理复权、T+1、涨跌停、停牌、印花税与佣金滑点、字段差异这六件事。本站的 A 股适配页把这份改造清单整理成了可执行的步骤;官方仓库没有 A 股相关说明。
它是免费的吗?可以商用吗?
代码是 MIT 许可(LICENSE 文件,Copyright (c) 2020 LastAncientOne),允许使用、修改、分发,保留许可声明即可。但要注意:MIT 只覆盖这个仓库的代码。Matlab、Power BI、Tableau 是商业软件,各自许可另计;yfinance 取的数据也受数据提供方条款约束。对外发布研究结果前,请分别确认。
克隆下来为什么这么大?
按固定提交统计,仓库体积约 306 MiB,其中 59 个文件超过 1 MiB、9 个超过 5 MiB,最大的 Python_Stock/Portfolio_Strategies/Gold_Portfolio.ipynb 单个约 24.3 MiB(notebook 里嵌了输出图)。若只是找几个文件,建议只下载需要的子目录,而不是完整克隆。
为什么官方 README 里没有安装步骤?
因为作者没有把它当成一个软件项目来维护:README 的主体是金融概念解释(股票、债券、ETF、共同基金、对冲基金、期权、风险、交易策略等)与各类清单,外加软件版本要求(Python 3.5+ / R 3.0.0+ / Matlab R2016a / Excel 2016 或更新)。目录级 README 也只有描述、下载链接和免责声明。安装与运行步骤需要你自己补——这正是本站存在的理由。
数据是从哪来的?需要 API Key 吗?
仓库的示例主要走两个免费来源:Python 侧 yfinance(YFinance_Tutorial.ipynb 里 yf.Ticker('AAPL')),R 侧 quantmod(getSymbols('AAPL', from=..., to=...) )。两者都不需要 API Key,但都是第三方数据渠道,可能限流或调整接口;Power BI 目录里另附一个 ^GSPC.csv 作为离线样例。本站不对这些渠道的可用性作保证,取数前请先自己确认当前状态,并注意数据授权条款。
它现在还在更新吗?
按 2026-09-30 采集的 GitHub 元数据:默认分支 master 的最后一次提交是 2025-05-04(提交信息为 “Add files via upload”),贡献者只有作者一人(2,668 次提交),开放 issue 为 1 个。也就是说它已约 17 个月没有新提交。README 里多处写着 “Will add more indicators”,目前并未兑现。以官方仓库当前状态为准。