新書推薦:
《
惜华年(全两册)
》
售價:HK$
70.3
《
甲骨文丛书·古代中国的军事文化
》
售價:HK$
99.7
《
中国王朝内争实录(套装全4册):从未见过的王朝内争编著史
》
售價:HK$
244.2
《
半导体纳米器件:物理、技术和应用
》
售價:HK$
177.0
《
创客精选项目设计与制作 第2版 刘笑笑 颜志勇 严国陶
》
售價:HK$
61.6
《
佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技
》
售價:HK$
221.8
《
武人琴音(十周年纪念版 逝去的武林系列收官之作 形意拳一门三代:尚云祥、韩伯言、韩瑜的人生故事 凸显百年武人命运)
》
售價:HK$
43.7
《
剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
154.6
|
編輯推薦: |
本书是结合股票交易大数据分析范例为主线来教学Python编程的应用开发教材,适合计算机、数学或金融等相关专业的师生作为课程设计的教学用书,对毕业设计辅导也具有一定的参考借鉴价值。
|
內容簡介: |
本书针对Python零基础的用户,主要讲解大量的股票指标技术分析的范例,由浅入深地介绍了使用Python语言编程开发的应用“图谱”。 全书分为三篇:基础篇(第1~4章):讲述Python开发环境的搭建、基本语法、数据结构、代码的调试以及面向对象的编程思想;股票指标技术分析篇(第5~10章):分别讲述使用网络爬虫技术获取股票数据,使用Matplotlib可视化组件,基于NumPy和Pandas库进行大数据分析,以股票的不同指标分析为范例的开发方法—MACD + Python数据库编程,KDJ + Python图形用户界面编程,RSI + Python邮件编程;基于股票指标的交易策略之高级应用篇(第11~13章):以股票的BIAS指标分析为范例讲述Django框架,以股票的OBV指标分析为范例讲述在Django中导入日志和数据库组件,结合股票指标分析讲述基于线性回归和SVM(支持向量机)的机器学习的入门知识。 本书以结合股票交易大数据分析范例为主线来教学Python编程开发的入门教材。适合计算机、数学或金融等相关专业的师生作为课程设计和毕业设计辅导的教学参考用书,针对基于机器学习预测股票价格的范例程序也可单独作为参考用例。
|
關於作者: |
胡书敏,在外企和互联网公司有五年资深架构师工作经验,博客园知名博主,出版过多本Java方面的书籍,搭建过多个支付和数据分析方面的微服务架构。
|
目錄:
|
目录
第1章 掌握实用的PYTHON语法 1
1.1 安装Python开发环境 1
1.1.1 在MyEclipse里安装开发插件和Python解释器 1
1.1.2 新建Python项目,开发第一个Python程序 2
1.2 快速入门Python语法 6
1.2.1 Python的缩进与注释 6
1.2.2 定义基本数据类型 7
1.2.3 字符串的常见用法 7
1.2.4 定义函数与调用函数 9
1.3 控制条件分支与循环调用 10
1.3.1 通过ifelse控制程序的分支流程 10
1.3.2 while循环与continue,break关键字 11
1.3.3 通过for循环来遍历对象 12
1.4 通过范例程序加深对Python语法的认识 12
1.4.1 实现冒泡排序算法 13
1.4.2 计算指定范围内的质数 13
1.4.3 通过Debug调试代码中的问题 14
1.5 本章小结 17
第2章 PYTHON中的数据结构:集合对象 18
2.1 列表和元组能存储线性表型数据 18
2.1.1 列表的常见用法 18
2.1.2 链表、列表还是数组?这仅仅是叫法的不同 20
2.1.3 对列表中元素进行操作的方法 20
2.1.4 不能修改元组内的元素 21
2.2 集合可以去除重复元素 22
2.2.1 通过集合去掉重复的元素 22
2.2.2 常见的集合操作方法 23
2.2.3 通过覆盖sort定义排序逻辑 24
2.3 通过字典存放键-值对类型的数据 24
2.3.1 针对字典的常见操作 25
2.3.2 在字典中以复杂的格式存储多个数据 25
2.4 针对数据结构对象的常用操作 27
2.4.1 映射函数map 27
2.4.2 筛选函数filter 28
2.4.3 累计处理函数reduce 29
2.4.4 通过Lambda表达式定义匿名函数 30
2.5 本章小结 31
第3章 PYTHON面向对象程序设计思想的实践 32
3.1 把属性和方法封装成类,方便重复使用 32
3.1.1 在Python中定义和使用类 33
3.1.2 通过__init__了解常用的魔术方法 34
3.1.3 对外屏蔽类中的不可见方法 35
3.1.4 私有属性的错误用法 36
3.1.5 静态方法和类方法 37
3.2 通过继承扩展新的功能 38
3.2.1 继承的常见用法 38
3.2.2 受保护的属性和方法 39
3.2.3 慎用多重继承 40
3.2.4 通过组合来避免多重继承 41
3.3 多态是对功能的抽象 42
3.3.1 Python中的多态特性 42
3.3.2 多态与继承结合 43
3.4 通过import复用已有的功能 44
3.4.1 通过import导入现有的模块 44
3.4.2 包是模块的升级 45
3.4.3 导入并使用第三方库NumPy的步骤 46
3.5 通过迭代器加深理解多态性 47
3.6 本章小结 49
第4章 异常处理与文件读写 50
4.1 异常不是语法错误 50
4.1.1 通过tryexcept从句处理异常 50
4.1.2 通过不同的异常处理类处理不同的异常 51
4.1.3 在except中处理多个异常 53
4.1.4 通过raise语句直接抛出异常 53
4.1.5 引入finally从句 54
4.2 项目中异常处理的经验谈 56
4.2.1 用专业的异常处理类来处理专门的异常 56
4.2.2 尽量缩小异常监控的范围 56
4.2.3 尽量缩小异常的影响范围 57
4.2.4 在合适的场景下使用警告 58
4.3 通过IO读写文件 59
4.3.1 以各种模式打开文件 59
4.3.2 引入异常处理流程 60
4.3.3 写文件 61
4.4 读写文件的范例 62
4.4.1 复制与移动文件 62
4.4.2 读写csv文件 63
4.4.3 读写zip压缩文件 64
4.5 本章小结 65
第5章 股市的常用知识与数据准备 66
5.1 股票的基本常识 66
5.1.1 交易时间与T 1交易规则 66
5.1.2 证券交易市场 67
5.1.3 从竞价制度分析股票为什么会涨跌 67
5.1.4 指数与板块 68
5.1.5 本书会用到的股市术语 68
5.2 编写股票范例程序会用到的库 69
5.3 通过爬取股市数据的范例程序来学习urllib库的用法 70
5.3.1 调用urlopen方法爬取数据 70
5.3.2 调用带参数的urlopen方法爬取数据 72
5.3.3 GET和POST的差别和使用场景 73
5.3.4 调用urlretrieve方法把爬取结果存入csv文件 73
5.4 通过基于股票数据的范例程序学习正则表达式 74
5.4.1 用正则表达式匹配字符串 74
5.4.2 用正则表达式截取字符串 76
5.4.3 综合使用爬虫和正则表达式 77
5.5 通过第三方库收集股市数据 78
5.5.1 通过pandas_datareader库获取股市数据 78
5.5.2 使用Tushare库来获取上市公司的信息 80
5.5.3 通过Tushare库获取某时间段内的股票数据 81
5.6 本章小结 82
第6章 通过MATPLOTLIB库绘制K线图 83
6.1 Matplotlib库的基础用法 83
6.1.1 绘制柱状图和折线图 83
6.1.2 设置坐标轴刻度和标签信息 85
6.1.3 增加图例和图表标题 86
6.2 Matplotlib图形库的常用技巧 87
6.2.1 绘制含中文字符的饼图 87
6.2.2 柱状图和直方图的区别 89
6.2.3 Figure对象与绘制子图 91
6.2.4 调用subplot方法绘制子图 93
6.2.5 通过Axes设置数字型的坐标轴刻度和标签 94
6.2.6 通过Axes设置日期型的坐标轴刻度和标签 96
6.3 绘制股市K线图 97
6.3.1 K线图的组成要素 97
6.3.2 通过直方图和直线绘制K线图 98
6.3.3 通过mpl_finance库绘制K线图 99
6.4 K线对未来行情的预判 101
6.4.1 不带上下影线的长阳线 101
6.4.2 不带上下影线的长阴线 102
6.4.3 预测上涨的早晨之星 102
6.4.4 预测下跌的黄昏之星 103
6.4.5 预测上涨的两阳夹一阴形态 104
6.4.6 预测下跌的两阴夹一阳形态 104
6.5 本章小结 105
第7章 绘制均线与成交量 106
7.1 NumPy库的常见用法 106
7.1.1 range与arange方法比较 106
7.1.2 ndarray的常见用法 107
7.1.3 数值型索引和布尔型索引 108
7.1.4 通过切片获取数组中指定的元素 109
7.1.5 切片与共享内存 110
7.1.6 常用的科学计算函数 111
7.2 Pandas与分析处理数据 111
7.2.1 包含索引的Series数据结构 112
7.2.2 通过切片等方式访问Series中指定的元素 113
7.2.3 创建DataFrame的常见方式 114
7.2.4 存取DataFrame对象中的各类数据 115
7.2.5 通过DataFrame读取csv文件 116
7.2.6 通过DataFrame读取Excel文件 117
7.3 K线整合均线 118
7.3.1 均线的概念 118
7.3.2 举例说明均线的计算方法 119
7.3.3 移动窗口函数rolling 119
7.3.4 用rolling方法绘制均线 120
7.3.5 改进版的均线图 121
7.4 整合成交量图 123
7.4.1 本书用的成交量是指成交股数 123
7.4.2 引入成交量图 123
7.5 通过DataFrame验证均线的操作策略 126
7.5.1 葛兰碧均线八大买卖法则 126
7.5.2 验证基于均线的买点 127
7.5.3 验证基于均线的卖点 128
7.6 量价理论 129
7.6.1 成交量与股价的关系 129
7.6.2 验证量增价平的买点 130
7.6.3 验证量减价平的卖点 131
7.7 本章小结 132
第8章 数据库操作与绘制MACD线 133
8.1 Python连接MySQL数据库的准备工作 133
8.1.1 在本地搭建MySQL环境 133
8.1.2 安装用来连接MySQL的PyMySQL库 135
8.1.3 在MySQL中创建数据库与数据表 135
8.1.4 通过select语句执行查询 136
8.1.5 执行增、删、改操作 138
8.1.6 事务提交与回滚 139
8.2 整合爬虫模块和数据库模块 141
8.2.1 根据股票代码动态创建数据表 141
8.2.2 把爬取到的数据存入数据表 142
8.3 绘制MACD指标线 145
8.3.1 MACD指标的计算方式 145
8.3.2 遍历数据表数据,绘制MACD指标 146
8.3.3 关于数据误差的说明 149
8.3.4 MACD与K线均线的整合效果图 150
8.4 验证基于MACD指标的买卖点 153
8.4.1 MACD指标的指导意义与盲点 153
8.4.2 验证基于柱状图和金叉的买点 154
8.4.3 验证基于柱状图和死叉的卖点 157
8.5 本章小结 159
第9章 以KDJ范例程序学习GUI编程 160
9.1 Tkinter的常用控件 160
9.1.1 实现带标签、文本框和按钮的GUI界面 160
9.1.2 实现下拉框控件 162
9.1.3 单选框和多行文本框 163
9.1.4 复选框与在Text内显示多行文字 164
9.2 Tkinter与Matplotlib的整合 166
9.2.1 整合的基础:Canvas控件 166
9.2.2 在Canvas上绘制Matplotlib图形 167
9.2.3 在GUI窗口内绘制K线图 169
9.3 股票范例程序:绘制KDJ指标 171
9.3.1 KDJ指标的计算过程 171
9.3.2 绘制静态的KDJ指标线 172
9.3.3 根据界面的输入绘制动态的KDJ线 175
9.4 验证基于KDJ指标的交易策略 179
9.4.1 KDJ指标对交易的指导作用 180
9.4.2 基于Tkinter验证KDJ指标的买点 180
9.4.3 基于Tkinter验证KDJ指标的卖点 183
9.5 本章小结 184
第10章 基于RSI范例程序实现邮件功能 185
10.1 实现发邮件的功能 185
10.1.1 发送简单格式的邮件(无收件人信息) 185
10.1.2 发送HTML格式的邮件(显示收件人) 187
10.1.3 包含本文附件的邮件(多个收件人) 188
10.1.4 在正文中嵌入图片 189
10.2 以邮件的形式发送RSI指标图 191
10.2.1 RSI指标的原理和算法描述 191
10.2.2 通过范例程序观察RSI的算法 192
10.2.3 把Matplotlib绘制的RSI图存为图片 193
10.2.4 RSI整合K线图后以邮件形式发送 195
10.3 以邮件的形式发送基于RSI指标的买卖点 198
10.3.1 RSI指标对买卖点的指导意义 199
10.3.2 基于RSI指标计算买点并以邮件的形式发出 199
10.3.3 基于RSI指标计算卖点并以邮件的形式发出 202
10.4 本章小结 204
第11章 用BIAS范例讲述DJANGO框架 205
11.1 基于WSGI规范的Web编程 205
11.1.1 基于WSGI规范的Python Web代码 205
11.1.2 再加入处理GET请求的功能 206
11.2 通过Django框架开发Web项目 207
11.2.1 安装Django组件 207
11.2.2 创建并运行Django 208
11.2.3 从Form表单入手扩展Django框架 210
11.2.4 运行范例程序了解基于MVC的调用模式 212
11.2.5 Django框架与Matplotlib的整合 214
11.3 绘制乖离率BIAS指标 216
11.3.1 BIAS指标的核心思想和算法 216
11.3.2 绘制K线与BIAS指标图的整合效果 216
11.3.3 基于BIAS指标的买卖策略 218
11.3.4 在Django框架中绘制BIAS指标图 219
11.3.5 在Django框架中验证买点策略 224
11.3.6 在Django框架中验证卖点策略 224
11.4 本章小结 226
第12章 以OBV范例深入讲述DJANGO框架 228
12.1 在Django框架内引入日志 228
12.1.1 不同级别日志的使用场合 228
12.1.2 向控制台和文件输出不同级别的日志 229
12.2 在Django框架内引入数据库 234
12.2.1 整合并连接MySQL数据库 234
12.2.2 以Model的方式进行增删改查操作 236
12.2.3 使用查询条件获取数据 239
12.2.4 以SQL语句的方式读写数据库 241
12.3 绘制OBV指标图 241
12.3.1 OBV指标的原理以及算法 242
12.3.2 绘制K线、均线和OBV指标图的整合效果图 242
12.4 在Django框架内整合日志与数据库 245
12.4.1 搭建Django环境 245
12.4.2 把数据插入到数据表中(含日志打印) 246
12.4.3 验证基于OBV指标的买卖策略 252
12.5 本章小结 255
第13章 以股票预测范例入门机器学习 256
13.1 用线性回归算法预测股票 256
13.1.1 安装开发环境库 256
13.1.2 从波士顿房价范例初识线性回归 257
13.1.3 实现基于多个特征值的线性回归 261
13.1.4 fit函数训练参数的标准和方法 262
13.1.5 训练集、验证集和测试集 263
13.1.6 预测股票价格 265
13.2 通过SVM预测股票涨跌 267
13.2.1 通过简单的范例程序了解SVM的分类作用 268
13.2.2 数据标准化处理 269
13.2.3 预测股票涨跌 270
13.2.4 定量观察预测结果 273
13.3 本章小结 274
|
內容試閱:
|
前言
如果你对股票大数据分析感兴趣,又想学习一门适合进行这类大数据分析的通用语言,那么本书一定是不错的选择。
从知识体系上来看,本书的内容涵盖Python项目开发所需的知识点,包括Python基础语法知识、基于Pandas的大数据分析技术、基于Matplotlib的可视化编程技术、Python爬虫技术和基于Django的网络编程技术,在本书的最后章节,讲述入门级的机器学习编程技术。
本书的作者具有多年Python的开发经验,谙熟Python高级开发所需要掌握的知识体系,也非常清楚从零基础学Python升级到应用开发可能会走的弯路,所以在本书的内容安排上:第一,对Python零基础人群讲述必要的知识点;第二,在讲述诸多知识点时都结合实际的范例程序;第三,在针对具体范例程序讲解时,会见缝插针地讲述从范例项目程序中提炼出来的开发经验。
本书的大多数范例程序基于股票分析的技术指标,部分范例程序还结合了机器学习和爬虫的使用。比如,根据股票代码爬取股票交易数据的范例程序来讲述爬虫技术和正则表达式,通过K线均线和成交量图的范例程序来讲述Matplotlib知识点,结合股票技术指标BIAS和OBV的范例程序来讲述Django框架,用股票走势预测的范例程序来讲述机器学习。在用股票分析的范例程序讲述知识点的同时,还会给出验证特定指标交易策略的范例程序源代码。
作者相信用这些饶有兴趣的范例程序来学习Python,可以激发读者学习的兴趣,也就不用担心在学习过程中半途而废。而且,本书的范例程序大多篇幅适中,对于进行课程设计或大学毕业设计的读者,本书也非常适合作为参考用书。
如果读者对股票交易知之甚少,也不用担心无法看懂本书中的股票分析范例程序,这是因为:
? 本书以通俗易懂的文字讲述相关股票指标的含义和算法;
? 在给出待验证的股票交易策略时,所用到的数学方法仅限于加减乘除;
? 在用股票预测范例程序讲述机器学习时,计算方差用到的最复杂的数学公式只是二次函数,这是初中数学的知识。
由于本书是结合股票分析的范例带领读者入门Python语言,因此在读完本书之后,大家不仅能掌握Python开发所需的知识点,而且还能对股票技术指标乃至基于股票指标的交易策略有一定的理解。
为了让本书的读者能高效地理解本书的范例和知识点,作者在编写本书时,处处留心、字字斟酌,将书中所有范例程序代码均按行编号,读者在阅读时能看到大量某行的代码是含义这类说明,这样做的目的是希望帮助读者没有遗漏地掌握各知识点的应用。再者,本书组织的文字里,尽量避免艰深、晦涩的技术行话,而是用朴素的文字,由浅入深地讲述Python语言的应用要点。
本书在编写过程中,得到了成立明老师的大力支持,她负责了本书第2~7章的编写工作,在此表示诚挚的感谢。由于学识浅陋,书中难免有疏漏之处,敬请读者批评指正。
本书为读者提供多媒体视频教学及范例程序的完整源代码,请扫描下方的二维码获取下载:
如果下载有问题,请电子邮件联系booksaga@126.com,邮件主题为求基于股票大数据分析的Python入门实战(视频教学版)。
作 者
2020年1月
|
|