量化金融R语言初级教程 - (EPUB全文下载)

文件大小:0.22 mb。
文件格式:epub 格式。
书籍内容:

量化金融R语言初级教程
第1章 时间序列分析
第2章 投资组合优化
第3章 资产定价模型
第4章 固定收益证券
第5章 估计利率期限结构
第6章 衍生品定价
第7章 信用风险管理
第8章 极值理论
第9章 金融网络
参考文献
欢迎来到异步社区!
第1章 时间序列分析
时间序列分析研究的是按时间顺序收集的数据。相邻的观测数据通常相互依赖。因此,时间序列分析的技术需要处理这种相依性。
本章的目标是通过一些特定应用来介绍一些常用建模技术。我们将看到如何使用R来解决现实中的这些问题。首先,我们考虑如何在R中存储和处理时间序列。接着,我们处理线性时间序列分析,并展现如何将它用于建模和预测房屋价格。其次,我们通过考虑长期趋势,使用协整的概念来改进基本的最小方差对冲比。最后,本章讲述如何将波动率模型运用于风险管理。
1.1 使用时间序列数据
用于存储时间序列数据的基本R类有vector、matrix、data.frame以及ts对象。但是,它们可以存储在这些对象中的数据类型相当有限。并且,这些表达方式提供的方法范围也很有限。不过幸运的是,同名的包中的特定对象,zoo、xts或timeSeries对象,对时间序列数据提供了更一般的表达形式。
对每个时间序列分析问题都创建时间序列对象是不必要的,但是复杂程度较高的分析则需要创建时间序列对象。你可以先将时间序列数据存储成向量形式,再计算数据的均值和方差,但如果你想用decompose对数据做季节分解,那就必须将数据存储在时间序列对象中。
下面的例子假定你使用了zoo对象,因为zoo对象是使用最广泛的包之一。在使用zoo对象之前,需要使用下面的命令安装并载入zoo包(如果你已经安装,那只需要载入它)。
>install.packages("zoo")
>library("zoo")
为了熟悉可用方法,我们使用苹果公司股票的日收盘价,创建一个名为appl的zoo对象,存储在CSV文件aapl.csv中。表格的每一行包括一个日期和一个价格,两项通过逗号分隔。第一行包含了列名(Date和Close)。日期格式符合ISO8601推荐的基本标准符号(YYYY-MM-DD)。收盘价根据股票的拆分、股利以及相关改变进行调整。
小提示 下载示例代码 你对于在http://www.packtpub.com网站购买的所有Packt图书,都可以用自己在的账户从网站下载示例代码。如果你从其他途径购买了书籍,则可以访问http://www.packtpub.com/support并注册账号,示例代码会直接通过电子邮件发送给你。
使用下面的命令,可以从当前工作目录载入数据。
> aapl<-read.zoo("aapl.csv", +  sep=",", header = TRUE, format = "%Y-%m-%d") 为了初步了解数据,我们画出股票价格图形,并为整个图形设定一个标题(使用main参数)和对x轴和y轴标注了名称(分别使用xlab和ylab)。 > plot(aapl, main = "APPLE Closing Prices on NASDAQ",
+  ylab = "Price (USD)", xlab = "Date")
使用下面的命令,我们可以提取时间序列开头部分或结尾部分。
> head(aapl)
2000-01-03 2000-01-04 2000-01-05 2000-01-06 2000-01-07 2000-01-10
   27.58   25.25   25.62   23.40   24.51   24.08
> tail(aapl)
2013-04-17 2013-04-18 2013-04-19 2013-04-22 2013-04-23 2013-04-24
   402.80   392.05   390.53   398.67   406.13   405.46
使用下面的命令,可以找出苹果股价在所有时间中的高点,和这个高点发生的日期。
> aapl[which.max(aapl)]
2012-09-19
  694.86
当处理时间序列时,通常收益率更受关注,价格却不会。其原因是收益率通常平稳。因此我们会计算简单收益率或连续复合收益率(按百分比的形式)。
> ret_simple <- diff(aapl) / lag(aapl, k = -1) * 100 > ret_cont  <- diff(log(aapl)) * 100 同时,我们也可以得到简单收益率的概括统计。在这里,我们使用coredata方法来表明我们仅仅关注股票价格,而非索引(日期)。 > summary(coredata(ret_simple))
   Min. 1st Qu. Median  Mean 3rd Qu.   Max.
-51.86000 -1.32500 0.07901 0.12530 1.55300 13.91000
可以看出,最大的单日损失是−51.86%。我们还可以使用下面的命令获得这个损失发生的日期。
> ret_simple[which.min(ret_simple)]
2000-09-29
-51.85888
上网快速搜索可以发现,这个股价的剧烈变动缘于一个盈利预警的发布。我们可以画出直方图来加深理解日收益率的相关频率。对收益率数据进行分组时,我们可以使用break参数来指定每组的元素个数。
> hist(ret_simple, breaks=100, main = "Histogram of Simple Returns",
+ xlab="%")
我们也可以把分析限定于时间序列的一个子集(window)中。比如,苹果股价在2013年的最高点可以通过运行下面的命令的找到。
> aapl_2013 <- window(aapl, start = '2013-01-01', end = '2013- ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 量化金融R语言初级教程 - (EPUB全文下载)