本篇主要提供R语言金融分析与建模R语言实战r语言数据分析统计数据可视化数据挖掘量化建模电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
R既是统计、挖掘、计算、分析、制图等方面的工具,也是*个强大的开发与应用平台。几乎任何与数据相关的难题,大多可以借助R语言来解决。而金融*域正是与数据密切相关的行业,可以通过R实现量化金融分析与建模。
本书系统地介绍了R的*与编程方法,并通过丰富的金融案例展示了R在金融分析和金融建模方面的应用。本书分为5篇,共30章,从R语言基础、金融模型及基础知识、数据及相关操作、R在金融建模中的应用和R技能几个主题出发,讲解了R在金融量化中的应用和技巧。
本书适合从事金融数据分析、金融量化建模的读者学习。通过阅读本书,读者将了解*球化的金融市场数据,学习多样的金融建模思想和解决方案。
严玉星,毕业于麦吉尔大学,获金融学博士学位。他有丰富的教学经验,教授过各类金融课程,如金融建模、期权和期货、投资组合理论、定量财务分析、企业融资和金融数据库。此外,他*通R、Python、SAS、MATLAB和C语言,是金融数据分析方面的*业人士。
第 *篇 R语言基础
第 *章 R简介 2
*.* 下载和安装R 2
*.2 启动和退出R 2
*.3 R的基本概念和功能 3
*.4 ls()函数和rm()函数 4
*.5 换行符号(+)及R提示符 5
*.6 寻求帮助 5
*.7 使用R作为*个普通计算器 6
*.8 找回以前的命令 7
*.9 比较ls()函数和dir()函数 7
*.*0 R的*度 8
*.** 列出当前工作目录下的文件 8
*.*2 改变当前的工作目录 8
*.*3 改变启动R时的工作目录 9
*.*4 R在金融建模中的*势与障碍 9
*.*5 练习题 *0
第 2章 日期变量 *2
2.* as.Date()函数 *2
2.2 将整数转换成日期变量 *3
2.3 将日期变量定义为整数 *3
2.4 将日期变量定义为字符串 *4
2.5 从日期变量中提取年、月、日 *4
2.6 将字符串转换为整数或实数 *5
2.7 合并字符串变量 *5
2.8 将字符串转换成整数型日期变量 *6
2.9 选择日期作为日期变量 *6
2.*0 选择每个月的最后*天 *6
2.** 和日期有关的数据集 *7
2.*2 选择*定的工作日 *8
2.*3 cbind()函数和data.frame()函数 *8
2.*4 seq()函数 *9
2.*5 显示当前日期 20
2.*6 timeDate* 20
2.*7 练习题 2*
第3章 R的基本语法 23
3.* 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.*0 if-else语句 3*
3.** if-else-if-else语句 3*
3.*2 逻辑或 32
3.*3 逻辑与 32
3.*4 各种条件语句的组合 32
3.*5 练习题 32
第4章 用R作图 34
4.* 绘制单*的图 35
4.2 在横坐标及纵坐标上添加注释 36
4.3 直方图 37
4.4 饼图 38
4.5 将某区域涂上阴影 39
4.6 把几个图并置 40
4.7 在图上添加希腊字母 40
4.8 将图*存为PDF文件 4*
4.9 输出*分辨率的图像 4*
4.*0 重叠图 42
4.** 资本资产定*模型和有效前沿的图示 43
4.*2 输出*分辨率的图像 44
4.*3 添加阴影区域 44
4.*4 animation* 45
4.*5 练习题 47
第5章 R* 49
5.* 从雅虎财经下载年报表 49
5.2 已加载和已安装的* 5*
5.3 列出已安装的软件* 5*
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.*0 查找R*的手册 56
5.** R*的相关函数 56
5.*2 常用的R*指令 57
5.*3 练习题 58
第 2篇 金融模型及基础知识
第6章 金融模型及基础知识 60
6.* *限数求和公式 60
6.2 货币的时间*值 6*
6.3 基本财务公式 6*
6.4 有效利率的相互转换 64
6.5 净现值法则 65
6.6 内*收益率法则 66
6.7 内*收益率 66
6.8 投资回收期法则 67
6.9 增量现金流量法 68
6.*0 与Excel有关的函数 68
6.** 练习题 69
第7章 编写简单的程序 7*
7.* 最简单的R程序 7*
7.2 编写单行的R程序 7*
7.3 函数参数的输入 72
7.3.* 按顺序输入参数 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.* 用R自带的编译器 77
7.9.2 复制和粘贴 77
7.9.3 使用source()函数 78
7.*0 变量名和巧用Tab键 79
7.*0.* 有意义的变量名 79
7.*0.2 巧妙地使用Tab键 80
7.** 输入参数的默认值 80
7.*2 *个程序*含许多小函数 8*
7.*3 编写*个金融计算器 8*
7.*4 出错处理 82
7.*5 练习题 82
第8章 财务报表分析 85
8.* 财务报表简介 85
8.2 获取财务报表 85
8.3 *个简单的例子 86
8.4 利润报表简介 86
8.5 资产负债表简介 87
8.6 现金流量报表简介 87
8.7 成比例的财务报表简介 88
8.8 *些常用的财务比率 88
8.9 下载财务报表 9*
8.*0 下载资产负债报表 92
8.** 下载现金流量报表 94
8.*2 构建成比例的财务报表 94
8.*3 下载和*存财务报表以供Excel使用 95
8.*4 3个有用的R数据集(is50、bs50和cf50) 95
8.*5 quantmod软件* 96
8.*6 练习题 96
第9章 资本资产定*模型 98
9.* 资本资产定*模型简介 99
9.2 资本资产定*模型的公式 99
9.3 下载股票数据、*风险利率及市场指数 *00
9.4 几个R数据集(retDIBM、prcDIBM等) *02
9.5 *分比收益率与对数收益率 *03
9.6 计算市场风险( ) *04
9.7 波动率之间的换算 *06
9.8 如何计算滚动市场风险 *07
9.9 估计股票的市场风险( ) *09
9.*0 预测市场风险 *09
9.** 用Scholes和William的方法调整 *09
9.*2 用Dimson的方法调整 ***
9.*3 股票组合的市场风险( ) **2
9.*4 练习题 **2
第 *0章 多因子线性模型和夏普比率等 **4
*0.* Fama-French三因子模型 **4
*0.2 小减大因子 **5
*0.3 *减低因子 **5
*0.4 为Fama-French模型生成R数据集 **5
*0.5 运行Fama-French模型的R代码 **7
*0.6 动势交易策略 **7
*0.7 计算夏普比率 **8
*0.8 计算*雷诺比率 **9
*0.9 基于52周股票*格最*点的交易策略 **9
*0.*0 Jensen的阿尔法值( ) *2*
*0.** 索提诺比率 *22
*0.*2 练习题 *23
第3篇 数据及相关操作
第 **章 开源数据 *26
**.* 开源数据简介 *27
**.2 雅虎财经 *28
**.3 美联储数据库 *29
**.4 French教授的数据库 *29
**.5 美*证券交易委员会公司财务报表数据库 *29
**.6 用雅虎财经下载的CSV文件估计收益率 *30
**.7 生成日期变量 *30
**.8 计算收益率 *3*
**.9 添加股票代码变量 *32
**.*0 把数据集*存到文本文件 *33
**.** 生成R数据集 *33
**.*2 从雅虎财经下载市场指数数据 *34
**.*3 从雅虎财经下载股票数据 *35
**.*4 对程序进行微调 *35
**.*5 月频率数据和日频率数据 *36
**.*6 通过日收益率计算其他收益率 *36
**.*7 *同R*中的函数 *39
**.*8 Quandl数据传输平台 *43
**.*9 练习题 *44
第 *2章 数据输入与日期变量 *46
*2.* read.table()函数 *46
*2.2 colnames()函数 *47
*2.3 read.csv()函数 *47
*2.4 read.table("clipboard")函数 *47
*2.5 从被固定分隔符分隔的文件输入数据 *49
*2.6 read.fwf()函数 *49
*2.7 load()函数 *50
*2.8 R数据集的后缀 *50
*2.9 从互联网下载数据 *5*
*2.*0 从作者网站下载数据 *5*
*2.** 只输入几行数据 *52
*2.*2 从外*输入数据 *52
*2.*3 输入*规则格式的文件 *53
*2.*4 as.Date()函数 *54
*2.*5 将整数转换成日期变量 *54
*2.*6 将整数变成真正意义上的日期变量 *55
*2.*7 从日期变量中提取年、月、日 *56
*2.*8 将字符变量转换为整数或实数 *57
*2.*9 合并字符串变量 *57
*2.20 将字符串转换成整数型日期变量 *57
*2.2* 选择具体日期作为日期变量 *58
*2.22 选择每个月的最后*天 *59
*2.23 选择*定的交易日 *59
*2.24 cbind()函数和data.frame()函数 *60
*2.25 seq(as.Date)函数 *6*
*2.26 timeDate* *6*
*2.27 练习题 *6*
第 *3章 子集和数据集的合并 *63
*3.* 简介 *63
*3.2 标量、矢量和矩阵 *65
*3.3 从向量获取子集 *66
*3.4 获取*定年份的数据 *67
*3.5 head()函数 *68
*3.6 cbind()函数 *69
*3.7 删除循环规则 *70
*3.8 添加行 *7*
*3.9 data.frame()函数 *7*
*3.*0 用公共变量合并两个数据集 *72
*3.** 练习题 *74
第 *4章 矩阵及操作 *75
*4.* 矩阵的定义 *75
*4.2 用cbind()将向量组合成矩阵 *76
*4.3 循环规则 *76
*4.4 矩阵的单*数据类型 *77
*4.5 将矢量转换为矩阵 *77
*4.6 矩阵的双重循环 *79
*4.7 as.matrix()函数和is.matrix()函数 *80
*4.8 矩阵的子集 *80
*4.9 将列名称添加到矩阵上 *8*
*4.*0 使用列名称 *8*
*4.** 求解线性公式 *82
*4.*2 矩阵的逆矩阵 *83
*4.*3 测试*同类型的数据格式 *84
*4.*4 练习题 *84
第 *5章 数据框与数据列 *86
*5.* 简介 *86
*5.2 data.frame()函数的功能 *87
*5.3 循环规则 *87
*5.4 如何添加列名称 *88
*5.5 attach()函数 *88
*5.6 data.frame()的数据类型是列表(list) *89
*5.7 从输入文件中读取数据 *89
*5.8 将data.frame转换成数据矩阵 *90
*5.9 生成列表(list) *9*
*5.*0 length()函数 *92
*5.** 调用数据列中的元素 *92
*5.*2 x[*]和x[[*]]的区别 *92
*5.*3 将更多数据添加到现有的数据列中 *93
*5.*4 区分长变量名 *93
*5.*5 添加更多的数据项 *94
*5.*6 class()函数 *94
*5.*7 串联列表 *94
*5.*8 练习题 *94
第 *6章 数据或结果的输出 *97
*6.* 输出到文本文件 *97
*6.2 write.table()函数 *98
*6.3 输出到CSV文件 *98
*6.4 write()函数 *99
*6.5 save()函数和load()函数 200
*6.6 把数据添加到文本文件 20*
*6.7 cat()函数 20*
*6.8 写入二进制文件 20*
*6.9 如何*存PDF文件 203
*6.*0 把数据写到剪贴板 204
*6.** 行名称和列名称 204
*6.*2 sink()函数 205
*6.*3 临时文件 205
*6.*4 save.image()函数 206
*6.*5 .RData数据集 206
*6.*6 练习题 207
第 *7章 R和Excel的交互 209
*7.* 安装与Excel相关的R* 209
*7.2 与Excel相关的R*手册 2*0
*7.3 通过剪贴板将数据写到Excel 2**
*7.4 通过剪贴板将Excel数据读入R 2**
*7.5 read.table()函数和read.csv()函数 2*2
*7.6 read.xlsx()函数 2*2
*7.7 read_xlsx函数 2*5
*7.8 system.file()函数 2*5
*7.9 read_excel()函数 2*5
*7.*0 write_xlsx()函数 2*6
*7.** 相关的例子及数据集 2*7
*7.*2 练习题 2*7
第 *8章 读写二进制数据 2*9
*8.* 生成二进制数据集 2*9
*8.2 大尾数法和小尾数法 220
*8.3 writeBin()函数 220
*8.4 readBin()函数 22*
*8.5 写入二进制数据文件 22*
*8.6 读取二进制数据文件 224
*8.7 *频数据 224
*8.8 TORQ*频数据 225
*8.9 练习题 228
第 *9章 字符串变量的操作 23*
*9.* 为字符串变量赋值 23*
*9.2 检查变量是否为字符型 23*
*9.3 转换大小写 232
*9.4 计算字符串长度 232
*9.5 取*分字符串 232
*9.6 合并字符串 233
*9.7 将数字转换成字符串 233
*9.8 将字符串转换成实数 234
*9.9 替换字符 235
*9.*0 重复符号 235
*9.** 删除字符串的前导空格或尾随空格 235
*9.*2 字符串匹配 236
*9.*3 字符串比较中的逻辑或 237
*9.*4 子字符串的固定组合 238
*9.*5 字符串比较时的逻辑非 238
*9.*6 检测字符串是否存在 238
*9.*7 将字符串转换成整数 239
*9.*8 向量和矩阵的行列名称 239
*9.*9 代表26个字母变量 239
*9.20 使用短名的函数 240
*9.2* 美*信息交换标准码(ASCII) 24*
*9.22 练习题 24*
第4篇 R在金融建模中的应用
第 20章 各类检验及事件研究 244
20.* 两个关键值(T和P) 244
20.2 对*个数据集进行T检验 245
20.3 检验两个数据集的均值是否相等 246
20.4 F检验 248
20.5 Durbin-Watson的自相关检验 25*
20.6 Granger因果关系检验 252
20.7 Wilcoxon相关性检验 254
20.8 Pearson相关性和Spearman排列相关性 255
20.9 正态检验 256
20.*0 事件对股票*格的影响 257
20.** 练习题 258
第 2*章 期权定*模型 26*
2*.* 期权简介 262
2*.2 输入和输出 263
2*.3 简单作图 264
2*.4 期权的支付函数及图示 264
2*.5 期权的盈亏函数 266
2*.6 *红利股票的期权定*(Black-Scholes-Merton模型) 267
2*.7 累积正态分布的R函数 268
2*.8 对冲、投机和套利 269
2*.9 期权的交易策略 269
2*.*0 与期权有关的希腊字母 27*
2*.** 看涨期权与看跌期权 272
2*.*2 下载公开期权数据 273
2*.*3 隐含波动率 273
2*.*4 练习题 274
第 22章 蒙*卡罗随机模拟法 275
22.* 随机模拟在财务分析上的应用 275
22.2 正态分布简介 277
22.3 生成随机数 278
22.4 Q-Q图 278
22.5 蒙*卡罗随机模拟 279
22.6 模拟股票*格的路径 279
22.7 利用蒙*卡罗模拟来验证Black-Scholes-Merton期权模型 28*
22.8 利用蒙*卡罗模拟计算亚式期权(Asian Options) 282
22.9 如何生成两个相关的随机数序列 282
22.*0 如何从n只股票中随机选择m只股票 283
22.** sobol()函数 284
22.*2 Shapiro-Wilk正态分布检验 285
22.*3 蒙*卡罗模拟所需的时间 286
22.*4 练习题 286
第 23章 投资组合理论 289
23.* 投资组合简介 289
23.2 方差、标准差和相关性 290
23.3 Markowitz均值-方差*化理论 29*
23.4 单期投资组合*化 292
23.5 股票收益率矩阵 292
23.6 投资组合的收益率 294
23.7 两只股票投资组合收益率的标准离差(波动率) 295
23.8 n只股票投资组合收益率的标准离差 297
23.9 方差-协方差矩阵 297
23.*0 相关矩阵 298
23.** 两个股票组合的Z小风险投资组合 298
23.*2 optim()函数 300
23.*3 二次规划 300
23.*4 与投资组合有关的R* 30*
23.*5 R*相关手册 30*
23.*6 R软件*中的数据集 302
23.*7 *些函数的例子 303
23.*7.* risk.attribution()函数 304
23.*7.2 用目标收益率计算投资组合的Z小风险 304
23.*7.3 组合*化 305
23.*7.4 两股投资组合的有效投资组合 305
23.*8 投资组合*险(套期*值与目标市场风险) 306
23.*9 练习题 307
第 24章 在险*值 3*0
24.* 在险*值简介 3**
24.2 正态分布及其图示 3*2
24.3 置信水平与左侧损失的*分比 3*4
24.4 基于正态分布估计VaR 3*4
24.5 公式中z的符号问题 3*5
24.6 *日的VaR与多日的VaR 3*5
24.7 基于历史收益率的排序来估计VaR 3*6
24.8 均值、标准差、偏度和峰度(峭度) 3*7
24.9 修正的VaR(mVaR) 3*8
24.*0 计算投资组合的VaR 3*9
24.** 计算预期损失 320
24.*2 PerformanceAnalytics软件* 32*
24.*3 练习题 323
第 25章 信用风险 325
25.* 简介 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.*0 恢复率和损失率 334
25.** 估计公司破产概率的Z比值 334
25.*2 基于KMV模型估计公司的市场*值及股票收益率的波动性 336
25.*3 估算公司总资产和股票收益率波动性 337
25.*4 nlm()函数 338
25.*5 KMV模型和nlm()函数 339
25.*6 距违约点的距离 340
25.*7 credit.RData数据集 340
25.*8 CreditMetrics* 34*
25.*9 信用违约互换期货 343
25.20 练习题 345
第 26章 买卖差*、交易成本及流动性 348
26.* 简介 348
26.2 估算股票买卖差* 349
26.3 估算买卖差* 350
26.4 基于*频数据估算买卖差* 35*
26.5 从日最*和*低股票*格估算买卖差* 352
26.6 流动性简介 353
26.7 用公司的市值表征流动性 353
26.8 用股票的交易量表征流动性 353
26.9 用股票的年周转率表征流动性 354
26.*0 用美元交易量表征流动性 354
26.** 流动性对股票*格和收益率的影响 355
26.*2 反流动性度量 355
26.*3 流动性度量模型 356
26.*4 流动性度量指标 357
26.*5 公司的流动性和市场的流动性 358
26.*6 用*频数据计算买卖差* 358
26.*7 练习题 358
第 27章 文本处理在金融*域的应用 360
27.* 文本分析在金融学及会计学上的应用 36*
27.2 美*股票交易管理委员会的开源数据库 36*
27.3 文本信息的输入 36*
27.4 计算文件的行数 362
27.5 计算文件中的词汇数 363
27.6 计算文件中词汇的频率 363
27.7 用Fog指标度量文章难易程度 364
27.8 投资人的情绪对股票的影响 367
27.9 对投资人情绪的度量 368
27.*0 与金融学相关的词汇 368
27.** 练习题 369
第 28章 与金融相关的* 370
28.* 金融相关的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.*0 fExoticOptions* 377
28.** fBasics* 378
28.*2 fBonds* 379
28.*3 termstrc* 380
28.*4 YieldCurve* 382
28.*5 CreditMetrics* 383
28.*6 timeDate* 384
28.*7 tseries* 385
28.*8 fAssets* 388
28.*9 zoo* 389
28.20 TTR* 390
28.2* ttrTests* 39*
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.* 为何*去掉空白 399
29.2 加密方法*:字母顺移 399
29.3 加密方法二:字母对换 400
29.4 英文字母频率表 402
29.5 用5个字母表征26个字母 403
29.6 更复杂的加密法 403
29.7 用6个字母表征26个字母及*0个数字(0~9) 404
29.8 练习题 405
第30章 用R读取压缩文件 407
30.* 下载压缩软件(WinRAR) 407
30.2 生成压缩文件 407
30.3 查看压缩文件的内容 408
30.4 从压缩文件检索数据 409
30.5 用R下载压缩文件 409
30.6 练习题 4*0