第1天(续):量化投资开发环境搭建
-
创建python开发环境
python 安装包
建议直接从官网下载对应的版本(目前咱们使用的版本是python3.11): 下面是windows的下载地址,至少需要win7以上操作系统(应该大部分同学都是)
python下载
https://www.python.org/downloads/windows/安装过程就不细表了。 值得一提的是,有些做过数据分析同学,可能会建议使用Anaconda。
Anaconda是一个流行的Python数据科学平台,它包括了Python解释器、一套科学计算、数据分析和机器学习库以及管理这些库的工具。Anaconda由Anaconda, Inc.(原Continuum Analytics)开发,旨在简化包管理和部署。
大家建议使用Anaconda的可能的理由是它内置了很多依赖包,并且解决了依赖关系,开箱即用。
我不推荐的Anaconda的几个理由:
1、python的开发规范里,向来建议使用虚拟环境venv来隔离不同的应用。 使用anaconda的内置包的原因,默认假设就是把这些包安装在本地环境里。带来的问题就是,你安装新包时,要解决的兼容问题,比使用venv要更多,更复杂。而如果你使用venv的话,那Anaconda最大的便利就没有了。
2、Anaconda安装包很大,动辄好几个G。
3、有些包的更新也是滞后的。
有了SDK之后,我们还需要一个开发环境。所有的语言都需要一个好的开发环境(IDE)。 如果你不知道怎么选,我强烈推荐pycharm,社区版本就够多了,免费的。
下载地址是:https://www.jetbrains.com.cn/pycharm/download/?section=windows
默认看到是专业版本,是需要收费的,往下拉有社区版本。
社区版本功能是完整且够用的。
有同学想使用vscode的python开发插件。
我的建议是,如果你会折腾能驾驭,你用什么都可以。如果你不了解,建议就是pycharm社区版,会省掉很多不必要的麻烦。
python依赖包安装
pip是python 内置的包安装和管理工具。
在python里使用时,建议在如下位置打开“终端”:
若你当前工程有虚拟环境,它会默认激活虚拟环境,这样你新安装的包都会在虚拟环境里:
解决pip安装速度慢的问题:
加上国内的pip源,可以在搜索引擎上找相应的源:
pip install 包名 -i 源。
下面是使用清华的pip源安装numpy最新版本的包的例子:
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
如果是使用requirements.txt也是类似:pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
如果不想每次都如此麻烦,我们通常把这个源加到pip的全局配置里。C:\Users\用户名\pip\pip.ini里输入(如果没有,自行创建一个文件):
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
配置完成之后,重新打开terminal,默认就是会配置的源中搜索相应的包,速度很快。jupyter notebook
量化开发的另一个辅助的开发环境是notebook,有了pycharm,为何还需要notebook?
Notebook简介
Jupyter Notebook 是一个交互式的计算环境,它允许用户在网页浏览器中编写和运行代码,并将代码、计算结果、可视化和描述文本组合在一个文档中。以下是使用 Jupyter Notebook 的一些好处:
交互式编程:可以在编写代码的同时立即看到结果,这对于调试和探索数据非常有用。
文档和代码的整合:可以轻松地将文本、方程、图像和代码结合在一起,形成自包含的文档。
易于分享和协作:Jupyter Notebook 文件(.ipynb)可以很容易地在互联网上分享,使得协作和交流更加方便。
可重复性:Jupyter Notebook 允许用户记录和重现整个分析过程,这对于科学研究和数据分析非常重要。
教育和学习:它是一个强大的教育工具,可以用于教学和学习编程、数据分析和机器学习。
数据可视化:Jupyter Notebook 支持多种数据可视化库,如 Matplotlib、Seaborn 和 Plotly,使得数据探索变得直观。
实验和原型开发:它非常适合快速实验和原型开发,因为可以快速迭代和测试想法。
使用 Jupyter Notebook 可以极大地提高编程、数据分析和机器学习的效率,特别是对于那些喜欢交互式学习和工作方式的用户。
当然notebook也有一些缺点:
1、 代码提示功能偏弱。它的代码提示功能肯定与pycharm不可同日而与。
因此不适合在这里封装复杂的函数,而更适合的场景是函数已经封装好,我们尝试各种输入看结果,以及需要把这个结果分享给第三方的场合。
2、 不支持单步debug。它的每一个cell相当于就是单步,我们可以把中间变量打印出来也算是一种调试。因此同样不适合调试一个在开发中的逻辑复杂的函数。
notebook安装
使用pip在虚拟环境里直接安装即可:
pip install jupyter notebook
然后在终端直接运行jupyter notebook点击链接打开浏览器:
点击任意一个.ipynb笔记本,可以直接看到我的实验过程和结果展示:
notebook直接保留了代码和运行的过程。
小结:
投资最令人着迷也令人“绝望 ”之处在于,它没有圣杯。
但我们还是大有可为。
无论是从战略资产配置,还是战术资产轮动,或者择时,总有人可以找到相应的Alpha。
量化是投资的工具,AI是量化的工具。
用前沿的机器学习来辅助提升交易的胜率和赚钱的概率。
工欲善其事,必先利其器。
我们推荐python开发语言,使用pycharm作为开发工具,同时使用jupyter notebook作为策略开发和展示的辅助工具。
有了这些认知和准备,下一节咱们就可以进入量化投资的世界了。