Python量化投资:技术、模型与策略
上QQ阅读APP看书,第一时间看更新

2.2 编程环境搭建流程

需要注意的是,做量化投资研究,要安装的一定是Anaconda,千万不要去Python官网下载安装程序,那样会极其麻烦。Anaconda一旦安装完毕,基本上就可以开始编程开发了。

Anaconda是Python与各种第三方库的一个大集合,囊括了数据分析领域绝大部分的库,比如NumPy、Pandas、Sklearn等。Anaconda也包含了常用的开发环境,比如Spyder、Jupyter Notebook等。

Anaconda安装起来非常方便,只需要下载一个安装软件,一次性就装好了。打开Anaconda官网下载地址https://www.anaconda.com/distribution/,或者直接百度Anaconda也可以搜索到。这里的版本会随时更新,以读者见到的版本为准。一般来说,会有2.7和3.7两种版本,这里建议选择安装3.7版本。

Anaconda的安装与其他普通程序一样,这里就不再赘述了。为了便于后文的阐述,假设安装的位置为“D:\Anaconda\”。

2.2.1 其他库的安装

Anaconda虽然包含了很多库,但市面上还是大量存在Anaconda没有直接包含的库,比如,国内比较流行的数据接口库TuShare、PostgreSQL数据库接口psycopg2等。对于这些库,需要另行手动安装。

这里介绍两种安装方式,都是使用包管理器来实现的。一种是使用Anaconda提供的conda管理器来安装;另一种是使用pip管理器来安装。下面以安装psycopg2、TuShare为例来说明这两种方式。

1.conda管理器安装

在Windows中,可以通过“开始”菜单打开Anaconda Prompt。

使用命令conda search寻找是否有对应源,命令如下:


conda search psycopg2

搜索结果如图2-1所示,可以看到列出的相应的源。

这个时候就可以使用以下命令进行安装:


conda install –c anaconda psycopg2

有时候会有需要更新的提醒,如图2-2所示。

输入“y”确认即可。

2.pip管理器安装

有的库在conda中可能没有对应的源,这时就需要使用pip来进行安装了。比如TuShare,就无法使用conda来安装,需要使用pip管理器来安装。

图 2-1

图 2-2

这里需要注意的是,如果安装了多个版本的Anaconda,那么直接在Windows下的cmd命令下运行pip很可能就会出现问题。因为我们不知道cmd下默认的pip是哪个版本的Anaconda。

这个时候就需要手动进入对应的Anaconda的目录下面,使用该版本自带的pip程序来进行安装,这样就不会出现问题了。在Windows下,安装TuShare,一般是先打开cmd,然后输入以下命令。先进入对应版本的Anaconda的Scripts目录下面,再使用该目录下的pip程序进行安装,命令如下。


D:
cd D:/Anaconda/Scripts
pip install tushare

2.2.2 四种集成开发环境(IDE)介绍

除了安装底层库,还要选择一个合适的IDE,才能正式进行开发。现在市面上比较流行的有四种IDE:Jupyter Notebook、Spyder、PyCharm、VS Code。

Anaconda自带了两个开发环境,Jupyter Notebook和Spyder。

Jupyter Notebook是一个交互式笔记本,其本质是一个Web应用程序,便于创建和共享文学化程序文档,支持实时代码、数学方程、可视化和markdown。使用Jupyter Notebook最大的好处是,代码和中间的运行结果可以与文字和公式混合排在一起,就像文档一样,可以非常方便地分享给其他人。

这个网站包含了很多样例,可以参考https://nbviewer.jupyter.org/

一个典型的例子如图2-3所示。

图 2-3

可以看到,在图2-3中,文字、代码和代码运行结果都无缝地混排在了一起,这个就是Jupyter Notebook的最大优势。

Spyder与Jupyter的设计不一样。用过Matlab的朋友可能比较容易习惯Spyder。Spyder的界面与Matlab、R-Studio比较类似,也很适合做数据分析。Spyder的界面如图2-4所示。

图 2-4

除了Notebook和Spyder之外,还有两个Python开发环境比较流行:一是VS Code,一是PyCharm。

VS Code是微软出品的一款轻量级的IDE。这款IDE可以很方便地进行系统级开发,也包含了一些数据分析插件。如图2-5所示的是VS Code的界面。

图 2-5

VS Code的各项功能都比较贴心,所以在程序员中非常流行。对于数据分析师来说,VS Code除了对Pandas的数据可视化支持不够好之外,几乎也可以算得上是一款完美的IDE。实际上,VS Code中已经包含了专门为数据分析师准备的插件,某种程度上可以替代部分Jupyter Notebook的功能(虽然仍然存在一些差距)。预计在不久的将来,随着插件越来越完善,VS Code很可能会完全替代Spyder和Notebook,一统天下。

PyCharm是一款重量级的Python开发IDE,分为免费版和收费版。由于是Python专用的IDE,因此很多功能都是专门针对Python优化而设计的。如图2-6所示的是PyCharm的界面。

PyCharm的社区版是免费的。安装完成后,有一个问题需要提醒读者注意,需要为PyCharm指定Python核心组件的位置之后,它才能正常使用。如果PyCharm默认没有找到Python核心组件的位置,则需要手动添加。可以在“菜单→File→Settings→Build Execution Deployment→Console→Python Console→Python Interpreter”中进行指定(假设为D:\Anaconda\python.exe)。

图 2-6

PyCharm比较适合用于开发大型的项目,比如交易平台、后台系统等,一般在后台程序员中比较流行。

理论上,四种IDE都可以进行任何类型的开发。笔者个人在开发过程中,一般喜欢用Spyder做数据分析,用VS Code做比较复杂的系统开发。读者可以将四种IDE都尝试一下,选择自己顺手的来使用。