Jupyter Notebook是一款交互式、功能强大的数据科学工具。它不仅高效、易上手,而且提供了强大的数据分析和可视化功能。另外,用户可以在Jupyter Notebook的网页中完成多种操作,例如编写代码并运行、展示代码的运行结果、编写说明文档等。
《Jupyter金融应用:从入门到实践》旨在为初学者提供一种快速学习的方法,从基础知识、金融数据处理、机器学习与金融建模、高级功能几个方面展示了Jupyter Notebook的强大功能以降低读者完成数据分析或建模任务的门槛,帮助读者运用Jupyter Notebook完成数据分析任务,更高效地处理金融数据。
《Jupyter金融应用:从入门到实践》适合数据分析人员以及有志于从事金融数据分析、金融数据建模工作的读者阅读,也适合统计学、金融学、计算机等专业的师生阅读参考。
1. 北大教研团队创作
本书由北京大学的教研团队编写,融合了作者团队在计算机编程和金融科技方向的经验成果,想要学习Jupyter编程的读者,以及想使用Jupyter完成金融数据分析或可视化任务的读者,不要错过这场名校名师讲堂。
2. 内容强大
本书主打入门和实战,因此学习门槛较低,从软件安装到环境配置,再到基本的编程学习,都是图文结合、简洁易懂的形式;同时,书中结合丰富的金融案例,循序渐进地由理论深入到案例实战,更能贴合读者的实操需求。
3. 配套资源丰富
本书配备丰富的配套资源,包括适合读者自学的源代码包、与书配套的彩图、习题和对应的参考答案;同时,本书为了方便老师们的教学需求,还提供了教学可用的PPT。
傅玉峰 北京大学硕士,先后就职于中国建设银行、北京大学信息科学技术学院,具有丰富的金融大数据分析与金融风控建模的经验。 孙惠平 北京大学软件与微电子学院讲师,北京大学网络与信息安全实验室和信息科学技术学院区块链研究中心成员,研究方向为智能风控、区块链和身份认证,主讲信息安全工程区块链数据分析工具与实践等课程。 陈钟 北京大学教授、博导,北京大学信息科学技术学院区块链研究中心主任和北京大学网络与信息安全实验室主任。中国计算机学会会士、常务理事、信息保密专业委员会副主任委员,教育部高等学校计算机类教学指导委员会副主任委员,中国软件行业协会副理事长,中国开源软件推进联盟副主席,主要研究领域为面向领域的软件工程、网络与信息安全。
第 一部分 基 础 知 识
第 1章 Jupyter Notebook基础知识 2
1.1 什么是Jupyter Notebook 2
1.1.1 起源 3
1.1.2 特点 3
1.1.3 应用领域 4
1.2 在Windows上安装Jupyter Notebook 4
1.2.1 准备工作 5
1.2.2 通过Anaconda安装 5
1.3 在macOS上安装Jupyter Notebook 9
1.3.1 准备工作 9
1.3.2 通过Anaconda安装 10
1.3.3 通过命令行安装 14
1.4 在Linux上安装Jupyter Notebook 16
1.4.1 准备工作 16
1.4.2 通过命令行安装Anaconda 17
1.5 软件包管理 20
1.5.1 通过Anaconda管理软件包 20
1.5.2 通过pip管理软件包 21
1.6 小结 22
第 2章 Jupyter Notebook界面 23
2.1 主界面 23
2.1.1 文件(Files)界面 24
2.1.2 运行(Running)界面 26
2.1.3 集群(Clusters)界面 27
2.2 菜单栏 27
2.2.1 文件(File)菜单 27
2.2.2 编辑(Edit)菜单 29
2.2.3 查看(View)菜单 29
2.2.4 插入(Insert)菜单 30
2.2.5 单元格(Cell)菜单 30
2.2.6 内核服务(Kernel)菜单 31
2.2.7 组件(Widgets)菜单 31
2.2.8 帮助(Help)菜单 33
2.3 工具栏 33
2.4 交互区 35
2.5 小结 35
第3章 Jupyter Notebook基础操作 37
3.1 初次运行 37
3.2 单元格的使用 38
3.2.1 代码单元格 39
3.2.2 Markdown 单元格 39
3.2.3 原生单元格 40
3.2.4 编辑模式与命令模式 40
3.3 快捷键的使用 42
3.3.1 macOS与Windows快捷键的差异 42
3.3.2 编辑模式常用快捷键 44
3.3.3 命令模式常用快捷键 45
3.4 魔法命令的使用 47
3.4.1 魔法命令基本用法 47
3.4.2 常用的魔法命令 48
3.5 命令行的使用 50
3.5.1 命令行的基本用法 50
3.5.2 命令行常用的命令 51
3.6 小结 52
第4章 Jupyter Notebook文档编写 53
4.1 Markdown基本语法 53
4.1.1 标题 54
4.1.2 段落格式 56
4.1.3 文字格式 57
4.1.4 列表格式 59
4.1.5 区块格式 60
4.1.6 代码格式 63
4.1.7 链接格式 64
4.1.8 表格格式 65
4.1.9 图片格式 66
4.2 Markdown高级技巧 68
4.2.1 HTML元素 68
4.2.2 转义 70
4.2.3 公式 71
4.3 文档共享 73
4.3.1 把文件导出成多种格式 73
4.3.2 使用nbviewer共享 74
4.4 小结 75
第二部分 金融数据处理
第5章 基本数据操作 78
5.1 基本数据结构 79
5.1.1 元组 79
5.1.2 列表 81
5.1.3 字典 84
5.1.4 集合 87
5.2 NumPy库 89
5.2.1 NumPy简介 89
5.2.2 常规数组 89
5.2.3 结构化数组 95
5.2.4 矩阵操作 95
5.3 Pandas库 97
5.3.1 Pandas简介 97
5.3.2 Series数据结构 97
5.3.3 DataFrame数据结构 100
5.4 小结 108
第6章 数据存取 109
6.1 CSV数据存取 109
6.1.1 CSV数据读取 110
6.1.2 参数配置 111
6.1.3 CSV数据保存 112
6.2 JSON数据存取 113
6.2.1 JSON数据读取 113
6.2.2 参数遍历 114
6.2.3 JSON数据生成 117
6.3 数据库中的数据存取 117
6.3.1 数据库初始化 117
6.3.2 常用操作 119
6.4 文本文件中的数据存取 120
6.4.1 文件数据读取 120
6.4.2 常用操作 122
6.5 小结 123
第7章 数据可视化 124
7.1 可视化基础 124
7.1.1 折线图 125
7.1.2 柱状图 127
7.1.3 散点图 130
7.1.4 饼图 134
7.1.5 直方图 136
7.1.6 箱型图 139
7.2 可视化进阶 142
7.2.1 组合子图 142
7.2.2 坐标轴的设置 147
7.2.3 图形的设置 155
7.2.4 图表分享 161
7.3 可视化拓展 161
7.3.1 3D图 161
7.3.2 热力图 166
7.4 小结 168
第三部分 机器学习与金融建模
第8章 机器学习 170
8.1 机器学习概述 170
8.1.1 基本概念 171
8.1.2 机器学习算法分类 172
8.2 机器学习的常用模型 174
8.2.1 线性回归 175
8.2.2 逻辑回归 175
8.2.3 支持向量机 176
8.2.4 决策树 177
8.2.5 随机森林 178
8.2.6 K均值聚类 179
8.3 小结 179
第9章 scikit-learn 180
9.1 安装 180
9.2 常用函数 181
9.2.1 线性回归 182
9.2.2 逻辑回归 183
9.2.3 支持向量机 185
9.2.4 决策树 186
9.2.5 随机森林 188
9.2.6 K均值聚类 189
9.3 小结 190
第 10章 产品销售预测模型实例 191
10.1 场景介绍 191
10.2 数据准备 192
10.2.1 数据探索 192
10.2.2 数据划分 196
10.3 建立模型 197
10.3.1 拟合优度 197
10.3.2 模型对比 198
10.4 验证评估 200
10.4.1 模型表现 200
10.4.2 模型解释 201
10.5 小结 202
第 11章 信用评分模型实例 203
11.1 场景介绍 203
11.2 数据准备 204
11.2.1 数据概况 204
11.2.2 数据探索 205
11.2.3 特征选择 209
11.2.4 数据采样 213
11.3 建立模型 214
11.4 验证评估 215
11.4.1 分类评价指标 215
11.4.2 横向对比模型 218
11.5 小结 221
第 12章 反欺诈模型实例 222
12.1 场景介绍 222
12.2 数据准备 223
12.2.1 特征转换 223
12.2.2 特征缩放 224
12.3 建立模型 225
12.3.1 确定类的数量 226
12.3.2 类的可视化 228
12.4 验证评估 228
12.5 小结 229
第四部分 高 级 功 能
第 13章 安全配置 232
13.1 访问控制 232
13.1.1 设置访问域 232
13.1.2 设置访问IP 233
13.1.3 端口配置 234
13.1.4 URL前缀配置 234
13.2 安全认证 235
13.2.1 Token认证 236
13.2.2 口令认证 237
13.2.3 取消认证 239
13.3 SSL配置 239
13.3.1 创建SSL证书 240
13.3.2 SSL证书设置 241
13.4 小结 242
第 14章 其他内核的配置 243
14.1 R内核的配置 244
14.1.1 通过Anaconda图形化界面下载并安装R内核 244
14.1.2 通过conda命令行下载并安装R内核 245
14.1.3 查看安装结果并编写运行一个R脚本 246
14.2 Julia内核的配置 247
14.2.1 安装Julia 247
14.2.2 在Jupyter中配置Julia 249
14.2.3 查看安装结果并编写运行一个Julia脚本 249
14.3 JavaScript内核的配置 250
14.3.1 检查Node.js和npm 250
14.3.2 安装管理Node.js和npm 251
14.3.3 安装JavaScript内核 252
14.3.4 在Jupyter Notebook中使用JavaScript内核 253
14.4 Scala内核的配置 254
14.4.1 Java安装与环境配置 254
14.4.2 Scala下载与安装 256
14.4.3 在Jupyter Notebook中使用Scala内核 257
14.5 Spark内核的配置 258
14.5.1 安装Spark 258
14.5.2 安装SBT 259
14.5.3 在Jupyter Notebook中使用Spark内核 260
14.6 小结 264
第 15章 JupyterHub多用户配置 265
15.1 为什么需要多用户配置 265
15.2 JupyterHub的安装 267
15.2.1 准备工作 267
15.2.2 安装步骤 267
15.2.3 启动 269
15.3 JupyterHub的配置 270
15.3.1 基础配置 271
15.3.2 多用户配置 272
15.4 小结 274