Stock_Analysis_For_Quant / 环境与最小运行

Stock_Analysis_For_Quant 在 Windows 上怎么跑起来:先装什么、先跑哪个文件

官方 README 只写了一段软件版本要求(Python 3.5+、R 3.0.0+、Matlab R2016a、Excel 2016 或更新、Power BI、Tableau),然后就没有下文了——既没有 requirements.txt,也没有安装命令,更没有「先跑哪个文件」的说明。1,221 个示例文件里,每个 notebook 与 R 脚本各用各的库,所以环境这件事必须自己动手。

这一页解决三件事:① 官方要求与实际需要的东西差在哪;② 怎么按目录反推依赖(三步法,附可复制的扫描命令);③ 装完之后先跑哪个文件最不容易卡住。所有涉及本机未验证的部分都会明确标注,商业软件部分不做实测承诺。

要先说明一件事:这份清单是本站按固定提交逐个目录点出来的,官方资料里没有同等的说明。你在别处看到的「先装 Anaconda 再跑示例」这类建议,多数出自二手转述,与本仓库实际的文件构成并不对应——仓库里既没有环境文件,也没有统一入口,先看清文件再说安装顺序才省时间。

官方要求:Python 3.5+ / R 3.0.0+仓库无依赖清单探测环境:Python 3.11.9核验提交 df4bd3c58d71

要装什么、谁装不了

官方:只给版本号Python 3.5+ / R 3.0.0+ / Matlab R2016a / Excel 2016+,没有一行安装说明
无 requirements / 无 CI全仓检索不到 requirements.txt、pyproject.toml、Dockerfile、.github、Makefile
免费:Python / R / 表格软件Python 侧 575 个 notebook、R 侧 336 个脚本、Excel 侧 232 个工作簿
商业:Matlab / Power BI / TableauMatlab 6 个文件、Power BI 11 个 .pbix、Tableau 7 个 .twbx,均需授权
工具链示意(依据官方 README 的 Prerequistes 段与仓库中确实不存在的清单文件);示意非官方图表。Matlab / Power BI / Tableau 为商业软件,本机无授权,本站未实测。
Prerequisites

官方只写了软件版本:Stock_Analysis_For_Quant 的前置要求 vs 实际需要什么

左列是官方 README 的原话,右列是照这个要求去做时真正会撞到的东西。差异不在软件版本,而在「库」。以官方仓库当前状态为准。

工具官方只写的版本要求实际还需要自备什么常见卡点
PythonPython 3.5+按 notebook 的 import 自装 yfinance、pandas、talib、ta、statsmodels 等;官方 README 另提过 Anaconda、Spyder、Jupyter Notebook、PyCharm 这类工具不知道要装哪些库——因为仓库不提供依赖清单
RR 3.0.0+install.packages() 装 quantmod,另按脚本补 magrittr、dplyr、forecast 等脚本是「一个指标一个文件」,依赖分散在 335 个 .R 里
ExcelExcel 2016 或更新版本无额外库;但 VBA 宏工作簿需要允许宏运行企业策略可能直接禁止宏,7 个 .xlsm 会打不开宏
MatlabMatlab R2016a无额外包;但需要 Matlab 授权商业软件,本机无授权,本站未实测
Power BIPower BI需要 Power BI Desktop 打开 11 个 .pbix商业软件;打开后还要自己认数据模型与刷新设置
TableauTableau需要 Tableau 打开 7 个 .twbx商业软件;打包工作簿内含数据,版本兼容性需自行确认
全部—一个你自己维护的依赖清单文件仓库里确实没有任何依赖清单,这是本站建议你补的第一件事
为什么这一步不能跳过:Stock_Analysis_For_Quant 的 575 个 notebook 与 336 个 R 脚本之间没有共享的依赖声明,同一个库在不同文件里可能被写成不同的导入方式。先反推出清单,再统一安装,比逐个文件报错再补装要快得多。
Reverse the deps

没有依赖清单怎么办:Stock_Analysis_For_Quant 的依赖反推三步法

既然官方不给清单,就从你要跑的那个文件本身反推。下面三步只用系统自带的搜索工具,不需要装任何东西。

  1. 先扫出这个目录里所有 import

    在仓库根目录执行:findstr /s /i /c:"import " Python_Stock\*.ipynb > imports.txt(R 侧把目标换成 R_Stock\*.R,关键字换成 library()。预期输出:一份包含大量重复行的文本;再人工去重,通常收敛到 8–15 个第三方库。注意 import 也会命中标准库,像 os、math 这类不用装。

  2. 过滤掉标准库与仓内相对导入

    把上一步的结果与 Python 内置模块表对比,剔除 os/sys/math/datetime/json/random 等,剩下的就是第三方库。预期输出:一份 5–10 行的候选清单。这一步没有捷径,因为仓库没有声明,只能靠读。

  3. 逐个装并当场验证导入

    对每个候选库执行 python -c "import 库名" 确认是否已装,再执行 python -m pip install 库名。预期输出:导入命令不报错、退出码为 0。本站下方的探测区块就是把这三步里的验证环节真实跑了一遍,可以看到「有的已装、有的缺失」是常态。

你会在仓库里扫到的库用在哪一侧装法注意点
yfinancePython 侧取数(YFinance_Tutorial.ipynb)python -m pip install yfinance第三方数据渠道,可能限流或调整接口,取数失败先怀疑渠道
talibPython 侧技术指标python -m pip install TA-Lib(Windows 上多为预编译轮子)二进制轮子对 Python 与 numpy 版本敏感,装不上先看轮子支持范围
taPython 侧技术指标(另一套实现)python -m pip install ta纯 Python 实现,与 talib 是两套库,指标名不完全对应
quantmodR 侧取数与技术分析R 控制台执行 install.packages("quantmod")首次编译可能较慢;R 侧同样没有 DESCRIPTION/renv.lock
statsmodelsPython 侧时间序列与统计python -m pip install statsmodels会连带解析 numpy/pandas 版本,注意与你已有环境是否冲突
matplotlib两侧出图python -m pip install matplotlib中文字体需自行配置,否则图上中文会变方块
把清单写下来:反推出来的这份清单建议直接写进你自己项目目录下的 requirements.txt(R 侧写成一段安装脚本)。原因是 Stock_Analysis_For_Quant 不会随版本更新替你维护依赖,而它现在的最后提交停在 2025-05-04;等你半年后再打开同一个 notebook,能复现环境的唯一依据就是当时记下的版本。这一步花五分钟,能省掉后面每次重装时的重新猜测。
Local probe

本站本机探测输出:依赖要一个个核对,有的装了有的没装

下面这段是本站核验时在 Windows 上真实跑出来的输出,原样保留(含退出码)。它不是项目官方输出,也不代表仓库有问题,只说明一件事:库得你自己核对。

$ python -V
Python 3.11.9
[exit code 0]

$ python -c "import yfinance"
[exit code 0]

$ python -c "import talib"
[exit code 0]

$ python -c "import ta"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'ta'
[exit code 1]

$ python -c "<check imports and versions>"
yfinance 0.2.58
talib 0.7.1
pandas 2.2.3
numpy 2.4.6
matplotlib 3.11.1
statsmodels 0.14.6
sklearn 1.9.0
[exit code 0]

图注:本站本机输出(Python 3.11.9,Windows,2026-09-30 实跑):可导入 yfinance 0.2.58、talib 0.7.1、pandas 2.2.3、numpy 2.4.6、matplotlib 3.11.1;ta 缺失并抛出 ModuleNotFoundError。这不是项目官方输出,也不代表仓库有问题——它说明的是:本仓库不提供依赖清单,每个 notebook 用到的库都要你自己逐个核对后再补装。

探测项看到的输出说明什么你要做什么
解释器版本Python 3.11.9,退出码 0运行时能起来,与官方要求的 3.5+ 不冲突确认你自己的解释器版本并记录下来
import yfinance无输出,退出码 0取数库在核验环境里已就绪(0.2.58)你自己环境里没装就先装,再验证导入
import talib无输出,退出码 0指标库已就绪(0.7.1)Windows 上装不上时优先找预编译轮子
import taModuleNotFoundError: No module named 'ta',退出码 1同一类功能的另一套库缺装——这正是「没有依赖清单」的直接后果需要它就跑一次安装;不用它则跳过
pandas / numpy 版本2.2.3 / 2.4.6版本组合会直接影响二进制库能否导入记录版本,便于复现同一环境
matplotlib / statsmodels3.11.1 / 0.14.6出图与统计依赖也已就绪中文字体问题需要单独处理
Minimal run

六个工具各自的最小运行路径:先跑哪个文件

环境装好之后不要随机挑文件。下面按「依赖最少、最容易看到输出」的顺序给出每个工具的入口文件,文件名都能在仓库里点到。

工具你需要什么建议第一个跑的文件预期看到什么本站状态
PythonPython 3 + 按需装库Python_Stock/Stock_Basic_Statistics.ipynb基础统计表(均值、标准差一类),不依赖指标库,最容易一次跑通未实测(本站未运行该仓库)
RR 3.0.0+ 与 RStudioR_Stock/StockSummaryStatistics.R摘要统计输出;只依赖 quantmod 一条链路未实测(本站未运行该仓库)
ExcelExcel 2016 或更新Excel_Stock/Stock_Statistics.xlsx可读的统计工作表;不含宏,不会触发安全提示未实测(本站未运行该仓库)
Excel 宏Excel + 允许宏Excel_Stock/Excel_Stock_VBA_Macros/Stock_Calculate_Daily_Returns.xlsm按下按钮后由宏算出的日收益列未实测;宏工作簿共 7 个
MatlabMatlab R2016a + 授权Matlab_Stock/DailyReturn.m日收益序列与图;该目录仅 4 个代码文件未实测(本机无授权)
Power BIPower BI DesktopPowerBI_Stock/Stock_Simple_Chart.pbix一个最简图表页;先看数据模型再谈改未实测(本机无授权)
TableauTableau DesktopTableau_Stock/StockLineChart.twbx线图工作簿;打包文件内含数据源未实测(本机无授权)

免费但需要自己装库

Python 与 R 两条线完全免费,代价是依赖要自己反推、自己装。仓库里 575 个 notebook 与 336 个脚本的库清单是不统一的,所以第一步永远是读 import,而不是先装一堆库再说。

免费但有宏门槛

Excel 这一侧不需要额外装库,232 个工作簿里绝大多数是普通 .xlsx;但 7 个 .xlsm 是启用宏的工作簿,企业策略可能直接拦掉,遇到时改用同名的普通工作簿或直接读 VBA 源码文本。

需要授权,且本站未实测

Matlab、Power BI、Tableau 三个目录合计 34 个文件,全部依赖商业软件授权。本站本机没有授权,因此这三部分只写「文件在哪、打开后先看什么」,不写操作步骤截图,也不保证版本兼容性。

选入口的判断顺序:先问自己「这台机器上已经有什么」。已经装了 Office 就从 Excel 侧起步,装了 Python 就从统计类 notebook 起步,只有 R 环境就先跑 R 侧的最小脚本。Stock_Analysis_For_Quant 的文件是按主题而非按难度组织的,所以「哪个工具现成」比「哪个工具更好」更能决定你多久能看到第一个输出。
Troubleshooting

八类常见报错与卡点:先看现象,再看该查哪一层

下表按真实会遇到的场景整理。每一行的「先查什么」都指向本页或仓库里可核对的位置,具体报错原文以你本机输出为准。

现象最可能的原因先查什么注意点
ModuleNotFoundError: No module named 'xxx'该 notebook 用到的库没装打开文件第一格看 import,再按上方三步法核对这正是仓库无依赖清单的直接后果,不是文件坏了
导入指标库时提示二进制/dtype 不兼容预编译轮子与你环境的 numpy 版本不匹配对比轮子支持的 Python 与 numpy 范围,再看你本机版本属轮子与环境的组合问题;本站核验环境为 numpy 2.4.6,未复现该报错
取数返回空表或直接超时数据渠道限流、断网或接口变更先单独跑一次最小取数,确认是渠道问题还是代码问题示例走的是第三方数据渠道,可用性不由本项目保证
打开 .xlsm 提示宏被禁用宏安全策略,或文件被标记为来自网络看文件属性里的「解除锁定」,再看组织策略禁用宏后按钮不工作,但普通工作表数据仍可读
打不开 .pbix / .twbx没有对应软件,或版本低于文件生成版本确认已装 Desktop 版并检查版本商业软件部分本站未实测,版本兼容性请以厂商说明为准
R 侧 install.packages 失败镜像源、编译工具链或网络问题换镜像源后重试,再看是否需要本地编译仓库不提供 renv.lock,无法锁定 R 包版本
脚本报找不到文件或路径异常目录名含空格,或你在别的目录下执行用引号包住含空格的目录名(仓库里确实存在带空格的目录)另有文件名拼写不一致(如同义文件并存),尽量用模糊匹配
图里中文显示为方块matplotlib 未配置中文字体在绘图前指定已安装的中文字体这是环境配置问题,与示例代码本身无关
排查顺序建议:先确认「库是否装上」,再确认「版本是否匹配」,最后才怀疑「代码是否写错」。因为 Stock_Analysis_For_Quant 不提供依赖声明,绝大多数报错的第一层原因都落在前两步。把上面这张表当作二分法:能定位到具体库的报错走前两行,打不开文件的走中间几行,输出不对的走最后一行。
Repository size

克隆之前先想清楚:这个仓库的体量成本

它是一个示例集合,不是一个轻量库。下表把体量构成拆开,方便你决定是全量克隆还是按目录稀疏取用。

指标数值来源口径对你的影响
仓库大小GitHub 仓库接口 size 字段 313,460 KB(约 306 MiB)仓库元数据接口口径含压缩估算,实际克隆占用通常更大
按文件清单求和约 326.7 MiB全量文件清单逐项求和两个数字口径不同,以你自己克隆后看到的为准
大于 1 MiB 的文件59 个,合计约 201 MiB全量文件清单统计约六成体积集中在不到 5% 的文件里
大于 5 MiB 的文件9 个全量文件清单统计多为内嵌输出图的 notebook
单文件最大Python_Stock/Portfolio_Strategies/Gold_Portfolio.ipynb 约 24.3 MiB全量文件清单统计网页端预览可能很久,建议本地打开
单个 Excel 最大Excel_Stock/Excel_Technical_Indicators/Technical_Analysis.xlsx 约 10.7 MiB全量文件清单统计低配机器打开会明显卡顿
稀疏取用的做法:先按目录导航页定位到你真正要的那几个文件,只下载它们所在的子目录(例如只想学技术指标,就只取指标目录),而不是克隆整个仓库。这样磁盘与等待成本都会低很多。若仍要全量克隆,建议至少留出 700 MiB 以上空间给源码与依赖缓存。另外注意:官方文档里出现过的一个指标库说明站链接,本站实测已返回 404,因此不要以外部链接作为唯一依据,请直接看仓库文件与包内文档。如果你的机器磁盘紧张,还可以先只取 .ipynb 或 .R 这类文本文件阅读逻辑,把体积大的工作簿与内嵌输出图的 notebook 留到确实需要运行时再取——因为这些大文件里占空间的多数是已经保存的输出图,而不是代码本身。
FAQ

关于 Stock_Analysis_For_Quant 环境与运行的常见问题

以下事实按固定提交 df4bd3c58d71 与 2026-09-30 的仓库元数据核验;本机未运行该仓库,凡涉及运行结果的说明都只给方法与检查项,以官方仓库当前状态为准。

有没有官方的一键安装或依赖清单?

没有。全仓检索不到 requirements.txt、environment.yml、setup.py、pyproject.toml、Pipfile,也没有 Dockerfile、Makefile、.github 这类 CI 目录,同时没有 Release 与 Tag。官方 README 只给软件版本要求,因此依赖必须自己按文件反推。以官方仓库当前文件清单为准。

Python 版本到底要装哪个?

官方 README 写的是 Python 3.5+,这是一个很宽的底线而不是建议版本。实践上你更应该关心「你要跑的那个 notebook 用到的库,在当前 Python 上有没有可用的轮子」,因为像指标类库在 Windows 上多依赖预编译轮子。本站核验时用的是 Python 3.11.9,可正常导入 yfinance、talib、pandas 等;但这不是对你环境的保证,以你的实际安装结果为准。如果你还在选版本,建议直接选一个仍有预编译轮子支持的较新版本,而不是照字面去装 3.5。

为什么我装了库还是报 ModuleNotFoundError?

三个常见原因:一是你装了多个 Python 解释器,pip 与 python 不是同一套(用 python -m pip install 可以避免);二是该 notebook 用的是另一套同功能库(例如指标侧同时存在两套库,名字不同);三是虚拟环境路径与运行环境不一致。建议每次都先跑一次 python -c "import 库名" 验证,而不是只看安装成功提示。

Excel 的 .xlsm 打不开或按钮没反应怎么办?

那些是启用宏的工作簿,前提是允许宏运行。如果企业策略禁止宏,按钮不会工作,但工作表里的普通数据仍然可读;仓库里同一主题往往也有不含宏的普通工作簿可用。另外该目录还把 VBA 源码另存成了文本文件,可以直接打开阅读而不必运行宏。具体以你所在环境的策略为准。

Matlab / Power BI / Tableau 这三部分能照做吗?

本站没有实测这三部分——本机没有相应授权,无法打开 .pbix、.twbx 或运行 Matlab 脚本。页面里给出的只是「文件在哪、建议先看哪个」,不写操作步骤也不承诺版本兼容。如果你要用这三条线,请以厂商官方文档与你自己的授权版本为准。

必须克隆整个仓库吗?

不必。仓库按文件清单求和约 326.7 MiB,其中 59 个超过 1 MiB 的文件就占了约 201 MiB,单文件最大约 24.3 MiB。更省事的做法是先按目录定位到需要的几个文件,只取它们所在的子目录。若确实要全量克隆,请预留充足磁盘与时间。以你自己的克隆结果为准。

跑通第一个文件之后,建议先做什么?

建议先做三件事,而不是立刻去挑更复杂的示例。第一,把你实际用到的解释器版本、库版本与数据日期写进一个记录文件,因为 Stock_Analysis_For_Quant 没有版本发布机制,锁不住 commit 就锁不住结果。第二,把这次跑通的输出保存下来(图或表),当作后续改动时的对照基线——否则你无法判断换了一个指标库之后,数字变化是来自代码还是来自环境。第三,回到目录导航页确认同一主题在其它语言里的对应文件,这样后面做口径对照时不用重新找。以你自己的运行结果为准。

官方 README 里提到的工具站打不开正常吗?

有可能。本站实测发现,官方文档链到的一个指标库说明站已返回 404(HTTP 404)。另外有几个商业软件的下载页对本机抓取返回 403,那属于站点反爬,浏览器里通常能正常打开,不能算失效。遇到打不开的链接,优先回到仓库文件与包内文档,别把外部链接当作唯一依据。

环境跑通之后,下一步是把结果审一遍

能跑出图和表只是第一步。Stock_Analysis_For_Quant 里的收益曲线多数没有写清复权方式、成交时点与交易成本,样本外与参数敏感性也常常缺失。回测审计页给出了 12 项检查表与四级可信度分级,用它可以判断一条曲线到底能信到什么程度。