欢迎访问择沐竞(江苏)数字科技有限公司官网!M-zing(jiangsu) digital technology Ltd.,
致力于软件代理与服务 拥有专业的服务团队与售后技术支持

扫一扫
关注我们

全国服务热线:

18221674630


新闻资讯 News

无锡惠山经济开发区智慧路18号1105-2室

服务热线 18221674630
手机 18221674630
公司新闻
量化交易开发环境搭建:为什么Anaconda能解决90%的依赖问题?
作者:admin | 发布时间:2025-04-04

为什么是Anaconda

痛点1:非Python依赖 → Conda跨语言支持

量化交易是对数据进行分析。在数据分析的过程中,我们需要用到各种科学计算库,而这些库不一定全是Python书写,如TA-Lib是基于C库编译。


在和各交易所对接时,对方提供的库也可能是基于C++等书写。即程序存在非Python依赖,这就需要包管理器支持安装跨语言的包。


解决方案


Anaconda基于conda扩展,而conda支持跨语言依赖包安装,完美解决了非Python依赖的问题。


痛点2:版本冲突 → Conda精确版本锁定

量化交易涉及的依赖比较多,即使在开发时使用最新版本的依赖,在别的同学接手开发或实盘部署时重新安装依赖,都可能出现版本不一致的情况,新版本的依赖可能会出现不向下兼容的情况,从而导致系统出错。


如:NumPy>=1.20时,对数据类型检查更严格 ,旧版本策略中隐式类型 转换可能在新版报错。datetime的处理,可能报:


ValueError: Timezone-aware datetime cannot be converted to datetime64...


解决方案


anaconda里的每个依赖包都是锁定版本的,任意时间安装都是使用相同的版本。版本的升级由Anaconda统一管理,一升级就全部升级。


痛点3:环境一致性 → 环境导出/导入

量化交易的研究环境和实盘环境需要保持一致,这不仅需要保证运行环境一致,还需要依赖及版本的一致性。


假如开发时有ta-lib库,而服务器没有,则系统就会崩溃。环境不一致是造成策略失效甚至资金损失的常见根源。


解决方案


Anaconda 支持环境配置的导入和导出,通过配置文件保证环境的一致性。


Anaconda的安装

下载安装

去官网下载 https://www.anaconda.com/download#Downloads


支持Windows、Mac及Linux。安装过程与普通的软件安装差不多。如果需要修改默认路径,选择你要安装的路径即可。

1.png

安装后会有个快捷图标,则表示安装成功。


环境变量设置

windows下,默认没有配置conda的环境变量,所以在命令行中,直接输入conda命令会报错。解决方式有两种:


通过环境打开命令行

在相应的环境中打开命令行。


打开后会有有相应的环境名称标记:


配置Path变量

win+i打开设置->系统->关于->高级系统–>环境变量–>系统变量–>打开path


添加以下四个路径:


C:ProgramDatanaconda3C:ProgramDatanaconda3ScriptsC:ProgramDatanaconda3LibraryinC:ProgramDatanaconda3Librarymingw-w64in(可选)


在命令行中验证配置,执行:


conda --version


如果出现相应的版本信息,则表示配置成功


镜像加速

可以修改到清华大学的镜像源,加快依赖包的安装速度


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/condaconfig --set channel_priority strict



其中channel_priority是用来设置优化级


可以使用conda info查看相应的信息:


Anaconda的使用

环境管理器

界面化环境管理


Create按钮:创建新的环境


Clone按钮:复制当前环境来创建新的环境


Import按钮:导入环境配置来创建新环境


Backup按钮:导出当前环境的配置文件,可以在Import时使用。


Remmove按钮:删除当前环境


命令行环境管理

创建环境


conda create -n py27 python=2.7.18 Numpy


-n 参数: 环境名称


其他参数:相应的python版本及依赖包


创建后,会在anacondas安装目录下的envs文件夹下创建相应的环境文件夹


查看当前环境信息


conda info -e


列出所有的环境及当前所用的环境:


作用同 conda env list


切换环境


conda activate py313


退出当前环境,并回到上一个环境


conda deactivate py313


删除环境


conda remove --name testenv --all


--name: 要删除的环境名称


导出环境配置


conda env export > enviroment.yml


导入环境配置创建:


conda env create -f enviroment.yml


包管理器

基于conda管理包,包括安装、卸载和更新。


在操作前,需要先确定环境是否为目标环境。


安装依赖:


conda install xx


安装指定版本的依赖:


conda install numpy=1.24


更新conda本身:


conda update conda


更新anaconda应用


conda update anaconda


更新python


conda update python


列出当前环境的所有包


conda list


删除当前环境的指定包:


conda remove 包名


删除指定环境中的包


conda remove --name 环境名 包名


强制删除(避免依赖检查)


conda remove 包名 --force


批量删除多个包


conda remove 包1 包2 包3


清理无用缓存(删除包后,可清理残留文件,释放空间)


conda clean --all


PyCharm关联Anaconda环境

创建Anaconda环境

一般我们使用Anaconda自带的base环境即可。如果需要,可以克隆或根据项目配置新建。


创建Python项目并配置解释器

打开PyCharm,创建新的项目或打开已有的项目,并配置项目的解释器:


选择相应的环境即可。


外部库依赖查看

配置成功后,可以在外部库中找到看到对应环境的依赖库配置:


依赖库使用

可以在项目文件中,直接使用环境里的库,如创建run.py,并使用numpy库


import numpy as np

array = np.random.rand(10)mean = np.mean(array)

print(mean)



python文件运行

在命令行里,执行:


python run.py


或者直接点击右上角的绿色三角按钮即可正常运行,在下面可以看到运行后的输出


其他

conda与pip的区别

pip是官方认证的安装包,只有安装纯python的依赖,它的源来自于:PyPI(Python Package Index)


而conda是


由 Anaconda 公司开发,是一个跨语言的包和环境管理器。


不仅管理 Python 包,还能处理非 Python 的依赖(如 C/C++ 库、R 包等)。


更擅长解决科学计算领域的复杂依赖问题(如 numpy 与 CUDA 的兼容性)


从 Anaconda 仓库 或第三方渠道(如 conda-forge)安装包。


pip本身不直接管理环境,需依赖 venv 或 virtualenv 创建隔离环境。


python -m venv myenv  # 创建虚拟环境source myenv/bin/activate  # 激活环境pip install package  # 在环境中安装包


conda内置环境管理功能,可创建隔离环境并管理不同版本的 Python 和包。


conda create -n myenv python=3.9  # 创建环境conda activate myenv  # 激活环境conda install numpy  # 安装包.

Anaconda是量化开发的基础设施,它很好地解决了量化交易开发中的基础依赖、版本冲突及开发环境等问题,使我们可以更专注在策略的研究和开发上,极大地节省时间,提高开发效率.