从零搭建你的 A 股量化系统(二):半小时在 Windows 上装好 conda + Git,验证量化环境可用
发布时间:2026/8/17 21:54:19 作者:尧图编辑部 阅读量:1,286
:半小时在 Windows 上装好 conda + Git,验证量化环境可用)
系列名《从零搭建你的 A 股量化系统》 第 2 篇 / 共 100 篇标签#量化投资 #Python #conda #Git #环境搭建 #Windows #零基础 #实战上篇《什么是量化投资》里我们跑通了一段双均线策略代码。但那是纸上谈兵——代码是直接粘在对话里跑的你自己的电脑上还什么都没有。今天这篇只做一件事把量化开发环境搭好并验证它能用。跟着做结尾你会跑通一个最小环境自检确认 Python、pandas、numpy、matplotlib 全都正常并且你的代码已经能用 Git 管起来。⏱️ 时间预期第一次跟着做大概 2030 分钟要下载 Miniconda、Git、装几个包熟练之后重装一遍 10 分钟就能搞定。大部分时间是在等下载照着敲命令就行。一、我们要装什么工具清单工具作用费用国内可下载MinicondaPython 运行环境 包/环境管理器替代官方 Python 安装包免费✅VSCode写代码的编辑器轻量、强大免费✅PowerShell / 终端输入命令Win10/11 自带免费✅Git代码版本管理主仓库 Gitee、同步备份 GitHub免费✅为什么用 Miniconda 而不是官网 Python 安装包因为它一个工具同时解决两件事① 给你一个 Python② 自带conda帮你管虚拟环境和装包。新手最怕把包装乱、把系统搞脏conda 一条命令就能隔离出干净的环境后面换电脑也能一键复现。全部免费、国内可直连。二、Step 1安装 Miniconda最关键的一步2.1 下载打开浏览器访问清华镜像国内速度快https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/拉到下面找最新的Windows x86_64 版Miniconda3-xxx-Windows-x86_64.exe点下载。也想用官网地址是https://docs.conda.io/en/latest/miniconda.html但国内可能偏慢新手优先用上面的清华镜像。2.2 安装两处要注意双击安装包一路 “Next”。有两个地方要改① 安装位置关键别装 C 盘默认会装到C:\Users\你的用户名\AppData\...\Miniconda3。建议改到非系统盘比如D:\miniconda3——量化环境 一堆包动辄几个 GB放 C 盘容易把系统盘塞满重装系统也易丢。在Destination Folder那一屏把路径改成D:\miniconda3D 盘不存在就换你的其他数据盘全程纯英文路径。② 勾选 PATH到Advanced Installation Options这一屏最底下把 “Add Miniconda3 to my PATH environment variable” 勾上安装器默认不勾、还友情提示不建议但新手勾上最省事能少踩一个命令找不到的坑然后再点 “Install”。2.3 验证安装完成后重新打开一个 PowerShell开始菜单搜 “PowerShell”输入conda--version如果显示conda 24.x.x版本号无所谓恭喜Miniconda 装好了。⚠️ 小坑提醒不要从 Microsoft Store 里装那个 “Python” App容易和 conda 里的 Python 冲突。用 Miniconda 自带的 Python 最稳。如果conda提示不是内部或外部命令关掉 PowerShell 重新打开还不行就手动把D:\miniconda3\Scripts和D:\miniconda3加到系统环境变量的 PATH 里路径以你刚才选的安装位置为准。三、Step 2安装 VSCode Python 插件访问https://code.visualstudio.com/国内可直连下载 Windows 版一路下一步安装。打开 VSCode左侧扩展图标或按CtrlShiftX搜索Python安装 Microsoft 出品的那个作者显示 Microsoft。想用中文界面再搜Chinese (Simplified) Language Pack装上重启即可。VSCode 不是必须的——你用记事本也能写代码。但它是免费、轻量、对 Python 支持最好的编辑器强烈建议。装好后在 VSCode 里打开终端Ctrl 反引号后面我们的命令都在这里敲最顺手。四、Step 3建好你的项目目录系统的骨架量化系统不是一堆散落的文件而是一棵有结构的树。我们现在就把这棵树的架子搭起来——它未来会成长为你的完整交易系统。在 PowerShell 里执行把路径换成你喜欢的纯英文盘符D:\不存在就改成C:\或你的文档目录# 1) 建项目根目录并进入一行搞定避免目录不存在的坑mkdir D:\ashare-quant cd D:\ashare-quant# 2) 批量建好子目录mkdirdata,src,notebooks,configs,tests mkdir src\data,src\factors,src\strategies,src\backtest,src\portfolio,src\live,src\utilsmkdir a, b, c逗号分隔是 PowerShell 的写法会一次性建多个文件夹用 cmd 的话要写成mkdir a mkdir b mkdir c。最终结构是这样的先有个整体印象后面每篇会往里填东西ashare-quant/ ├── data/ # 原始数据下载的行情、财务等 ├── src/ # 源码主目录 │ ├── data/ # 数据获取与清洗 │ ├── factors/ # 因子计算 │ ├── strategies/ # 策略 │ ├── backtest/ # 回测引擎 │ ├── portfolio/ # 组合管理 │ ├── live/ # 实盘手工调仓清单 │ └── utils/ # 工具函数 ├── notebooks/ # 探索性分析.ipynb ├── configs/ # 配置文件 ├── tests/ # 单元测试 ├── .gitignore # 告诉 Git 哪些文件不提交 ├── environment.yml # conda 环境清单一键复现 ├── requirements.txt # 依赖清单pip 版 └── README.md这套结构就是我们系列建系统即写博客的载体——每搭好一块就对应一篇博客。五、Step 4用 conda 建环境 装依赖好习惯从现在养成5.1 建并激活一个独立环境在ashare-quant目录下# 新建一个名为 ashare 的环境指定 Python 3.11conda create-n ashare python3.11-y# 激活它激活后命令行前面会出现 (ashare) 前缀conda activate ashare激活后命令行前面出现(ashare)前缀说明你进入了隔离的 Python 环境。以后所有包装在这里不会污染系统。环境装在哪因为上一步我们把 Miniconda 装到了D:\miniconda3新建的ashare环境会自动落在D:\miniconda3\envs\ashare连同后面pip install的包一起都在D 盘C 盘系统盘完全不受影响。这就是前面别装 C 盘的意义。⚠️ 如果conda activate ashare报 “conda 不是内部或外部命令” 或 “无法加载文件 Activate.ps1”先执行conda init powershell关掉 PowerShell 重新打开再conda activate ashare即可。这是 Windows 新手的常见卡点不是你操作错了。已经把 Miniconda 装到了 C 盘不用重装。新建环境前先执行下面两条把环境和包缓存都指到 D 盘即可conda config--append envs_dirs D:\conda_envs conda config--append pkgs_dirs D:\conda_pkgs之后conda create -n ashare ...生成的环境就在D:\conda_envs\ashare了。5.2 配置国内镜像加速下载conda 和 pip 都切到国内源后面装包飞快# conda 切清华源一次性conda config--add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config--add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config--setshow_channel_urls yes# pip 切清华源一次性主用pip configsetglobal.index-url https://pypi.tuna.tsinghua.edu.cn/simple# 信任镜像主机避免 https 证书校验导致的重试/卡顿pip configsetglobal.trusted-host pypi.tuna.tsinghua.edu.cn# 拉长超时 增加重试大包numpy/pandas默认容易中断重连pip configsetglobal.timeout 60 pip configsetglobal.retries 5⚠️清华源偶尔还是很慢清华 pypi 镜像会回源官方遇到没同步的新包、或晚高峰限流这是它自身的机制局限不是你操作错了。解法换一个更稳的源即可二选一整段复制执行# 备选 1阿里云带宽最稳推荐pip configsetglobal.index-url https://mirrors.aliyun.com/pypi/simple pip configsetglobal.trusted-host mirrors.aliyun.com# 备选 2腾讯云pip configsetglobal.index-url https://mirrors.cloud.tencent.com/pypi/simple pip configsetglobal.trusted-host mirrors.cloud.tencent.com想临时用某个源而不改配置也可以pip install -i https://mirrors.aliyun.com/pypi/simple pandas。5.3 安装量化三件套pip install pandas numpy matplotlib大包优先用 conda 装更快numpy/pandas/matplotlib带 C 扩展、wheel 文件大十几 MB 起。强烈建议先用conda install pandas numpy matplotlib走 5.2 已配的 conda 清华 anaconda 源是完整镜像、不会回源官方只有 conda 源没有的包才用上面的pip install。两者装进的是同一个ashare环境互不冲突。 因为当前激活的是ashare环境在 D 盘这三个包会装进D:\miniconda3\envs\ashare\Lib\site-packages不会落到 C 盘。pip 只在C:\Users\你的用户名\AppData\Local\pip留一点下载缓存体积很小想彻底挪到 D 盘可执行pip config set global.cache-dir D:\pip_cache。装完后把环境写进清单方便以后一键复现# pip 版依赖清单pip freeze requirements.txt# conda 版环境清单更完整含 Python 版本conda env export environment.yml以后换电脑只需conda env create-f environment.yml# 一键还原一模一样的环境或没有 environment.yml 时conda create -n ashare python3.11 -y然后pip install -r requirements.txt。5.4 conda 常用命令速查表命令作用conda --version查看 conda 版本conda env list列出本机所有环境带*的是当前环境conda create -n 名字 python3.11 -y新建一个环境conda activate 名字进入某个环境conda deactivate退出当前环境conda install 包名用 conda 源装包如conda install pandaspip install 包名在激活环境后用 pip 装包conda 源没有的就用它conda list查看当前环境装了哪些包conda env export environment.yml导出环境用于复现conda remove -n 名字 --all -y删除某个环境 记住一条铁律每次打开新的终端先conda activate ashare再敲 python 命令。看到(ashare)前缀才说明装包、跑代码都是在隔离环境里。5.5 在 VSCode 里用上 ashare 环境关键一步装好 VSCode 和 ashare 环境后必须让 VSCode 知道用哪个 Python否则它默认可能用 base 环境或系统 Python结果你刚装的 pandas/numpy “找不到”一跑就ModuleNotFoundError。两步搞定① 选择解释器Interpreter在 VSCode 里打开项目文件夹ashare-quant菜单文件 → 打开文件夹。按CtrlShiftP打开命令面板输入Python: Select Interpreter中文界面显示Python: 选择解释器。在列表里选带ashare的那一项路径一般长这样以你装 Miniconda 的盘为准D:\miniconda3\envs\ashare\python.exe选好后VSCode左下角状态栏会显示Python 3.11.x (ashare)说明编辑器已经认得这个环境。② 在终端里激活环境打开 VSCode 集成终端Ctrl 反引号。如果提示符前面没有(ashare)输入conda activate ashare小技巧VSCode 有个默认开启的设置Python: Terminal Activate Environment选好解释器后新开的终端会自动激活该环境省得每次手敲。③ 跑代码时确认用的是 ashare本篇 Step 6 的环境自检最直观——env_test.py里我们打印了sys.executable运行后那一行路径必须指向envs\ashare\python.exe就说明代码确实跑在隔离环境里。运行方式任选其一在编辑器里右键文件 →“在终端中运行 Python 文件”或点右上角的 ▶ 播放按钮都用的是刚才选的解释器直接在已激活(ashare)的终端里敲python src/env_test.py。 如果用的是.ipynb笔记本notebooks/目录里记得在右上角选择内核Kernel ashare否则笔记本会用错环境、同样ModuleNotFoundError。六、Step 5用 Git 管理你的代码随手就能用量化代码会越写越多Git 帮你记住每一次改动、防止误删、还能备份到 Gitee。现在就把它接上别等写乱了再后悔。6.1 安装 Git访问https://git-scm.com/download/win或清华镜像https://mirrors.tuna.tsinghua.edu.cn/git-for-windows/下载 Windows 版一路下一步。安装完重新打开 PowerShell验证git--version6.2 第一次使用 Git先报个到git config--global user.name你的名字git config--global user.emailyouexample.com6.3 在项目里初始化仓库并提交第一版在ashare-quant目录下确认处于(ashare)环境# 1) 初始化仓库git init# 2) 新建 .gitignore用记事本或 VSCode内容见下面# 3) 把当前所有文件加入暂存区git add.# 4) 提交git commit-minit: 搭建量化项目骨架 环境自检.gitignore建议内容直接复制粘贴__pycache__/ *.pyc .venv/ .ipynb_checkpoints/ *.png data/ configs/secrets.yamldata/和secrets.yaml这种含原始数据/密钥的千万别提交到公开仓库。6.4 推到主仓库 GiteeGitee 是国内主仓库访问快、中文友好。打开https://gitee.com注册并新建一个私有仓库名字如ashare-quant不要勾用 README 初始化保持空仓库。复制仓库地址回到 PowerShell把它设为默认远程origin并首次推送# 关联主仓库Gitee 作为 origingit remote add origin https://gitee.com/你的用户名/ashare-quant.git# 把本地 main 分支推送到 Gitee-u 让以后直接 git push 即可git branch-M main git push-u origin main第一次git push会弹出 Gitee 登录框用你的账号密码或绑定的微信/手机号登录即可。6.5 同步备份到 GitHub双远程GitHub 作为海外备份/展示仓库——一份代码两份保险哪天某个平台出问题都不怕。思路是给同一个本地仓库再关联一个叫github的远程提交后分别推两次。打开https://github.com新建一个仓库名字如ashare-quant建议设私有。回到 PowerShell关联第二个远程github# 再关联一个远程名字任取这里叫 githubgit remote add github https://github.com/你的用户名/ashare-quant.git# 推送到 GitHub首次同样加 -ugit push-u github main以后每次提交把代码同时推到两个仓库git add.git commit-m描述这次改了什么git push origin main# 推到 Gitee主仓库git push github main# 同步备份到 GitHub想一条命令推两个把 GitHub 也加进origin的推送地址即可进阶技巧# 让 git push origin 同时推送到 Gitee 和 GitHubgit remoteset-url--add--push origin https://github.com/你的用户名/ashare-quant.git# 之后只需git push origin main 会依次推 Gitee、GitHub 两个地址⚠️GitHub 两个坑① 自 2021 年起 GitHub不支持账号密码登录HTTPS 推送时密码要填Personal Access Token个人访问令牌——在 GitHub → Settings → Developer settings → Personal access tokens 里生成勾 repo 权限② 国内访问 GitHub 有时慢或不稳Gitee 先推成功即可GitHub 失败了晚点重试不影响主仓库。嫌麻烦就配 SSH keyssh-keygen生成公钥贴到两个平台一劳永逸。6.6 Git 常用命令速查表命令作用git --version查看 Git 版本git config --global user.name 名字设置提交者名字git config --global user.email 邮箱设置提交者邮箱git init在当前目录初始化仓库git status查看哪些文件改了、待提交git add .把所有改动加入暂存区git commit -m 说明提交一次改动git log查看提交历史git remote -v查看已关联的所有远程仓库git remote add 名字 地址关联一个远程可关联多个如 origin / githubgit push -u origin main首次推送到某个远程并记住分支git push 远程名 分支推送到指定远程如git push github maingit pull拉取远程最新代码git clone 地址克隆别人的仓库到本地七、Step 6跑一个最小环境自检 ✅现在验证前面装的到底能不能用。把下面这段代码存成文件src/env_test.py# src/env_test.py# 最小环境自检确认 Python / pandas / numpy / matplotlib 都能正常用importsysimportpandasaspdimportnumpyasnpimportmatplotlibimportmatplotlib.pyplotaspltprint(Python :,sys.version.split()[0])print(pandas :,pd.__version__)print(numpy :,np.__version__)print(matplotlib :,matplotlib.__version__)print(解释器 :,sys.executable)# 画一张极简图确认绘图后端可用无界面也能存成文件plt.figure(figsize(4,3))plt.plot([1,2,3,4],[1,4,2,3],markero,color#e4572e)plt.title(env_test OK)plt.savefig(env_test.png)print(绘图后端正常测试图已保存为 env_test.png ✅)在 VSCode 终端已激活(ashare)见 5.5 节或 PowerShell 里运行python src/env_test.py你会看到类似这样的输出Python : 3.11.9 pandas : 2.2.2 numpy : 1.26.4 matplotlib : 3.9.1 解释器 : D:\miniconda3\envs\ashare\python.exe 绘图后端正常测试图已保存为 env_test.png ✅只要这几行打印出来、且解释器那行指向envs\ashare\python.exe、项目里多了一张env_test.png就说明Python conda 环境 三个核心库 绘图后端全部正常而且代码确实跑在了 ashare 隔离环境里。你的量化工程地基正式打好了。想顺手看看弹窗效果可以把最后一行plt.savefig(...)后面加一句plt.show()会弹出一个带圆点折线的窗口。关掉窗口程序就结束。八、新手最常卡的 9 个坑现象原因解决办法conda不是命令安装没勾 PATH / 没重启终端重开 PowerShell或手动把 miniconda3 路径加进 PATHconda activate报 Activate.ps1 无法加载PowerShell 执行策略限制执行conda init powershell后关终端重开包装到全局而不是 ashare忘了conda activate ashare先激活看到(ashare)前缀再装VSCode 跑代码报ModuleNotFoundError没选解释器 / 终端没激活 ashareCtrlShiftP→Python: Select Interpreter选 ashare终端先conda activate asharepip / conda 下载超时连的是国外源执行 5.2 的清华镜像配置报编码/路径错误项目路径含中文或空格项目放纯英文路径如D:\ashare-quantgit push 报权限/要密码Gitee 未登录 / GitHub 用了登录密码Gitee 弹窗登录或配 SSHGitHub 必须用 Personal Access Token 当密码不能用登录密码GitHub 推送慢/失败国内访问 GitHub 不稳Gitee 先推成功即可GitHub 失败就重试或配 SSH key 一劳永逸matplotlib 画图中文是方块、报Glyph missing警告默认字体 DejaVu Sans 不含中文字形画图前设中文字体见下方代码块matplotlib 中文显示标准写法放在任何画图代码之前importmatplotlib matplotlib.rcParams[font.sans-serif][SimHei]# Windows 自带黑体matplotlib.rcParams[axes.unicode_minus]False# 防止负号变成方块# Mac 用户换成 Arial Unicode MSLinux 用户换成 WenQuanYi Micro Hei设好后再plt.title(环境测试 OK)这类中文标题就能正常显示了。本篇的自检脚本特意用了英文标题就是为了在各系统都干净通过、不报这个警告。九、本篇小结 下篇预告小结今天你完成了量化之路最关键的一步——把工具备齐并验证可用。现在你的电脑上有MinicondaPython 环境管理 VSCode 编辑器 隔离的ashareconda 环境装好 pandas/numpy/matplotlib 一棵清晰的项目目录树 Git 版本管理 一个通过的环境自检。这棵树就是未来整套 A 股量化系统的家。真实 A 股数据怎么抓AkShare、策略怎么写得更严谨我们一步一步来。下一篇预告《从零搭建你的 A 股量化系统三Python 量化速成——用 pandas 读取、处理、可视化数据》。下篇我会带你补齐看得懂、改得动代码所需的 Python 基础重点讲 pandas 这个量化最核心的库。到时候我们就用本篇打好的环境正经把上篇那段双均线策略跑出真实收益图。准备好你的编辑器我们下篇见。免责声明本文所有内容仅用于量化投资技术教学与知识分享涉及的工具安装、环境配置与示例代码均不构成任何投资建议。投资有风险入市需谨慎实际交易前请务必用自己的真实数据充分回测并充分了解相关风险。