第1章 NumPy快速入门  1
 1.1 Python  1
 1.2 动手实践:在不同的操作系统上安装Python  1
 1.3 Windows  2
 1.4 动手实践:在Windows上安装NumPy、Matplotlib、SciPy和IPython  2
 1.5 Linux  4
 1.6 动手实践:在Linux上安装NumPy、Matplotlib、SciPy和IPython  5
 1.7 Mac OS X  5
 1.8 动手实践:在Mac OS X上安装NumPy、Matplotlib和SciPy  5
 1.9 动手实践:使用MacPorts或Fink安装NumPy、SciPy、Matplotlib和IPython  7
 1.10 编译源代码  8
 1.11 数组对象  8
 1.12 动手实践:向量加法  8
 1.13 IPython:一个交互式shell工具  11
 1.14 在线资源和帮助  14
 1.15 本章小结  15
 第2章 NumPy基础  16
 2.1 NumPy数组对象  16
 2.2 动手实践:创建多维数组  17
 2.2.1 选取数组元素  18
 2.2.2 NumPy数据类型  19
 2.2.3 数据类型对象  20
 2.2.4 字符编码  20
 2.2.5 自定义数据类型  21
 2.2.6 dtype类的属性  22
 2.3 动手实践:创建自定义数据类型  22
 2.4 一维数组的索引和切片  23
 2.5 动手实践:多维数组的切片和索引  23
 2.6 动手实践:改变数组的维度  26
 2.7 数组的组合  27
 2.8 动手实践:组合数组  27
 2.9 数组的分割  30
 2.10 动手实践:分割数组  30
 2.11 数组的属性  32
 2.12 动手实践:数组的转换  34
 2.13 本章小结  35
 第3章 常用函数  36
 3.1 文件读写  36
 3.2 动手实践:读写文件  36
 3.3 CSV文件  37
 3.4 动手实践:读入CSV文件  37
 3.5 成交量加权平均价格(VWAP)  38
 3.6 动手实践:计算成交量加权平均价格  38
 3.6.1 算术平均值函数  38
 3.6.2 时间加权平均价格  39
 3.7 取值范围  39
 3.8 动手实践:找到最大值和最小值  40
 3.9 统计分析  41
 3.10 动手实践:简单统计分析  41
 3.11 股票收益率  43
 3.12 动手实践:分析股票收益率  43
 3.13 日期分析  45
 3.14 动手实践:分析日期数据  45
 3.15 周汇总  48
 3.16 动手实践:汇总数据  48
 3.17 真实波动幅度均值(ATR)  52
 3.18 动手实践:计算真实波动幅度均值  52
 3.19 简单移动平均线  54
 3.20 动手实践:计算简单移动平均线  54
 3.21 指数移动平均线  56
 3.22 动手实践:计算指数移动平均线  56
 3.23 布林带  58
 3.24 动手实践:绘制布林带  58
 3.25 线性模型  61
 3.26 动手实践:用线性模型预测价格  61
 3.27 趋势线  63
 3.28 动手实践:绘制趋势线  63
 3.29 ndarray对象的方法  66
 3.30 动手实践:数组的修剪和压缩  67
 3.31 阶乘  67
 3.32 动手实践:计算阶乘  67
 3.33 本章小结  68
 第4章 便捷函数  70
 4.1 相关性  70
 4.2 动手实践:股票相关性分析  71
 4.3 多项式  74
 4.4 动手实践:多项式拟合  74
 4.5 净额成交量  77
 4.6 动手实践:计算OBV  78
 4.7 交易过程模拟  79
 4.8 动手实践:避免使用循环  80
 4.9 数据平滑  82
 4.10 动手实践:使用hanning函数平滑数据  82
 4.11 本章小结  85
 第5章 矩阵和通用函数  86
 5.1 矩阵  86
 5.2 动手实践:创建矩阵  86
 5.3 从已有矩阵创建新矩阵  88
 5.4 动手实践:从已有矩阵创建新矩阵  88
 5.5 通用函数  89
 5.6 动手实践:创建通用函数  89
 5.7 通用函数的方法  90
 5.8 动手实践:在add上调用通用函数的方法  91
 5.9 算术运算  93
 5.10 动手实践:数组的除法运算  93
 5.11 模运算  95
 5.12 动手实践:模运算  95
 5.13 斐波那契数列  96
 5.14 动手实践:计算斐波那契数列  96
 5.15 利萨茹曲线  97
 5.16 动手实践:绘制利萨茹曲线  97
 5.17 方波  99
 5.18 动手实践:绘制方波  99
 5.19 锯齿波和三角波  100
 5.20 动手实践:绘制锯齿波和三角波  101
 5.21 位操作函数和比较函数  102
 5.22 动手实践:玩转二进制位  102
 5.23 本章小结  104
 第6章 深入学习NumPy模块  105
 6.1 线性代数  105
 6.2 动手实践:计算逆矩阵  105
 6.3 求解线性方程组  107
 6.4 动手实践:求解线性方程组  107
 6.5 特征值和特征向量  108
 6.6 动手实践:求解特征值和特征向量  108
 6.7 奇异值分解  110
 6.8 动手实践:分解矩阵  110
 6.9 广义逆矩阵  112
 6.10 动手实践:计算广义逆矩阵  112
 6.11 行列式  113
 6.12 动手实践:计算矩阵的行列式  113
 6.13 快速傅里叶变换  114
 6.14 动手实践:计算傅里叶变换  114
 6.15 移频  115
 6.16 动手实践:移频  116
 6.17 随机数  117
 6.18 动手实践:硬币赌博游戏  117
 6.19 超几何分布  119
 6.20 动手实践:模拟游戏秀节目  119
 6.21 连续分布  121
 6.22 动手实践:绘制正态分布  121
 6.23 对数正态分布  122
 6.24 动手实践:绘制对数正态分布  122
 6.25 本章小结  123
 第7章 专用函数  124
 7.1 排序  124
 7.2 动手实践:按字典序排序  124
 7.3 复数  126
 7.4 动手实践:对复数进行排序  126
 7.5 搜索  127
 7.6 动手实践:使用searchsorted函数  127
 7.7 数组元素抽取  128
 7.8 动手实践:从数组中抽取元素  128
 7.9 金融函数  129
 7.10 动手实践:计算终值  130
 7.11 现值  131
 7.12 动手实践:计算现值  131
 7.13 净现值  131
 7.14 动手实践:计算净现值  132
 7.15 内部收益率  132
 7.16 动手实践:计算内部收益率  132
 7.17 分期付款  133
 7.18 动手实践:计算分期付款  133
 7.19 付款期数  133
 7.20 动手实践:计算付款期数  134
 7.21 利率  134
 7.22 动手实践:计算利率  134
 7.23 窗函数  134
 7.24 动手实践:绘制巴特利特窗  135
 7.25 布莱克曼窗  135
 7.26 动手实践:使用布莱克曼窗平滑股价数据  136
 7.27 汉明窗  137
 7.28 动手实践:绘制汉明窗  137
 7.29 凯泽窗  138
 7.30 动手实践:绘制凯泽窗  138
 7.31 专用数学函数  139
 7.32 动手实践:绘制修正的贝塞尔函数  139
 7.33 sinc函数  140
 7.34 动手实践:绘制sinc函数  140
 7.35 本章小结  142
 第8章 质量控制  143
 8.1 断言函数  143
 8.2 动手实践:使用assert_almost_equal断言近似相等  144
 8.3 近似相等  145
 8.4 动手实践:使用assert_approx_equal断言近似相等  145
 8.5 数组近似相等  146
 8.6 动手实践:断言数组近似相等  146
 8.7 数组相等  147
 8.8 动手实践:比较数组  147
 8.9 数组排序  148
 8.10 动手实践:核对数组排序  148
 8.11 对象比较  149
 8.12 动手实践:比较对象  149
 8.13 字符串比较  149
 8.14 动手实践:比较字符串  150
 8.15 浮点数比较  150
 8.16 动手实践:使用assert_array_ almost_equal_nulp比较浮点数  151
 8.17 多ULP的浮点数比较  151
 8.18 动手实践:设置maxulp并比较浮点数  151
 8.19 单元测试  152
 8.20 动手实践:编写单元测试  152
 8.21 nose和测试装饰器  154
 8.22 动手实践:使用测试装饰器  155
 8.23 文档字符串  157
 8.24 动手实践:执行文档字符串测试  157
 8.25 本章小结  158
 第9章 使用Matplotlib绘图  159
 9.1 简单绘图  159
 9.2 动手实践:绘制多项式函数  159
 9.3 格式字符串  161
 9.4 动手实践:绘制多项式函数及其导函数  161
 9.5 子图  163
 9.6 动手实践:绘制多项式函数及其导函数  163
 9.7 财经  165
 9.8 动手实践:绘制全年股票价格  165
 9.9 直方图  167
 9.10 动手实践:绘制股价分布直方图  167
 9.11 对数坐标图  169
 9.12 动手实践:绘制股票成交量  169
 9.13 散点图  171
 9.14 动手实践:绘制股票收益率和成交量变化的散点图  171
 9.15 着色  173
 9.16 动手实践:根据条件进行着色  173
 9.17 图例和注释  175
 9.18 动手实践:使用图例和注释  175
 9.19 三维绘图  177
 9.20 动手实践:在三维空间中绘图  178
 9.21 等高线图  179
 9.22 动手实践:绘制色彩填充的等高线图  179
 9.23 动画  180
 9.24 动手实践:制作动画  180
 9.25 本章小结  182
 第10章 NumPy的扩展:SciPy  183
 10.1 MATLAB和Octave  183
 10.2 动手实践:保存和加载.mat文件  183
 10.3 统计  184
 10.4 动手实践:分析随机数  185
 10.5 样本比对和SciKits  187
 10.6 动手实践:比较股票对数收益率  187
 10.7 信号处理  190
 10.8 动手实践:检测QQQ股价的线性趋势  190
 10.9 傅里叶分析  192
 10.10 动手实践:对去除趋势后的信号进行滤波处理  192
 10.11 数学优化  194
 10.12 动手实践:拟合正弦波  195
 10.13 数值积分  197
 10.14 动手实践:计算高斯积分  198
 10.15 插值  198
 10.16 动手实践:一维插值  198
 10.17 图像处理  200
 10.18 动手实践:处理Lena图像  200
 10.19 音频处理  202
 10.20 动手实践:重复音频片段  202
 10.21 本章小结  204
 第11章 玩转Pygame  205
 11.1 Pygame  205
 11.2 动手实践:安装Pygame  205
 11.3 Hello World  206
 11.4 动手实践:制作简单游戏  206
 11.5 动画  208
 11.6 动手实践:使用NumPy和Pygame制作动画对象  208
 11.7 Matplotlib  211
 11.8 动手实践:在Pygame中使用Matplotlib  211
 11.9 屏幕像素  214
 11.10 动手实践:访问屏幕像素  214
 11.11 人工智能  216
 11.12 动手实践:数据点聚类  216
 11.13 OpenGL和Pygame  218
 11.14 动手实践:绘制谢尔宾斯基地毯  218
 11.15 模拟游戏  221
 11.16 动手实践:模拟生命  221
 11.17 本章小结  224
 突击测验答案  225