元组能存储线性表型数据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映射函数map27
2.4.2筛选函数filter28
2.4.3累计处理函数reduce29
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.1Python中的多态特性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通过try…except从句处理异常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.3GET和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.1Matplotlib库的基础用法83
6.1.1绘制柱状图和折线图83
6.1.2设置坐标轴刻度和标签信息85
6.1.3增加图例和图表标题86
6.2Matplotlib图形库的常用技巧87
6.2.1绘制含中文字符的饼图87
6.2.2柱状图和直方图的区别89
6.2.3Figure对象与绘制子图91
6.2.4调用subplot方法绘制子图93
6.2.5通过Axes设置数字型的坐标轴刻度和标签94
6.2.6通过Axes设置日期型的坐标轴刻度和标签96
6.3绘制股市K线图97
6.3.1K线图的组成要素97
6.3.2通过直方图和直线绘制K线图98
6.3.3通过mpl_finance库绘制K线图99
6.4K线对未来行情的预判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.1NumPy库的常见用法106
7.1.1range与arange方法比较106
7.1.2ndarray的常见用法107
7.1.3数值型索引和布尔型索引108
7.1.4通过切片获取数组中指定的元素109
7.1.5切片与共享内存110
7.1.6常用的科学计算函数111
7.2Pandas与分析处理数据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.3K线整合均线118
7.3.1均线的概念118
7.3.2举例说明均线的计算方法119
7.3.3移动窗口函数rolling119
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.1Python连接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.1MACD指标的计算方式145
8.3.2遍历数据表数据,绘制MACD指标146
8.3.3关于数据误差的说明149
8.3.4MACD与K线均线的整合效果图150
8.4验证基于MACD指标的买卖点153
8.4.1MACD指标的指导意义与盲点153
8.4.2验证基于柱状图和金叉的买点154
8.4.3验证基于柱状图和死叉的卖点157
8.5本章小结159
第9章以KDJ范例程序学习GUI编程160
9.1Tkinter的常用控件160
9.1.1实现带标签、文本框和按钮的GUI界面160
9.1.2实现下拉框控件162
9.1.3单选框和多行文本框163
9.1.4复选框与在Text内显示多行文字164
9.2Tkinter与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.1KDJ指标的计算过程171
9.3.2绘制静态的KDJ指标线172
9.3.3根据界面的输入绘制动态的KDJ线175
9.4验证基于KDJ指标的交易策略179
9.4.1KDJ指标对交易的指导作用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.1RSI指标的原理和算法描述191
10.2.2通过范例程序观察RSI的算法192
10.2.3把Matplotlib绘制的RSI图存为图片193
10.2.4RSI整合K线图后以邮件形式发送195
10.3以邮件的形式发送基于RSI指标的买卖点198
10.3.1RSI指标对买卖点的指导意义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规范的PythonWeb代码205
11.1.2再加入处理GET请求的功能206
11.2通过Django框架开发Web项目207
11.2.1安装Django组件207
11.2.2创建并运行Django208
11.2.3从Form表单入手扩展Django框架210
11.2.4运行范例程序了解基于MVC的调用模式212
11.2.5Django框架与Matplotlib的整合214
11.3绘制乖离率BIAS指标216
11.3.1BIAS指标的核心思想和算法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.1OBV指标的原理以及算法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.4fit函数训练参数的标准和方法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