零基础搭建量化投资系统——以Python为工具(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-01 17:16:18

点击下载

作者:何战军,杨茂龙,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

零基础搭建量化投资系统——以Python为工具

零基础搭建量化投资系统——以Python为工具试读:

内容简介

本书从初学者的角度出发,通过通俗易懂的语言,详细介绍了量化投资分析、机器学习、NLP自然语言处理(聊天机器人设计)、网络爬虫等应用知识,书中所有知识点都结合具体实例进行讲解,可以使读者轻松领会 Python 程序开发的精髓,让零基础的读者轻松跨入编程领域。本书还通过一个完整的项目案例,帮助读者独立搭建量化分析交易平台。

本书适合Python语言零基础的学生、用Python语言编写量化交易策略的开发人员,以及从事数据建模框架和量化分析交易框架的设计人员与机器学习、NLP自然语言处理、网络爬虫应用开发的人员阅读。

未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。

版权所有,侵权必究。

图书在版编目(CIP)数据

零基础搭建量化投资系统:以Python为工具/何战军,杨茂龙,何天琦编著.—北京:电子工业出版社,2019.12(量化交易丛书)

ISBN 978-7-121-37620-7

Ⅰ.①零… Ⅱ.①何…②杨…③何… Ⅲ.①软件工具-程序设计 Ⅳ.①TP311.561

中国版本图书馆CIP数据核字(2019)第219953号

责任编辑:黄爱萍

印  刷:三河市君旺印务有限公司

装  订:三河市君旺印务有限公司

出版发行:电子工业出版社

     北京市海淀区万寿路173信箱  邮编:100036

开  本:787×980 1/16  印张:27.5  字数:530千字

版  次:2019年12月第1版

印  次:2019年12月第1次印刷

定  价:99.00元

凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。

质量投诉请发邮件至zlts@phei.com.cn,盗版侵权举报请发邮件至dbqq@phei.com.cn。

本书咨询联系方式:010-51260888-819,faq@phei.com.cn。前 言

本书主要介绍有关Python 3.7的使用,Python 3是发展趋势,由于Python 2对中文支持不友好等局限性会被逐步淘汰。

本书是金融投资和量化分析软件开发的入门书籍,其重点介绍金融数据的处理和投资分析技术的程序实现、K线图形和技术指标图形的程序绘制与框架开发,以及Tkinter窗口布局设计等,目的是使读者能够独立搭建自己的金融投资分析量化平台。

通过对本书的学习,读者能在Windows平台上搭建一个很酷的窗口,也能真正运行Python 3量化投资分析平台。本书中的大部分示例代码都可以在Python 3.6和Python 3.7的平台上运行,包含Windows 7/8/10的32位或者64位、macOS、Linux等操作系统,建议使用Windows 64位系统。

本书能够顺利完稿,首先要感谢电子工业出版社的黄爱萍和李淑丽两位编辑,在图书的编写过程中她们提出了很多宝贵的建议,还要感谢西安博成基金管理有限公司对本书在理念上的指导,同时,也非常感谢李宇昂对本书的排版布局及插图设计提供了很好的设计方案,使本书增色不少。

其次,感谢我的博客和公众号中的广大网友,这些朋友在我写书的过程中,给予了很大的支持,并对一些程序代码提出了许多值得改进的意见。

最后,感谢帮我检查并核对书稿的李美平、袁珊珊和房金思,谢谢你们!

接下来,我会一如既往地和诸位朋友一起完善这个开源量化平台,让我们一起加油吧!第1章 准备工作1.1 Python简介

Python 是一种高层次的,结合了解释性、编译性、互动性和面向对象的脚本语言,其设计具有很强的可读性。它是一种解释型语言,这意味着开发过程中没有了编译这个环节;它是一种交互式语言,这意味着可以在Python提示符“>>>”处直接输入程序语句;它是一种面向对象语言,这意味着它是一种支持把客观事物封装成抽象的类的编程技术。

对于初级程序员而言,Python是一种伟大的语言。它支持广泛的应用程序开发,从简单的文字处理到浏览器再到游戏,无所不能。

由于Python语言具有简洁性、易读性及可扩展性,因此在国外科学计算的研究机构中的使用日益增多,一些知名大学也已经采用Python来教授程序设计课程。例如,卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学和编程导论。众多开源的科学计算软件包都提供了Python的调用接口,如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,如NumPy,SciPy和Matplotlib三个经典的科学计算扩展库,它们分别为Python提供了快速数组处理、数值运算及绘图功能。因此,由Python语言及其众多的扩展库所构成的开发环境十分适合工程技术和科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

1.Python的发展历史

Python是由吉多·范罗苏姆(Guido van Rossum)于20世纪90年代初在荷兰国家数学和计算机科学研究所设计出来的。Python本身也是由诸多其他语言发展而来的,它自研发之初就遵循GPL(General Public License)协议(一种开源协议)。这也是其迅速发展的主要原因之一。目前,Python由一个核心开发团队维护,而Guido van Rossum主要指导其进展,仍然起着至关重要的作用。

Python有两个最新版本,即Python 2.7.16和Python 3.7.3。Python 2和Python 3是两个不同语法的版本,很多旧库只支持Python 2,目前仍有小部分人在使用。Python 3具有很多高级语言的特性,功能更加强大。Python 2对中文支持不是很好,不支持中文文件名,图形中也不支持中文显示。Python 2.7将在2020年停止维护,很多公司已经明确不再为Python 2提供后续版本库的支持,因此,本书主要介绍Python 3.7的开发编程。

Python 2和Python 3语法不同的例子:

Python 2: print 'Hello Word !'

Python 3: print('Hello Word !')

2.Python的特点(1)易于学习:从小学生到80岁的老人,只要认识英文字母,就可以学习Python语言。浙江省对信息技术课程进行了改革,从2018年开始将Visual Basic 语言更换为Python语言,甚至还将Python语言纳入了浙江省信息技术高考内容。(2)易于阅读:Python代码定义得更加清晰,其编写就像读英语一样简单。(3)易于维护:Python成功的原因之一在于它的源代码相当容易维护。(4)一个广泛的标准库:Python最大的优势之一是拥有丰富的、跨平台的资源库,并且与UNIX,Windows和Macintosh的兼容性都很好。(5)互动模式:互动模式的支持,即通过Python系统终端输入代码,按回车键就能获得代码运行结果。(6)可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多操作平台,如Windows,macOS,Linux,甚至是安卓手机上。(7)可扩展:即可以用C语言或C++语言编写Python的模块。当你需要一段运行很快的关键代码,或者想要编写一些不愿开放的算法时,就可以使用C语言或C++语言完成这部分程序,然后从Python程序中调用。(8)数据库:Python提供所有主流的商业数据库的接口。(9)图形用户界面(Graphical User Interface,GUI)编程:Python支持GUI编程,拥有大量GUI开发框架可供选择。此外,Tkinter,Ttk,Tix等图形扩展模块已经成为Python系统中的标准库。(10)可嵌入:可以将Python嵌入到C/C++程序中,让你的程序用户获得“脚本化”的能力。1.2 Python安装

1.2.1 安装Python 3

进入Python官网的首页,如图1-1所示。图1-1 Python官网页面

点击“Downloads”菜单,选择“All release”选项,进入如图1-2所示的页面。图1-2 Python下载页面

我们可以看到,Python 3除了Windows版本外,还有Linux/UNIX,macOS及其他版本。Python版本又分32位和64位系统。

如果想选择其他版本号的软件,可以翻看下面的不同版本号,点击后面的“Download”按钮即可下载。

我们选择Python 3.7.1的64位版本,点击“Windows x86-64 executable installer”开始下载文件“python-3.7.1-amd64.exe”。下载完成后,双击文件图标,自动运行安装程序,如图1-3所示。图1-3 Python 3.7.1(64-bit)安装对话框

点击“Install Now”默认安装。安装成功后,出现如图1-4所示的对话框,点击“Close”按钮,安装结束。图1-4 Python安装成功对话框

在Windows程序栏目中就会出现“Python 3.7 (64-bit)”,如图1-5所示。点击后,开始运行Python程序,如图1-6所示。图1-5 Windows程序栏目图1-6 Python 3.7运行窗口

此时,Python 3.7只是基础运行环境,很多Python开发包如NumPy,Pandas等都还没有,需要安装。而如果通过Anaconda软件来安装Python开发环境就可以解决99%的包导入的问题。

1.2.2 通过Anaconda安装Python

Anaconda是一个和Canopy类似的科学计算环境,但其用起来更加方便,自带的包管理器conda很强大。

Anaconda提供了Python 3.7和Python 2.7两个主要的版本,如果需要其他版本可以通过conda来创建。

Anaconda还提供了Spyder,IPython等Python开发工具环境。

Anaconda也支持不同操作系统,如Windows,macOS,Linux等操作系统。

输入Anaconda的下载网址就可以进入如图1-7所示的下载页面。图1-7 Anaconda的下载页面

我们可以根据自己使用的操作系统,选择对应的Anaconda安装软件来下载。

不同的操作系统的安装过程类似,下面我们分别给大家介绍在Windows系统、macOS系统和Linux系统下,Anaconda的安装过程。

1.Windows系统安装Anaconda

在图1-7所示的下载页面中,选择Windows系统则会出现要安装的Python版本和所对应的64位或32位系统安装程序,如图1-8所示。图1-8 Anaconda所对应的Python版本号

下载Python 3.7版本,有两个安装包。即

64位图形安装包:64-Bit Graphical Installer (631 MB)。

32位图形安装包:32-Bit Graphical Installer (509 MB)。

我们选择“64-Bit Graphical Installer (631 MB)”进行安装。开始安装后,出现如图1-9所示的对话框。图1-9 Anaconda3 5.3.0安装程序对话框

我们一直选择“Next>”按钮,采用默认方式安装。安装结束后,会出现如图1-10所示的对话框。图1-10 Anaconda安装结束对话框

在结束对话框中选择“Next”按钮,安装程序完成并退出。

我们可以在Windows的程序栏中,点击“Anaconda”来运行Anaconda软件。

在Anaconda软件安装的过程中,有个细节一定要注意。在出现图1-11的窗口时,要选中图中的1、2复选框来注册运行环境,否则Anaconda软件安装成功后无法直接使用。图1-11 Anaconda软件安装窗口

2.macOS系统安装Anaconda

在此系统下的Python也分为Python 3.7和Python 2.7两个版本。在macOS系统下没有32位版本,只有两种安装方式,即图形安装方式和命令行安装方式,如图1-12所示。图1-12 Anaconda的macOS安装页面

Python 3.7的安装文件有以下两个。

图形安装文件:64-Bit Graphical Installer (653 MB)。

命令行安装文件:64-Bit Command-Line Installer (435 MB)。

1)图形安装方式

在下载目录中双击文件“Anaconda3-5.3.0-macOS-x86_64.pkg”,开始执行安装程序。如图1-13所示。图1-13 图形安装对话框

在安装过程中,macOS系统安装Anaconda3软件需要先阅读安装信息,如图1-14所示。阅读完成后,点击“继续”按钮才能继续安装。图1-14 阅读Anaconda安装信息

此时弹出小窗口,如图1-15所示。我们必须选择“同意”按钮才能继续安装,如果选择“不同意”就会退出安装程序。图1-15 安装软件许可协议

在同意安装软件许可协议后,软件会继续安装,此时提示选择软件安装位置,如图1-16所示。

点击“安装”按钮,选择默认位置安装。安装成功后会出现“安装成功”窗口,如图1-17所示。图1-16 选择安装位置图1-17 “安装成功”窗口

关闭安装程序,打开启动台会看到Anaconda的软件图标,如图1-18所示。图1-18 macOS启动台

双击“Anaconda-Navigator”图标启动软件,进入Anaconda程序主画面,如图1-19所示。图1-19 Anaconda软件启动窗口

2)命令行安装方式

首先下载安装文件“64-Bit Command-Line Installer (544 MB)”,然后在苹果系统终端上切换到“Downloads”目录,输入下面命令,开始安装Anaconda,如图1-20所示。图1-20 macOS系统终端

3.Linux系统安装Anaconda

Linux版本的Anaconda3安装程序有三个版本。(1)64-Bit (x86) Installer (652.5 MB)。(2)64-Bit (Power8 and Power9) Installer (313.6 MB)。(3)32-Bit Installer (542.7 MB)。

我们选择“64-Bit (x86) Installer (652.5 MB)”版本下载,下载文件为“Anaconda3-2018.12-Linux-x86_64.sh”。下载完成后,就可以打开终端进行安装了。

我们以Ubuntu 16系统中文桌面版为例,下载目录为中文“下载”。

打开终端,在命令符号“$”后输入以下命令。

然后会出现注册信息,一直按回车键。在阅读完注册信息并提示“yes/no”时,通常都选“yes”来默认安装。

安装成功后,在终端输入以下命令启动Anaconda3。

1.2.3 下载安装绿色Python 3.7版本

从我们提供的资源包中把绿色Python下载到任意盘符中,解压后,点击文件“Py37.bat”运行。

我们提供的绿色版本Python 3.7(简称绿色Py37)除了集成了Windows 64位系统下的Python 3.7、Spyder开发工具和丰富的科学计算包外,还集成了QUANTAXIS数据包、Tushare财经数据接口包、聚宽数据JQData股票数据包(聚宽数据JQData需要在官网注册用户)、OpenDataTools股票数据包等,用户可以直接使用这些免费的金融数据。而如果用其他方法安装的Python环境,则需要用pip命令来安装这些金融数据包。因此,建议读者先下载使用绿色Py37。1.3 Pip包管理工具

Python的库是由众多包和模块组成的,其中能够完成某类完整功能所必需的基础开发包是由众多功能丰富的类和函数组成的。举例来说,NumPy库就是一个具有强大科学计算功能的函数库。NumPy库不是Python的一部分,是第三方提供的,因此只有安装了NumPy库才能使用其中的功能和函数。Python库的文件一般都用pip软件来安装管理。

pip是一个Python包管理工具,主要用于安装PyPI(Python Package Index)上的软件包,它可以替代旧的easy_install工具。PyPI是Python官方的第三方库的仓库,所有人都可以使用pip包管理器下载第三方库或上传自己开发的库到PyPI。Pip可正常工作在Windows,macOS,UNIX/Linux等操作系统上。

1.pip软件安装

pip是Python官方推荐的包管理工具。

如果你是使用Anaconda安装的Python,或者使用我们提供的绿色版本Py37,则里面已经包含了pip安装程序。

打开“Py37”目录,如“D:\py37”。单击鼠标右键弹出菜单,以管理员身份运行程序“WinPython Command Prompt.exe”就会出现“Command Prompt”命令窗口。这里可以直接输入pip安装命令来安装库文件。

例如:

如果你是自己下载安装的Python 3.7,就需要下载安装pip工具软件,方法如下。

pip下载网址和页面如图1-21所示。图1-21 pip下载网址和页面

下载“pip-18.1.tar.gz (1.3 MB)”压缩包,解压后,在目录中进行安装。

pip软件的安装方式如下:(1)在Windows下执行如下命令:(2)在Ubuntu Linux下执行如下命令:

安装成功后,可以执行以下命令查看已经安装好的包名。

2.pip软件升级(1)在Windows下执行如下命令:(2)在Linux或macOS下执行如下命令:

3.新库的安装方法(1)在Windows下利用“Win + R”组合键打开运行窗口,输入“cmd”回车,找到pip命令所在路径,在命令行中切换至该目录。

输入以下命令:

例如:(2)下载whl文件也可以安装库。

whl文件是Python扩展包,包含了py文件,以及经过编译的pyd文件。下载相应库的whl文件也可以安装库,但要注意,要下载相应版本的并选择对应的32位或64位系统。

在cmd上输入下面命令即可。

4.量化分析所需的库

下面是小白量化投资软件需要安装的Python库或模块及其功能。(1)NumPy是基于Python科学计算的第三方库,提供了矩阵、线性代数、傅立叶变换等解决方案。(2)SciPy是基于Python MATLAB实现的库,旨在实现MATLAB的所有功能。(3)Matplotlib是利用Python实现类MATLAB的第三方库,主要用于绘制一些高质量的数学二维图形。绘制K线还需要安装mpl_finance包。(4)PILlow是基于Python的图像处理库,功能强大,对图形文件的格式支持广泛。(5)Pandas是数据整理的完美工具。(6)PyGame是基于Python的多媒体开发和游戏软件开发的模块。(7)Jieba为中文分词工具。(8)金融数据接口库,如tushare,jqdatasdk等。(9)网页获取信息及网络爬虫所需要的模块,如requests,bs4。(10)机器学习需要安装sklearn,keras等模块。

5.卸载库

卸载库用以下命令:

例如:

6.在Anaconda3中安装库

在Windows的程序中,选择“Anaconda3 (64-bit)”下面的“Anaconda Prompt”程序。如图1-22所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载