描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115572257丛书名: 金融科技系列
1.本书以金融分析与建模为主题,系统介绍R编程以及R包的用法。
2.通过丰富的金融数据和案例,展示了R在数据可视化和数据分析方面的强大功能。
3.本书融合了作者在教学中的经验所得,配合每章的练习题可以更好地帮助读者巩固所学知识。
4.通过阅读本书,读者可学习多样的金融建模思想和解决方案。
R既是统计、挖掘、计算、分析、制图等方面的工具,也是一个强大的开发与应用平台。几乎任何与数据相关的难题,大多可以借助R语言来解决。而金融领域正是与数据密切相关的行业,可以通过R实现量化金融分析与建模。
本书系统地介绍了R的包与编程方法,并通过丰富的金融案例展示了R在金融分析和金融建模方面的应用。本书分为5篇,共30章,从R语言基础、金融模型及基础知识、数据及相关操作、R在金融建模中的应用和R技能几个主题出发,讲解了R在金融量化中的应用和技巧。
本书适合从事金融数据分析、金融量化建模的读者学习。通过阅读本书,读者将了解全球化的金融市场数据,学习多样的金融建模思想和解决方案。
目 录
第 1篇 R语言基础
第 1章 R简介 2
1.1 下载和安装R 2
1.2 启动和退出R 2
1.3 R的基本概念和功能 3
1.4 ls()函数和rm()函数 4
1.5 换行符号( )及R提示符 5
1.6 寻求帮助 5
1.7 使用R作为一个普通计算器 6
1.8 找回以前的命令 7
1.9 比较ls()函数和dir()函数 7
1.10 R的精度 8
1.11 列出当前工作目录下的文件 8
1.12 改变当前的工作目录 8
1.13 改变启动R时的工作目录 9
1.14 R在金融建模中的优势与
障碍 9
1.15 练习题 10
第 2章 日期变量 12
2.1 as.Date()函数 12
2.2 将整数转换成日期变量 13
2.3 将日期变量定义为整数 13
2.4 将日期变量定义为字符串 14
2.5 从日期变量中提取年、
月、日 14
2.6 将字符串转换为整数或实数 15
2.7 合并字符串变量 15
2.8 将字符串转换成整数型日期
变量 16
2.9 选择日期作为日期变量 16
2.10 选择每个月的后一天 16
2.11 和日期有关的数据集 17
2.12 选择特定的工作日 18
2.13 cbind()函数和data.frame()
函数 18
2.14 seq()函数 19
2.15 显示当前日期 20
2.16 timeDate包 20
2.17 练习题 21
第3章 R的基本语法 23
3.1 for循环 23
3.2 利用取余函数改变输出格式 25
3.3 双循环 25
3.4 while循环 27
3.5 取消正在执行的程序 27
3.6 停止程序运行 28
3.7 向量和矩阵 29
3.8 条件语句 30
3.9 if()语句 30
3.10 if-else语句 31
3.11 if-else-if-else语句 31
3.12 逻辑或 32
3.13 逻辑与 32
3.14 各种条件语句的组合 32
3.15 练习题 32
第4章 用R作图 34
4.1 绘制单一的图 35
4.2 在横坐标及纵坐标上添加
注释 36
4.3 直方图 37
4.4 饼图 38
4.5 将某区域涂上阴影 39
4.6 把几个图并置 40
4.7 在图上添加希腊字母 40
4.8 将图保存为PDF文件 41
4.9 输出高分辨率的图像 41
4.10 重叠图 42
4.11 资本资产定价模型和有效前沿的
图示 43
4.12 输出高分辨率的图像 44
4.13 添加阴影区域 44
4.14 animation包 45
4.15 练习题 47
第5章 R包 49
5.1 从雅虎财经下载年报表 49
5.2 已加载和已安装的包 51
5.3 列出已安装的软件包 51
5.4 安装R软件包的第 2种方法 52
5.5 安装R软件包的第3种
方法 53
5.6 R包安装失败 54
5.7 .libPaths()函数 54
5.8 加载R软件包的3种方法 54
5.9 查找所有的R包 55
5.10 查找R包的手册 56
5.11 R包的相关函数 56
5.12 常用的R包指令 57
5.13 练习题 58
第 2篇 金融模型及基础知识
第6章 金融模型及基础知识 60
6.1 无限数求和公式 60
6.2 货币的时间价值 61
6.3 基本财务公式 61
6.4 有效利率的相互转换 64
6.5 净现值法则 65
6.6 内部收益率法则 66
6.7 内部收益率 66
6.8 投资回收期法则 67
6.9 增量现金流量法 68
6.10 与Excel有关的函数 68
6.11 练习题 69
第7章 编写简单的程序 71
7.1 简单的R程序 71
7.2 编写单行的R程序 71
7.3 函数参数的输入 72
7.3.1 按顺序输入参数 72
7.3.2 按关键词输入参数 73
7.3.3 混合型输入参数 73
7.4 编写多行的R程序 74
7.5 良好的代码缩进 75
7.6 R自带的程序编辑器 76
7.7 其他程序编辑器 76
7.8 程序名的后缀 77
7.9 运行R程序 77
7.9.1 用R自带的编译器 77
7.9.2 复制和粘贴 77
7.9.3 使用source()函数 78
7.10 变量名和巧用Tab键 79
7.10.1 有意义的变量名 79
7.10.2 巧妙地使用Tab键 80
7.11 输入参数的默认值 80
7.12 一个程序包含许多小函数 81
7.13 编写一个金融计算器 81
7.14 出错处理 82
7.15 练习题 82
第8章 财务报表分析 85
8.1 财务报表简介 85
8.2 获取财务报表 85
8.3 一个简单的例子 86
8.4 利润报表简介 86
8.5 资产负债表简介 87
8.6 现金流量报表简介 87
8.7 成比例的财务报表简介 88
8.8 一些常用的财务比率 88
8.9 下载财务报表 91
8.10 下载资产负债报表 92
8.11 下载现金流量报表 94
8.12 构建成比例的财务报表 94
8.13 下载和保存财务报表以供
Excel使用 95
8.14 3个有用的R数据集(is50、bs50
和cf50) 95
8.15 quantmod软件包 96
8.16 练习题 96
第9章 资本资产定价模型 98
9.1 资本资产定价模型简介 99
9.2 资本资产定价模型的公式 99
9.3 下载股票数据、无风险利率及
市场指数 100
9.4 几个R数据集(retDIBM、
prcDIBM等) 102
9.5 百分比收益率与对数
收益率 103
9.6 计算市场风险( ) 104
9.7 波动率之间的换算 106
9.8 如何计算滚动市场风险 107
9.9 估计股票的市场风险( ) 109
9.10 预测市场风险 109
9.11 用Scholes和William的方法
调整 109
9.12 用Dimson的方法调整 111
9.13 股票组合的市场风险( ) 112
9.14 练习题 112
第 10章 多因子线性模型和夏普
比率等 114
10.1 Fama-French三因子模型 114
10.2 小减大因子 115
10.3 高减低因子 115
10.4 为Fama-French模型生成R
数据集 115
10.5 运行Fama-French模型的R
代码 117
10.6 动势交易策略 117
10.7 计算夏普比率 118
10.8 计算特雷诺比率 119
10.9 基于52周股票价格点的
交易策略 119
10.10 Jensen的阿尔法值( ) 121
10.11 索提诺比率 122
10.12 练习题 123
第3篇 数据及相关操作
第 11章 开源数据 126
11.1 开源数据简介 127
11.2 雅虎财经 128
11.3 美联储数据库 129
11.4 French教授的数据库 129
11.5 美国证券交易委员会公司财务
报表数据库 129
11.6 用雅虎财经下载的CSV文件
估计收益率 130
11.7 生成日期变量 130
11.8 计算收益率 131
11.9 添加股票代码变量 132
11.10 把数据集保存到文本文件 133
11.11 生成R数据集 133
11.12 从雅虎财经下载市场指数
数据 134
11.13 从雅虎财经下载股票
数据 135
11.14 对程序进行微调 135
11.15 月频率数据和日频率数据 136
11.16 通过日收益率计算其他
收益率 136
11.17 不同R包中的函数 139
11.18 Quandl数据传输平台 143
11.19 练习题 144
第 12章 数据输入与日期变量 146
12.1 read.table()函数 146
12.2 colnames()函数 147
12.3 read.csv()函数 147
12.4 read.table(“clipboard”)函数 147
12.5 从被固定分隔符分隔的文件输入
数据 149
12.6 read.fwf()函数 149
12.7 load()函数 150
12.8 R数据集的后缀 150
12.9 从互联网下载数据 151
12.10 从作者网站下载数据 151
12.11 只输入几行数据 152
12.12 从外部输入数据 152
12.13 输入不规则格式的文件 153
12.14 as.Date()函数 154
12.15 将整数转换成日期变量 154
12.16 将整数变成真正意义上的
日期变量 155
12.17 从日期变量中提取年、
月、日 156
12.18 将字符变量转换为整数或
实数 157
12.19 合并字符串变量 157
12.20 将字符串转换成整数型日期
变量 157
12.21 选择具体日期作为日期
变量 158
12.22 选择每个月的后一天 159
12.23 选择特定的交易日 159
12.24 cbind()函数和data.frame()
函数 160
12.25 seq(as.Date)函数 161
12.26 timeDate包 161
12.27 练习题 161
第 13章 子集和数据集的合并 163
13.1 简介 163
13.2 标量、矢量和矩阵 165
13.3 从向量获取子集 166
13.4 获取特定年份的数据 167
13.5 head()函数 168
13.6 cbind()函数 169
13.7 删除循环规则 170
13.8 添加行 171
13.9 data.frame()函数 171
13.10 用公共变量合并两个
数据集 172
13.11 练习题 174
第 14章 矩阵及操作 175
14.1 矩阵的定义 175
14.2 用cbind()将向量组合成
矩阵 176
14.3 循环规则 176
14.4 矩阵的单一数据类型 177
14.5 将矢量转换为矩阵 177
14.6 矩阵的双重循环 179
14.7 as.matrix()函数和is.matrix()
函数 180
14.8 矩阵的子集 180
14.9 将列名称添加到矩阵上 181
14.10 使用列名称 181
14.11 求解线性公式 182
14.12 矩阵的逆矩阵 183
14.13 测试不同类型的数据格式 184
14.14 练习题 184
第 15章 数据框与数据列 186
15.1 简介 186
15.2 data.frame()函数的功能 187
15.3 循环规则 187
15.4 如何添加列名称 188
15.5 attach()函数 188
15.6 data.frame()的数据类型是
列表(list) 189
15.7 从输入文件中读取数据 189
15.8 将data.frame转换成数据
矩阵 190
15.9 生成列表(list) 191
15.10 length()函数 192
15.11 调用数据列中的元素 192
15.12 x[1]和x[[1]]的区别 192
15.13 将更多数据添加到现有的
数据列中 193
15.14 区分长变量名 193
15.15 添加更多的数据项 194
15.16 class()函数 194
15.17 串联列表 194
15.18 练习题 194
第 16章 数据或结果的输出 197
16.1 输出到文本文件 197
16.2 write.table()函数 198
16.3 输出到CSV文件 198
16.4 write()函数 199
16.5 save()函数和load()函数 200
16.6 把数据添加到文本文件 201
16.7 cat()函数 201
16.8 写入二进制文件 201
16.9 如何保存PDF文件 203
16.10 把数据写到剪贴板 204
16.11 行名称和列名称 204
16.12 sink()函数 205
16.13 临时文件 205
16.14 save.image()函数 206
16.15 .RData数据集 206
16.16 练习题 207
第 17章 R和Excel的交互 209
17.1 安装与Excel相关的R包 209
17.2 与Excel相关的R包手册 210
17.3 通过剪贴板将数据写到
Excel 211
17.4 通过剪贴板将Excel数据
读入R 211
17.5 read.table()函数和read.csv()
函数 212
17.6 read.xlsx()函数 212
17.7 read_xlsx函数 215
17.8 system.file()函数 215
17.9 read_excel()函数 215
17.10 write_xlsx()函数 216
17.11 相关的例子及数据集 217
17.12 练习题 217
第 18章 读写二进制数据 219
18.1 生成二进制数据集 219
18.2 大尾数法和小尾数法 220
18.3 writeBin()函数 220
18.4 readBin()函数 221
18.5 写入二进制数据文件 221
18.6 读取二进制数据文件 224
18.7 高频数据 224
18.8 TORQ高频数据 225
18.9 练习题 228
第 19章 字符串变量的操作 231
19.1 为字符串变量赋值 231
19.2 检查变量是否为字符型 231
19.3 转换大小写 232
19.4 计算字符串长度 232
19.5 取部分字符串 232
19.6 合并字符串 233
19.7 将数字转换成字符串 233
19.8 将字符串转换成实数 234
19.9 替换字符 235
19.10 重复符号 235
19.11 删除字符串的前导空格或
尾随空格 235
19.12 字符串匹配 236
19.13 字符串比较中的逻辑或 237
19.14 子字符串的固定组合 238
19.15 字符串比较时的逻辑非 238
19.16 检测字符串是否存在 238
19.17 将字符串转换成整数 239
19.18 向量和矩阵的行列名称 239
19.19 代表26个字母变量 239
19.20 使用短名的函数 240
19.21 美国信息交换标准码
(ASCII) 241
19.22 练习题 241
第4篇 R在金融建模中的应用
第 20章 各类检验及事件研究 244
20.1 两个关键值(T和P) 244
20.2 对一个数据集进行T检验 245
20.3 检验两个数据集的均值是否
相等 246
20.4 F检验 248
20.5 Durbin-Watson的自相关
检验 251
20.6 Granger因果关系检验 252
20.7 Wilcoxon相关性检验 254
20.8 Pearson相关性和Spearman排列
相关性 255
20.9 正态检验 256
20.10 事件对股票价格的影响 257
20.11 练习题 258
第 21章 期权定价模型 261
21.1 期权简介 262
21.2 输入和输出 263
21.3 简单作图 264
21.4 期权的支付函数及图示 264
21.5 期权的盈亏函数 266
21.6 无红利股票的期权定价(Black-
Scholes-Merton模型) 267
21.7 累积正态分布的R函数 268
21.8 对冲、投机和套利 269
21.9 期权的交易策略 269
21.10 与期权有关的希腊字母 271
21.11 看涨期权与看跌期权 272
21.12 下载公开期权数据 273
21.13 隐含波动率 273
21.14 练习题 274
第 22章 蒙特卡罗随机模拟法 275
22.1 随机模拟在财务分析上的
应用 275
22.2 正态分布简介 277
22.3 生成随机数 278
22.4 Q-Q图 278
22.5 蒙特卡罗随机模拟 279
22.6 模拟股票价格的路径 279
22.7 利用蒙特卡罗模拟来验证Black-
Scholes-Merton期权模型 281
22.8 利用蒙特卡罗模拟计算亚式期权
(Asian Options) 282
22.9 如何生成两个相关的随机数
序列 282
22.10 如何从n只股票中随机选择m
只股票 283
22.11 sobol()函数 284
22.12 Shapiro-Wilk正态分布
检验 285
22.13 蒙特卡罗模拟所需的
时间 286
22.14 练习题 286
第 23章 投资组合理论 289
23.1 投资组合简介 289
23.2 方差、标准差和相关性 290
23.3 Markowitz均值-方差优化
理论 291
23.4 单期投资组合优化 292
23.5 股票收益率矩阵 292
23.6 投资组合的收益率 294
23.7 两只股票投资组合收益率的
标准离差(波动率) 295
23.8 n只股票投资组合收益率的
标准离差 297
23.9 方差-协方差矩阵 297
23.10 相关矩阵 298
23.11 两个股票组合的小风险
投资组合 298
23.12 optim()函数 300
23.13 二次规划 300
23.14 与投资组合有关的R包 301
23.15 R包相关手册 301
23.16 R软件包中的数据集 302
23.17 一些函数的例子 303
23.17.1 risk.attribution()
函数 304
23.17.2 用目标收益率计算投资
组合的小风险 304
23.17.3 组合优化 305
23.17.4 两股投资组合的有效
投资组合 305
23.18 投资组合保险(套期保值与目标
市场风险) 306
23.19 练习题 307
第 24章 在险价值 310
24.1 在险价值简介 311
24.2 正态分布及其图示 312
24.3 置信水平与左侧损失的
百分比 314
24.4 基于正态分布估计VaR 314
24.5 公式中z的符号问题 315
24.6 一日的VaR与多日的VaR 315
24.7 基于历史收益率的排序来
估计VaR 316
24.8 均值、标准差、偏度和峰度
(峭度) 317
24.9 修正的VaR(mVaR) 318
24.10 计算投资组合的VaR 319
24.11 计算预期损失 320
24.12 PerformanceAnalytics
软件包 321
24.13 练习题 323
第 25章 信用风险 325
25.1 简介 325
25.2 违约的基本概念 326
25.3 违约风险溢价 327
25.4 下载美国国库券的收益率 328
25.5 穆迪(Moody)的公司债券历史
收益率 329
25.6 信用评级 329
25.7 信用评级迁徙矩阵 330
25.8 信用评级和违约概率 332
25.9 违约后的平均恢复率 333
25.10 恢复率和损失率 334
25.11 估计公司破产概率的Z
比值 334
25.12 基于KMV模型估计公司的市场
价值及股票收益率的
波动性 336
25.13 估算公司总资产和股票收益率
波动性 337
25.14 nlm()函数 338
25.15 KMV模型和nlm()函数 339
25.16 距违约点的距离 340
25.17 credit.RData数据集 340
25.18 CreditMetrics包 341
25.19 信用违约互换期货 343
25.20 练习题 345
第 26章 买卖差价、交易成本及
流动性 348
26.1 简介 348
26.2 估算股票买卖差价 349
26.3 估算买卖差价 350
26.4 基于高频数据估算买卖
差价 351
26.5 从日和股票价格估算
买卖差价 352
26.6 流动性简介 353
26.7 用公司的市值表征流动性 353
26.8 用股票的交易量表征
流动性 353
26.9 用股票的年周转率表征
流动性 354
26.10 用美元交易量表征
流动性 354
26.11 流动性对股票价格和收益率的
影响 355
26.12 反流动性度量 355
26.13 流动性度量模型 356
26.14 流动性度量指标 357
26.15 公司的流动性和市场的
流动性 358
26.16 用高频数据计算买卖
差价 358
26.17 练习题 358
第 27章 文本处理在金融领域的应用 360
27.1 文本分析在金融学及会计学上的
应用 361
27.2 美国股票交易管理委员会的
开源数据库 361
27.3 文本信息的输入 361
27.4 计算文件的行数 362
27.5 计算文件中的词汇数 363
27.6 计算文件中词汇的频率 363
27.7 用Fog指标度量文章难易
程度 364
27.8 投资人的情绪对股票的
影响 367
27.9 对投资人情绪的度量 368
27.10 与金融学相关的词汇 368
27.11 练习题 369
第 28章 与金融相关的包 370
28.1 金融相关的R包 370
28.2 下载并安装与金融有关的包 372
28.3 fImport包 372
28.4 fImport包的说明书 373
28.5 quantmod包 374
28.6 pdfetch包 374
28.7 metafolio包 375
28.8 fOptions包 376
28.9 fAsianOptions包 376
28.10 fExoticOptions包 377
28.11 fBasics包 378
28.12 fBonds包 379
28.13 termstrc包 380
28.14 YieldCurve包 382
28.15 CreditMetrics包 383
28.16 timeDate包 384
28.17 tseries包 385
28.18 fAssets包 388
28.19 zoo包 389
28.20 TTR包 390
28.21 ttrTests包 391
28.22 stockPortfolio包 392
28.23 XML包 392
28.24 PerformanceAnalytics包 392
28.25 RquantLib包 394
28.26 MASS包 395
28.27 练习题 396
第5篇 R高级技能
第 29章 用R实现简单加密 398
29.1 为何不去掉空白 399
29.2 加密方法一:字母顺移 399
29.3 加密方法二:字母对换 400
29.4 英文字母频率表 402
29.5 用5个字母表征26个字母 403
29.6 更复杂的加密法 403
29.7 用6个字母表征26个字母及10个数字(0~9) 404
29.8 练习题 405
第30章 用R读取压缩文件 407
30.1 下载压缩软件(WinRAR) 407
30.2 生成压缩文件 407
30.3 查看压缩文件的内容 408
30.4 从压缩文件检索数据 409
30.5 用R下载压缩文件 409
30.6 练习题 410
评论
还没有评论。