R语言金融工程中文教程_第1页
R语言金融工程中文教程_第2页
R语言金融工程中文教程_第3页
R语言金融工程中文教程_第4页
R语言金融工程中文教程_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

R语言金融工程中文教程 Financial Engineering with R, Chinese 孔1 anual 李智Li, Zhi February 4, 2014 2 Contents I 前言 Ill 符号注释 且1 2uro 句 nkv 线性代数 1.1 关于函数 1.2 标量, 向量和矩阵 1.3 矩阵乘法和短阵逆 1.4 线性方程求解 1.5 二次形式 1 nwvn匀 i qd4结 。 晶 咽 算计 计格 伯率 的价理的报 咖啡的原率回 报产杆报测 率回房枉回预 啤 1 23 45 口” F nJ n4 。,4 。4俏,“ 2 。司d ropo 内4内d n4 内,“ 债券种炎 3.1 零息(Zero)息、票(Coupon)债券 3.2 到期收益率(Yield to Jv1aturity) 3.3 期限结构( ferrn Structure) 3 a吁 nuqda 句, q4 。,。o qO 守JVA 投资组合迎论 4.1 组合两种资产(Two Assets) 4.2 基本定义 4.3 组合多种资产(N Assets) 4.4 资本资产定价模型(CAPlvI) 4.5 Black-Littennan模型(1991) 3 4 4 CONTE1VTS 5布 莱克 肖尔斯模型(Black-Scholes) 45 5.1 零回报 . . . . . . . . . . . . . . . . . . 45 5.2 相关的定义 . . . . . . . . . . . . . . . . . . . . . 48 5.3 套利命题 . . . . . . . . . . . 48 5.4 计算布莱克肖尔斯 m 50 6 对冲基金(Hedge Funds) 6.1 套期保值(Insured Portfol叫 6.2 德尔塔避验(Delta hedging) 哼7 AU ZOK List of Figures 2.1 房产的市场价格 . . . . . . . . . . . . . 12 2.2 l眈房租就是分红 e . . . . . 13 2.3 回报率的佑i: I . . . . . . . . . . . . . 15 2.4 欧兀美金牌,价 . . . . . . . . . . . . 1 7 2.5 EURUSD回报率QQ图 18 2.6 EURUSD Garch模型QQ图 . . 19 2.7 欧兀美金回报率预测 . . . . . . . . . . 21 4.1 两个资产投资组合作图 29 4.2 默顿切J线方法演示图 . . . . 31 4.3 默顿第一定理演示图 . . . . . . . . . . 35 4.4 资本市场线作图 38 4.5 资本资产定价模型(CAPNI) (J估计 . . . . . . 41 5.1 10个随机生成的股票价格序列 . . . . . . . . 4 7 5.2 认购价的凹性 51 5.3 布莱克肖尔斯 , 波动性计算 . . . . 54 6.1 套期保健再平衡策略投资价值走势举例插图 . . . . 61 6.2 德尔塔避险再平衡策略投资花费举例输出插图 . . . . 65 5 6 LIST OF FIGURES 目。吕 在上小学的时候 , 有一年暑假回济南 , 去看望姥爷和烦 , 姨夫们。那天 , 三姨和三姨夫在家里招待了我们所有的人。他们家小区的后面是 一 个没 有树的小山包吃完晚饭 , 趁着明媚的夕阳 , 我们又 一 起去爬山。表哥 , 我 , 和表弟 , 小哥三个, 自然地排 成了一个小队 , 向山顶定。 旁边路过 , 有 一 个老人 , 他用早上刚升起来的太阳形容我们。转眼二十多年的时间过 去了 , 感谢老人的鼓励 , 我们兄弟三个都有了属于自己的哪业, 为祖国的 发展做着贡献。 我非常喜欢走过北京机场T3航站楼的出站口。因为那里众多急切接飞 机的人们 , 使我感觉像是 一 个明星 , 走在火红的地毯上。但是这次寒假回 国 , 只;肖老迈 的妈妈来接我, 爸爸再也不会来了。 爸爸是一个老党员 , 去 世前大量写作 , 他起 革完成过几千 个 技术专利申请的文件 我也要写作, 作为 一 个传统 , 实现人生价值的传统。 这主要还是 一 音关于R语言编程应用的著作 , 最好的学习方法是把所 有R语言程序的例子挑出来, 运行后知道如何使用就可以了知识本应该是 免费的 , 我只是没荷精为都写出来。本书的每 一 章都独立成文 , 分开阅读 完全可行。重要的最后关于对冲的 一 章 , 是对这个概念的精确接触。如果 有对 本书的意见提出 , 请 加入与本书同名的QQ群进 行 讨论, 也可以联系作 者的QQ2476784986对冲是 一 个非常广泛应用 , 种类繁多的金融方法。 再 继续进行举例 , 多写儿百页 , 也不可能结束。 2辈子点到 l 为止 , 深入泼出的 原则 只给读者 一 点尝试 , 同时又练习了R语言。 I 11 前言符号注释 卜净回报率 R. 毛回报率 s 方差 协方差矩碎 股票价格 X期权展约价 期望值 2 ”方差 标准差 , 波动性 t 某 一 时间点 6.t 某 一 个时间time to mattui句 F JV( ) 正态分布概率的函数 log 对数函数计算 exp”指数函数讨算 艺总和计算 Ul lV 符号注辈辈Chapter 1 线性代数(Linear Algebra) 1.1 关于函数 函数(Funct ion)是 一 个大学 一 年级的概念 , 虽然不是金融的有关部分 , 但它 是数 学的基础 , 为了要是这本书能够做到自圆其说 , 在这里必须要介绍清 楚函数。对函数的的精确叉简便 的描述是 数据入数掘出 (Data In Data Out)。例如有 一 个名叫f(功的函数: .f(:c) = 32 ; 2 ) 唱且 l ( R code: x=7 f = 3*X 2 f 在这个函数中 , 1 只是 一 个用来 占位子的符号 , 也是数据输入的位置 如果输入z =7 , 这个函数就会根据其带有的表达式进行计算 , 3 7 2 , 然 后输出f(7) = 147的结果。值得注意的是 , 函数是不可以有模棱两可的输出 的 , 对干已经定义的函数(1.月 , 如果输入的数值是7 , 那么输出的数值只可 能是147 , 不可能是其他的数值这样就生成了 一 个从7至!)147的指向关系 , 所以函数也被称作映象(lVIapping) 7147 但是换 一 个角度来看 , 7也可以通过函数(1.1)指向147(且也就是说 一 个函数 的输入可以是多个的 , 却都可以指向同 一 个输出 1 2 C.fIAPTER. 1. 线性代数 更多的情况下 , 需要使用函数建立 一一 对应(Bijection)的映象关系 , 也就是 说 , 一 个输入值只对应 一 个输出值 雪 而且 一 个输出 fl 也只能对于 一 个输入 值。例如函数(1.1) , 可以取消7对应147的可能性 , 只允许7t才应147。这就 需要定义2;的有效范围 :i; 2: 0 , 在这个哥哥效范围之内 , 所有的z和 f(x)之间就 建立起了 一一 对应的映象关系 f(a;) = 3x 2 x言。 (1.2) 数学写法(Notation)十分重要 , 它是记录数学谣言的方式。比方上面用f(x)指 代函数(1.1) , 和使用r作为占位子的符合 , 甚至使用0多毛代表什么都没有 , 都是数学写浊。这些写法使困难的事情变得简单 e 便不可能完成的翠变得 可 能。 合函数(Cornposite日u1ction)被记为 fog , 是把 一 个函数的输出作为另 一 个函数的输入 , 然后输出最终结果具体来讲g()是 一 个函数 : 它的输入 是z 。 然后!()也是 一 个函数 , 它的输入是g(x) f。 g(x) = f(g(x) (l.3) 使用上面函数(1.1), f(:r;)=3沪 , 然后定义 一 个新函数以:c)=:r;-8 , 只需 要把g()的结果输入到i JJ ()的里面 , 就生成了这个复合函数: f 。 g(x) = f(g(x) = J(a: - 8) = 3(x - 8) 2 R code: xlJm X n , 这个英文词汇原本和环境 、富饶多产 的 土壤有 关系。 可以使 用民语言 , 生成几个向量 , 放在 一 起 , 并输出生成的短阵: R code: x = c(l,2,3 y=c(4 ,5 ,6) z=c(7,8,9) #vect。r #vect。r #vector A = cbind(x,y,z)#matrix A 矩碎转宣( ra.nspose)是把矩阵里每 J l j 的数字写在行里 , 写法是在代表 矩阵的符号右 上角画上一个小T。例如 上面语句中生成的矩阵A , 它的转量 就是AT, 1 4 7 A= I 2 5 8 3 6 9 R code: x = c(l,2,3) #vect。r y = c(4,5,6) #vect。r z=c(7,8,9) #vect。r 。也avnud 内,rDAXU 且 AU 勺 T A月 (1.5) A = cbind(x,y,z)#matrix t(A) #traspose 4 Cl1APTER. 1. 线性代数 向量和常量都属于短阵,所以向量和常量都可以被转宣竖着的向量转 置后就成了横着的向量:横着的向室被转置后就成了竖着的向量。 l前 量的 转置还是常量,没有变化。 1 a : = I 2 a ; T = I 1 2 3 I 3 b=l13sl o r =l3 1101 a T = 1101 5 刘称( S ymm et ry )是说 如果一个转置后的矩阵mm, 必须 是正方形的 矩阵, 与其没有转置的时候相同,被称为对称矩阵 u 下面就是一个用S代表 的对称矩埠, 无论如何转宣e 都不会有变化。 I 2 3 S= 12 5 4 3 4 6 加法(Addition) , 矩阵的加法 , 是把矩阵中有相同位置的数值, 对应相加 , 这也就使榈加的短阵之间必须有相同的行数和歹 l j数,例如 1 4 1+4 5 x+y=12 5 2+5 7 3 6 3+6 9 R code: x = c(l,2,3) #vect。r y = c(4,5,6) #vect。r x+y 1 4 7 1 1 l+l 4+1 7+1 2 5 8 A+B = I 2 5 8 2 2 2 2+2 5+2 8+2 4 7 10 3 6 9 3 3 3 3+3 6+3 9+3 6 9 12 R code: x=c(l,2,3) #vect。r y = c(4,5,6) #vect。r z=c(7,8,9) #vect。r A=cbind(x,y,z)#matrix B = cbind(x,x,x)#matrix A+B 1.,1.矩阵乘法和矩阵逆 5 一个 常量可以和任何行数和列数的矩阵榈加 , 尽管常量会与矩阵的行数 和歹 l j数不同 , 只需要把矩阵中的所有数字 与这个常量相加 , 例如 7OEAUJ Ill A吨KAva” EA 唱Eaa咱EEa tA 内,e qd EA a唱EA 吁 OAUny AUAUn口 品EA 唱EA AaTRAvau AUAUHU ll tA 句,B qo AAUnu 喃自a蝠 a噜EA 789 AO节FD 户。 A Af q AU l A Rode: a = 10 A=cbind(x ,y,z)田 atrix a+A 1.3 矩阵乘法和矩阵逆 点乘(Dot Product), t旨的是两个相同长度的向蠢 , 先把相同位置的数值相 乘 , 然后把所有的乘积加起来做利。这种向量之间的乘法的写法是一个圆 点 , 所以叫做点乘, 例如 X . y 汇 ; 。,4 。 00 AU AUT t n 00 4 11 汇 ,错民A AqL 句。 汇 A哇KOAO 民ode: x=c(l,2,3) #vector y=c(4,5,6) #vector x%*%Y 但是 , 平时书写点乘的时候 , 需要把两个向量里 , 处在前面的向盘横过 来 , 这是从解决线性方程中来的传统 , 例如使用传统方法的点乘: 4 xv=ll 2 31 151=1 4+2 5+3 6 = 32 6 使用传统方法的点乘s 行与列之间的相乘相加 还可以定义矩阵乘以向 量 , 做法如下 nt 。 OV A惜只 o tinLqd Z A 1 l 1+4 2+7 3 30 : 乙:;二:;:; :; R code: 6 Cl1APTER. 1. 线性代数 A%*%x 矩阵与矩阵之间的相乘 e 也是用行乘以列来定义 e 结果是 一 个矩阵。矩阵 的相乘是复合函数(1均在矩阵上的应用: AA = 何,OOGO A,RU 民 i nF 。 哼 oonwd AU飞 PO EA nyq 30 66 102 = I 36 81 126 42 96 150 R code: A%*%A 从上面 一 系列的 R 代码中可以清楚的看到 , 点乘的民语言命令 , 使用%来 代表 并完成运算的。 矩尊逆(iwlatrix Inverse) , 指的是使用 一 个短阵的逆 , 和这个短阵榈乘 , 乘粉 、是 一 个只在左右对角 线上是1 , 其他位置是 0的短碍。矩阵逆的 写法 , 是把诚一符号放在表示矩阵符号 的右上角。找到一个 矩阵 的逆不是 一件容 易的蔡 , (旦 R语言提供了solve()函数来解诀这个问题在下面的例子里 a 可 以看到 , 一 个矩阵乘以它的逆 , 结果的确是 一 个0,1炮阵 句6 000WU A凶Z Aa 咱i nLqd I A A - 0.8 0.1 0.5333 0.1 - 0.2 0.1 0.2 0.1 -0 1333 nunu民 hu 唱A AU 晶AAU R code: A = matrix(c(l,4,7,2,0,8,3,6,9),nrow = 3,nc 。1 = 3,byrow = TRIJE) s。 lve(A) A%*%s 。lve(A) I 商秩矩阵(队.ul Rank 11latrix) , 并不是所有的正方形矩阵都有逆, 这也 是把()放入上面A矩阵的原因只有满秩矩阵才有逆因为有时候在矩阵 中 , 有些行或列可以使用其它的行和列表达出来 , 能被其它行和歹 I 表达出 来的 , 就不带有比其它行和列更多的信息。所以矩阵中所街的行、列 , 都 不能被其它行、列表达, 就说明这个矩阵有足够的信息 , 也就是满 1诀 , 还 可以被称为非奇(Non- singular) 笛卡尔乘积(Cartesian Product) , 指的是两个向量相乘 , 用 一 个竖 直的 向量, 乘以另一个横躺的向量不是相同位置的数值相乘再作和。而是每 一 个数值 , 者 I I与另 一 个向氢里的数值相乘 , l I I 1 4 1 X 5 1 6 2 Y = I 2 I 14 5 61 = 1 2 4 2 5 2 6 3 I I 3 4 3 5 3 6 笛卡尔乘积的符 号 是 一 个小差号 g 笛卡尔乘积实际上表示的是计算机程序 算法中的for-loop循环。1.4. 线性方程求解 7 1.4 线性方程求解 多元的线性方 程,是每个高中学生都有能力解决的问题。请看下面的例 子 3x+6y+2z=5 2: + 5y + 4z = 11 26x + 59 y + 36z = 7 (1.6) 可以看出这组线性方程是没有解的因为第 一 个方程中的系数乘以4 , 再加 上第二个方程的系数乘以7 , 就是第三个方程的系数。也就是说第三个方 程可以用第一、二个方程来代表所以这组线性方程是奇异的 , 是不满秩 的。 再举 一 个满秩例子 , 来学习使用R 语言解线性方程 x+4 y 7z = 11 2a :;今 8z= 9 3x + 6 y + 9z = 5 (1.7) 把这组线性方程写成矩阵形式: 789 du唱 AUPO 唱A 内, qo : 1 = 1 1 9 1 5 等号左右两边都乘以系数短阵的逆 l 4 7 I l 4 7 X 4 7 I 11 2 0 8 2 0 8 y 2 0 8 9 3 6 9 3 6 9 $ 3 6 9 5 $ 1 4 7 1 11 -5 23 y 2 0 8 9 -0.2 z 3 6 9 () d 2.43 R code: A = matrix(c(l,4,7,2,0,8,3,6,9),nrow=3,ncol=3,byrow = TRUE) f=c(11,9,5) s。lve(A)%*%f8 Cl1APTER. 1. 线性代数 1.5 二次形式 二次形式(QuadraticForro)是把多元二次方程用矩阵的写法表达出来 , 多 元二次方程和二次形式实际上是同 一 个东西 , 只是它们的书写形式有所区 另 l j . 例如 , 这里是最普通的 二 元 二 次方程: x 2 +2xy+y 2 二元指的是两个变量 P y , 二次指的是每 一 项的次方为二。 表达式(1.8)可 以被写成矩阵形式 1 1 I I x I Ix YI 11 11 lvl 所有的二元二次方程都可以把变量提出来 , 写成 一 个向量 a 用z代表。并且 把系数提出来写成一个对称的正为 形矩阵 , 用A代表。 二次形式 就成为了向 量和短阵之间的点乘: m x Ax (1.8) R code: t(x)%*%A%*%x 表达式(1.8)是二次形式的准确表述可以看出 , 二次形式只街3个部 分 , 一 个向量横过来 , 乘以 一 个正方形的矩埠 , 离乡民以这个向量竖着放。 表达式(1.8)并没有要求正方形的矩阵A是对称的, 但是为了要使二次形式 齐好看 , 所有的敏科书都会额外规定矩阵A是对称的。矩阵A装载的是多元 二次方程里系数的信息 g 不改变多元二次方程的系数 , 矩埠A是完全可以被 写为对称的。Chapter 2 回报率(Returns) 2.1 回报率的计算 J争回报率(Net Return) , 可以被想象成银行的存款利息。比方说银行的存 款年利息是fi% , 存入本金(Deposit)SlOOOO , 一 年后再取出来 , 存款就变成 了$1 0600,如 果说这$1 0000是 一 笔投资 , 6%就是这笔投资的回报率。这 一 正本书都是关于回报率的描述 雪 为了体现回报率的重要性e 在编程和写作 中 , 我们使用 一 个专门的英文字母 , 小写的?于旨代回报率 a 这个银行存款的 例子里r = 0.06, 1 1 货主主(Revenue) , 指的是经过投资, 增长出的 , 以前本金中没有的数 额。收益可以是正值或负值 正筒说明投资挣到了钱 , 负值说明投资赔 了钱。在上面存款的例子里 , 收益是$600写成数学语言。 R.evenue = T Deposit= 0.06 10000 = 600, 总回报率 (G ross Return) , 也被称为毛回报率, 指的是经过投资 , 结果 的总数与本金之间的比率。 总回报率的计算十分简便 , 只需用l 净回报 率。我们也使用 一 个专门的英文字母 , 大写的R主任代表总回报率在这个银 行存款的例子里 a 总回报率是1.06,写成数学语言 R=l 1 +0.06 = 106 。 复和 1J( co1npound ret urn), 比方说本金仍旧是10000 , 银行年利息。.06, 经过 一 年的存放 , 把全部的金额10600再次存入银行 , 去 挣0.06的年利叉 过了 一 年 z 再把当年的本金加利息, 统统存入银行, 又可以有0.06的利息。 这就叫做 计复利 , 或者复利存款。在这里 , 每一年都 有1.0 6的总回报导3 。 最 终的总回报率 是把每 一 年的总回报率都相乘起来用本金乘以最终的 J吉 、 回报率 , 就是最终存款的总结果。用刊代表复和 l存款的年数2 复军 l j最终的总 回报率可以写成 R= (l )(1 )(1 +r) . = (1 ) (2.1) 9 10 CfIAPTEH. 2. 回报率 代入例子里的数值, 年罪I J Q.06 , 存了10年 , 最终总回报率: R = (1 + 0.06) (1 + 0.06) (1 + 0.06) (1 + 0.06) JO = 1.790848 10年后复利存款的总数为 Total= Deposit R = 10000 1.790848 = 17908.48 进 一 步观察公式(2.1 )可以发现 , l og (R) = log(l.790848) = 0.5826891 , 而 且10 log(l0.06) = 0.5826891 , 两种算法得到了相同的结果。因为exp是log的 反函数, f巴exp用在1 0log(l + 0.06)上 , 也可 以得到1 790848的结果我们就 有了 另外一 种计算复利最终总回报率 的公式 n ? MM R (2.2) 也I 连续 复和 J ( con ti nuous r et urn )可以被想象 成 , 存款的期限被切成了无数尽可 能小的时间段, 回报率也随着这些小的时间段被切成 了小块。用这 些小的 时间段, 和小块的利息 , 来计算每利还是使用上面年利0.06的例子 , 这 一 年被切成了无数非常小的时间段 , 每 一 个小时间段都有 一 个小块的利息。 每 一 个小时间段过后 , 就把金和利息全部复利再存到下 一 个小 时间段s 直到 一 年结束。问像这样进行了无数次小复利 , 一 年终总回报率是多少 可以用连续复幸 l j公式计算 R = exp(rt), 0:; l:; 1 (2.3) 公式( 2.3)垦的t 代表的不是一般的时间, 而是在总时间期嗅中的比例。如果 总期限是 一 年 , 存丁半年 , 只占总期限的0.5 , 那么t = 0.5如果总期限是 一年, 存了9个月 , 占总期限的0.75, 那么t = 0.75,当然 e 如果总期限是 一 年 , 存了12个月 , t = l o还有T是总期限到期 , 不it复利的回报率。我们使 用 0.06, l = 1 , 计算 一 年期连续复利: R = exp(1t) = ef0.06 1) = 1.061837 (2.4) 回报率的计算R代码 r = .06 dep。site = 10000 # Revenue r*100002.2. 房产的价格 # Gross return R = l+r # T。tal (1+r)*10000 # C。mp。und Interest for 10 Years year = l 10 deposit=lOOOO gr。ss 峭return=(l+.06) year total = gr。ss_return*lOOOO cbind(year,gross_return,t 。tal) #Compound Interest by Sum log(l.790848) 10*1。g(l+0.06) exp( 10*log ( 1+0. 06) #C。ntinu。 us Return r = 0.06 dt=l exp(r*dt) 2.2 房产的价格 11 市场价格(1vfarket price) , 一 个资产会随着市场的变化而改变价格 , 在这 里我们用房地产为例 , 来展示资产的市场价格和l回报率是如何计算的 比方说 , 有个人买了 一 幢住宅 , 买入的价格为30万美元。 他持有这所房 产6年 , 第 一 年 房产市场上涨了 1 3% , 第二年房产市场叉 上涨了5 %, 第 三年房产市场没有任何变化 , 第四年 房产市场 下跌了1 %, 第五年 房产 市场又下跌了2.5% , 第六年房产市场突然大涨19%。我们用 一 个数歹!Jr = (.13, .05, o, -.01, -.025, .19)代表房产市场的变化, 因为这些变化都是我们 所称的回报率。使用R_ y1 = 1 +r代表每一年的总回报率, 在银行存款的例 子里每 一 年的总回报率是不变的1.06 , 但R_ yr 是 随着市场变化的 我们使 用作log和exp的公式(2.2)把 R 自r乘起来作复利。 代码中有使用至 I CUlllSlllll ()函数 , 这是作积累和的函数。 比方说 , 数歹 1 中第 一 个数字是1 , 它自己的积娱是它本身 然后2出现了, 2要幸 1:1 1积累到 一起, 结果是3,然后3出现了, 3要和1,2积累3i l j 起, 结果是6,然后4出现 了 , 4要和1,2,3积累至I一起, 结果是 10。 然后5出现了, 5要 01, 2, 3,4积累 主 l j12 CilAPTEH. 2. 回报率 句, huM 冒 c 2, I C 3, I C 4, I ( 5 J C 6, I l E YE l ,、 a d e n y 2 3 吨A ZD的 V , 、 R zo qJw rz , nv a RZ 3 Y 6 配 7 UR l s 2 nu396 主0 2 USE、 R 二 白, oro y3 四刊 s 1 J 2 E 2 c 2 主 1 ” HMnv , 0.0 5 0 1. 0 5 0 0.048790 16 0.1710078 0.000 1 . 0 0 0 0 . 00 00000 0 0.1710078 4 -0 . 01 0 0.990 -0 . 0 1 00 5 0 3 4 0.1 6 09575 5 -0.0 2 5 0.975 -0. 0 2 53 1 7 81 0. 1 356 397 6 0.190 1. 1 90 0.17395331 0.3095930 Figure 2.1: 房产的市场价格 一 起 , 结果是15 使用下面的民代码 , 可以看到这样的结果: x 坦 c(l,2,3,4,5) cumsum(x) 、 、 唱 4 、 4 2 、 Roonus 9 0 0 0 0 3 6 7 0 5 5 6 2 8 0 6 6 4 S 2 3 8 8 7 4 6 1 1 1 1 l 3 我们使用大写的R, 代表计复利后每年的总回报$. 市场价格计算 为 pr ice = 300000 R。 来看用数据表格方 式输出的结果 , 截图(2.2 ) 一 共6行数据, 每 一 行代表 一 年, i J ,r歹 l j是房产市场的每年回报旦在 e 大R罗 I J;是房 产市场计算复利的每年总回报惑。 房产市场在第一 年 上升了。. 13 , 第一 年 的 总回报率是1. 13, 这个 房产在第 一 年 达到价值$ 339000, 到了第六 年 , 通过 复菲 l j计算 , 房产市场的总回报率比较刚购入房产的时候, 上升至1 36, 这 个 房产的价值也达到了$408861.1, 收房租就是分红(Renting AKA Dividends) , 房产出租可以增加这个房 产投资的回报 仍旧是这个购入价格$300000的房产 , 在购买者的手里持 有了6年 , 房产市 场每一年 的回 报还是承袭上面的计算 。 这 个人:夺这所 房产以$1200每月的价格出租了出去 , 每年可以得到$1440 0的房租 要求 i.t6年后这所房产投资的回报率。很明显 , 房租要给这个投资积累回 报 , 6年的房扭总数是$86400, 再加上这所房产第六年的市价$408861.1 , 在 这个投资上积累的总财富就达到了$,108861.1+ $86400 = $195261.1 , 第六 年的总回报率 ;s草上房租 s 为$495261.1/300000 = 1. 6509, 这个 投资 者很 幸运 , 房产实入时价值$300000 事 到第六年房产价值就上升到了S408861.l 琴 是原价的1.36倍。 六年来累积的房租价值为$86400 , 所以总回报率是1.65, 一 个不小的数字。请参看截图(2.2)。 房价计算R代码 # Price 。f a Townh。use price0 = 300000 #US D。 11 缸S yea r =l: 6 1 0 0 0 0 0 1 r 0 5 59 8 6 P 0 9 9 3 5 8 9 5 523 8 3 5 5 5 4 0 3 3 3 3 3 4 e 0 0 0 5 7 1 c 2.3. 杠杆厉、理 13 cb in d (price,ren,;, va lue,R) price ren,; va lue R 1,J 339000.0 14400 353400.0 1.178000 ! 2, I 355950.0 28800 384750.0 1.282500 ! 3, I 355950.0 43200 399 1 50. 0 1.330500 4, ) 352390.5 57600 409990 . 5 1.366635 ! 5, I 343580.7 72000 415580.7 1.385269 ! 6, I 408 861 . 1 86400 495261.1 1.650870 Figure 2. 2: 收房租就是分红 r=c(.13, .05,0,-.01,-.025, 19) R_yr=l+r log_R_yr = l。 g(R_yr) sum = curnsurn(log _R_ yr) R=exp(sum) price = R*priceO cbind(year,r,R_yr,l 。g_R_ yr,sum,R,price) 。” AU R aLV AU e 、 v、且,、E,、BJ D 、J R aUP A e kO U AMO LU 、4 n4 a ete 4 V SEr ue r、 tt ory pn n Hl eeo e yr rr er el ar飞 c hh e me el e t tv d u c r c E sl pl g 。 m r fr r nm o u p e p O C ur、 t 2 el d n0 1 t uan eo nl vl n民 qJq4 0LVAU hu 1 1rv RC 2.3 杠籽原理 金融杠杆(Leverage)司以被想象成贷款买房比方说 , 购买 一 所价值8300000的 房 产 , 需要2 0%的保证金(lv la.rgin) , 也就是首付$60000, 剩下的$240000是 从银行里俗的。 这样实房的人就用$60000的资金 , 撬动了$300000的房产 , 比例是1:5 如果房产市场上升了。1 , 这个房产的价值就涨到$330000 , 带来的收益 是$30000,这个收益是保证金的0.5,房产市场只上涨了0.1 , 使用杠杆使得 收益放大了5倍。如果房产市场下降了”。I 杠杆还是会使收益放大5倍, 使14 CilAPTEH. 2. 回报率 用保证金进行投资的回报率成了。5. 所以 , 我们用大写的L代表杠杆比例 , 用)、 7代表市场的回报率 , 用r1, 代 表凭借保证金投资的回报率: r, = L (2.5) 这个例子里 , 5 0.1 , 计算r1,: ri = L r=5 0.1 = 0.5 值得注意的是 主 如果房产市场下降了。.2, ri = 5 (0.2) = -1, 就是 说买房产的保证金在市场小幅变化中全部损失掉了。银行就会为了保证其 资产的安全 , 将这个房产根据市场价格$240000收归银行所有 杠杆原理R代码 #Leverage 0.20*300000 0.80*300000 e 。 四 h c 。 e e a LA tr aa rm ”w “伸 向4 A 咱自品 , 噜A n Lr 300000*r 300000*r/60000 r_ L=L*r #return on leverage 2.4 回报率的估计 我们的投资者有3个不同的资产。 第一个是他的房产 , 我们周小z代表房产 每年的市场回报惑 , 在上面已经给出了。 他的第 二 个资产是在银行垦的存 款 , 每年0.06的利息, 6年没有变化, 用y来代表。他的第三个资产是购买的 一只股票 : 用z来代表, 这只股票先涨后跌 : 走势十分险峻 , 下面绘出了股 票六年中每年的回报惑: X = (.13 , 闭 , 0, -.01, -.025, .19) (.06, .06, .06, .06, .06, .06) z = (.09, .1, .2, -.2, -.05, .01) lJZ均值(Average) , 在这里我们使用的平均回报率 , 是每 一 个回报率数列 的平均值。房产的平均回报是:E的平均值0.05583333。存款的平均回掖是 白 的 (2.6) 2.4. 回报率的估计 rn 呈an (叫 Ill 0.05583333 mean (y) (1) 0.06 me arc ( z) (1)圈圈 v ar( x) (1) 0.007504167 var (y) (1 J 0 var ( z) (1) 0 . 0 193 9 cov( cbind (x,y,z) ) X y Z X 0.007504167 0 0.002695 y 0.000000000 0 0.000000 z 0.002695000 0 0.019390 Figure 2.3:回报率的偏计 15 平均值0.06 股票 的平均 因掖是z的平均值0 025。在R中可以使用n1ean() 函 敏计算。 方差(Variance)的概念用来描述 一 组数据偏离平均值的范围大小。我 们这里的数据是回报率 , 所以计算方差 , 就是计算回报旦在变化范围的大 小. Fi差越大 , 回报率的变化范围也越大。而且为差永远是大子。的 , 不可 能为负值在民中方差用var()函数计算。 方差协方差矩阵(Variance-Covariance Jvlatrix) 在二次形式的介绍 中 3 我们提到了 一 个对称矩阵A这 里的方差 协7号差矩阵就是二次形式 中的对称矩阵A.而且在后面内容中用到二次形式的时候 E 就必须使用方 差,协方差矩阵。方差,协方差矩阵是对称的 , 而且上丽计算的方差数值, 全 部者放在了方差 协为爱矩阵的对角线上。在R中这个矩阵使用cover()函数 计算 回报恕的估计 R代码 #return estimati。ns x=c( 13, .05,0,-.01,-.025, 19) 16 CilAPTEH. 2. 回报率 y=c (. 06, . 06, . 06, . 06, . 06, . 06) z = c(.09, 1, .2,-.2,-.05, .01) mean(x) mean(y) mean(z) var(x) var(y) var(z) cov(cbind(x,y,z) 2.5 预测回报率 做预测有很多种方法 , 可以使用历史数据 , 听取专家的建议 , 或者是自己 的凭空猜测 , 都可以用来预测未来但预测的结果是否精确 , 就要根据使 用的方法 , 大相径庭了。总而言之预测是 一 个非常复杂的应用数学问题。 这里我们只有位置介绍一种叫做Gar ch的模型 , 并且提供相关的R语言代 码 这 一 小节的描述有三个 目的 , 使用tser ies程序包读取欧元对美金(EUR USD )的 外汇牌价 , 通过牌价计算回报率数列 , 解读Garch模型输出的毅图 这小节的代码需要调用fgarch和tsereis网个程序包 , 安装和调用R程序 包请参看其它教程 , 这里不再介绍, R.函数get.hist.quote()可以从因特网上 抓取众多的股东 , 外汇之类的金融牌价 , 这里只是取得了2011-2- 1至 1 2012-2- l的欧元 对 美金的外汇价格。 然后做了 一 个简单的价格走势图(2.5)。 因为这歹 I 牌价数据 一 共有366个 , 是每日的牌价 , 我们计算的回报率 , 也是 相对前 一 天的每日回报率。 计算中采取(2.2)中log的策 略 因为log后的 牌价 , 再相狱就相当于相除所以我们把所有的牌价先做l ?.g , 然后用后 一 天的log牌价减去前 一 天的log牌价 , 再用exp函数做回来 , 就成了每日的总 回报率 , 再减 一 得到回报率计算中的相减是用“ff() 函数完成的 , 它的 作 用就是将后 一 个前去前 一 个的意思。用 P i+ I表示后 一 个牌价 , 用P i 表示 前 一 个牌价 , 每日的回报率就可以表示为: 门 explog(v;+ i) - log(JJi) - 1 (2.7) 在建立Gare 模型之前必须要检查数据的质量 , 就是要查看回报率QQ图(2.5和 :I Garchf:具 型QQ图(2.5)。主要是布图上的数据点是否处在 一 条直线上 , 如果在 一 条直 线上就说明正态分布。17 预测回报率 2.5. 的可eF 。叮 eF 的凹,F 。忡,F 布的 2 3 Jan Nov Sep Jul May Mar Index Figure 2.4: 欧元美金牌价2011-2012回报率 CilAPTEH. 2. 18 Return Q-Q Plot 。 。 。 OF0 o 的。 0 o 国 “ 6 000 o 00 0 , 的 EC 302 E 9 .s, 0 cP 的FO 0 3 2 。 -2 -3 Theoretical Quantiles Figure 2.5:巳URUSD 回报旦在QQ 图UJ 预测回报率 2.5. Residual Q-Q Plot 。 。 # OX 。 O O 的。 0 o GOO O D 00 O E 的 zcc3 QEC , OFQOE 。 。 的FO G 。 。 3 2 。 -2 - 3 刊1 eoretical Quantiles Figi.ue 2 6: EURUSD Garch模型QQ 图20 CilAPTEH. 2. 回报率 最后是Garch模型画出的预测图(2.5), 用信心区间的形式预测2012-2- 1以后的20天的回报率。在数列中存在着365个日回报率数据 但在预测图 上用黑线部分只画出了最后的90个日 回报惑。 可以看到日回报$在水平。线 的上下跳动 , 非 市接近 一 个随机的过程。 因中红线的部分是对回报率均值 的预测, 未来20天回报率均值是处在0的位置上的 。图 中蓝色线戈lj出了 一 个 上限毡图 , 绿线划出了一个下限范围 , 是指未来的日回报率将会随机的出 现在这两个范围之间 , 我们对这个憔论有95%信心 Gar ch模型预测回报旦在R代码 ) 、, qu he Fiw 牛、A rr ae FUGU 4A LU ( VJVJ V E V E 由 a a rr b b o唱牛 、品 、A 唱A eurusd 唰 get.hist.qu。te(instrument ” EUR/USD ” , pr。vider = “oanda“,end ” 2012-02-01 ” , start ” 2011-02-01 ” , ) plot(eurusd) eurusd=as.numeric(eurusd) r = exp(diff(log(eurusd)”1 、J lv o 句tE Dz nw nHU气 n r u l e EH 、J H ) r nr、 1y at 皿 1 s rn r飞e m d 、J rr、 r 。 tr、 nMnv SA ql c qp a m。del = garchFit(-arma(1,0)+garch(1,1),c 。nd.dist ” std ” , data=r, predicti。n interval = T) qqn。rm(m。delresiduals,main ” Residual Q-Q Plot ” ) predict(m 。del,n.ahead = 20,plot = TRUE) # T 95% interval 21 2.5. 预

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论