【量化实战】VeighNa 入门:VSCode + Conda 环境配置
一句话总结:用 C 盘 Miniconda 建干净的quant环境,VSCode 绑定解释器;装好 VeighNa 4.0 后按“数据层 / 策略层 / 调度层”拆项目,先三层跑通,按痛点再拆。全篇三大块:环境 → 架构 → 框架。
一、环境搭建
1. 三步口诀
| 步骤 | 动作 | 关键点 |
|---|---|---|
| ① 装扩展 | VSCodeCtrl+Shift+X搜 Python,装 Microsoft 官方扩展 | 右下角显示版本即成功,没有就重启 |
| ② 建环境 | 终端执行下方命令 | 每项目单独建,别塞base |
| ③ 选解释器 | Ctrl+Shift+P→Python: Select Interpreter | 选带quant和conda的,右下角显示Python 3.12 ('quant': conda)即成功 |
conda create-n quant python=3.12-y conda activate quant pip install pandas numpy matplotlib💡
conda activate报错就先跑conda init powershell再重启终端。
2. 验证
设置里搜python.terminal.activateEnvironment勾选true,新终端自动显示(quant)。新建test.py:
importpandasaspdprint(pd.__version__)F5运行,出版本号即成功。
3. 高频问题(降序:最常见在前)
| 问题 | 原因 | 解决 |
|---|---|---|
| 装了包但 import 报错 | 解释器没选对 | 重新Python: Select Interpreter |
| PowerShell 里 conda activate 无效 | shell 没初始化 | conda init powershell后重启终端 |
| conda 命令找不到 | 没执行conda init | conda init powershell后重启终端 |
| 列表里没有目标环境 | VSCode 没扫描到 | 点Enter interpreter path...手动粘路径 |
| 切换环境后仍报错 | 语言服务器缓存 | Python: Restart Language Server |
二、项目架构:先三层,按痛点再拆
原则:分层解耦,每层只干一件事。没疼就不拆,不提前建空目录。
1. 当前架构(核心三层)
veighna/ │ ├── data/ # 数据层:取数、清洗、统一格式 │ ├── __init__.py # 🚨必须建空文件 │ ├── kline_data.csv │ ├── loader.py # CSV / Tushare / 数据库读取 │ └── data_feed.py # 对外统一接口 │ ├── strategies/ # 策略层:只写策略逻辑 │ ├── __init__.py # 🚨必须建空文件 │ ├── factory.py # 策略工厂(花名册) │ └── s01_double_ma.py # 双均线策略 │ └── run.py # GUI 启动入口2. 三层职责
| 层 | 管什么 | 不管什么 | 关键文件 |
|---|---|---|---|
| data/ | 取数、清洗、统一格式 | 不关心策略怎么跑 | loader.py写读取,data_feed.py对外接口 |
| strategies/ | 信号逻辑(何时买/卖) | 不关心数据从哪来、怎么启动 | factory.py花名册,加策略 = 加文件 + 注册一行 |
| run.py | 组装 + 启动 | 不写业务逻辑 | 出问题能快速定位是哪层的错 |
3. 统一入口
| 入口 | 用途 | 特点 |
|---|---|---|
| run.py | GUI 启动:数据管理 + 回测模块 + 策略同步 | 可视化、看资金曲线、接 SimNow |
4. 高频坑(降序)
| 坑点 | 现象 | 解法 |
|---|---|---|
缺__init__.py | ModuleNotFoundError: No module named 'data' | data/、strategies/下都建空__init__.py |
| 策略找不到 | GUI 下拉框没有你的策略 | 类名加My前缀;确认run.py同步逻辑执行成功 |
| 入口写太多业务 | 报错不知道哪层出的问题 | 入口只做组装和启动,逻辑放对应层 |
后续演进(
tools/、config/、utils/、engine/):等三层真跑疼了再拆。
三、VeighNa 4.0 入门
1. 定位
VN.py 已改名 VeighNa,4.0 新增vnpy.alphaAI 模块,Python 升级到 3.13。定位是 Python + C++ 事件驱动框架,最大壁垒是国内期货/股票柜台直连(CTP/XTP/IB 等 25+ 接口)。
选型:国内实盘选 VeighNa,纯回测选 Backtrader,AI 因子研究选 Qlib。常见搭配:Qlib 挖因子 → VeighNa 跑实盘。
2. 安装(二选一)
| 方式 | 命令/操作 | 适用 |
|---|---|---|
| 推荐 | 官网下载veighna_studio-4.3.0.exe,自带 Python 3.13,一键安装 | 新手、想省事 |
| pip | 下方命令,装在quant环境里 | 想统一管理环境 |
pip install vnpy pip install vnpy_ctp vnpy_ctastrategy vnpy_ctabacktester pip install vnpy_alpha3. 核心模块(降序:常用在前)
| 模块 | 用途 |
|---|---|
vnpy_ctp | 期货/期权 CTP 接口 |
vnpy_ctastrategy | CTA 策略引擎 |
vnpy_ctabacktester | 回测 + 参数优化 |
vnpy_alpha | AI 因子(Alpha158/101、LightGBM/MLP) |
vnpy_spreadtrading | 价差套利 |
vnpy_optionmaster | 期权波动率 |
vnpy_algotrading | TWAP/Sniper 算法 |
vnpy_riskmanager | 事前风控 |
4. 同类对比
| VeighNa | Backtrader | Qlib | |
|---|---|---|---|
| 实盘 | ✅ 国内最强 | ❌ | ❌ |
| 回测 | 中等 | 中等 | 快 |
| AI/ML | 4.0 原生 | ❌ | ✅ 原生 |
| 学习成本 | 高 | 中 | 中 |
附:多 Conda 共存(认准主力)
原则:C 盘 Miniconda 当主力,D 盘 Anaconda 当工具箱。
| 软件/图标 | 角色 | 该不该用 |
|---|---|---|
| C盘 Miniconda | 专属后厨,建quant环境写策略 | ✅ 主力 |
| D盘 Anaconda | 大型超市,预装各种工具 | 偶尔用 |
| Anaconda PowerShell(蓝) | 初始化后可用,命令更通用 | ✅ 保留 |
| Anaconda Navigator | 图形界面,巨卡 | ❌ 别点 |
| Spyder(红) | 老牌编辑器,VSCode 可平替 | ❌ 卸载 |
终端统一用 PowerShell,跑一次conda init powershell后conda activate quant正常用。清理 D 盘臃肿软件:
conda remove navigator-y conda remove spyder-y最终工作流:写策略、回测全在 VSCode(选 C 盘quant)→F5运行;装新库用 PowerShell →conda activate quant→pip install xxx。
🏷️ 标签:#量化交易#VeighNa#vnpy#VSCode#Conda#环境配置#Python量化