R语言金融工程中文教程


R 语语语言言言金金金融融融工工工程程程中中中文文文教教教程程程 Financial Engineering with R, Chinese Manual 李智 Li, Zhi February 4, 2014 匲 Contents 前前前言言言 i 符符符号号号注注注释释释 iii 1 线线线性性性代代代数数数 1 匱匮匱 关于函数 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱 匱匮匲 标量,向量和矩阵 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匳 匱匮匳 矩阵乘法和矩阵逆 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匵 匱匮匴 线性方程求解 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匷 匱匮匵 二次形式 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匸 2 回回回报报报率率率 9 匲匮匱 回报率的计算 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匹 匲匮匲 房产的价格 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匱 匲匮匳 杠杆原理 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匳 匲匮匴 回报率的估计 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匴 匲匮匵 预测回报率 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匶 3 债债债券券券种种种类类类 23 匳匮匱 零息匨博卥卲卯匩息票(千卯卵印卯卮)债券 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匲匳 匳匮匲 到期收益率匨卙卩卥卬卤 却卯 卍卡却卵卲卩却卹匩 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匲匵 匳匮匳 期限结构匨協卥卲卭 卓却卲卵卣却卵卲卥匩 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匲匶 4 投投投资资资组组组合合合理理理论论论 27 匴匮匱 组合两种资产匨協卷卯 十即即卥却即匩 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匲匷 匴匮匲 基本定义 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匳匰 匴匮匳 组合多种资产匨华 十即即卥却即匩 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匳匳 匴匮匴 资本资产定价模型匨千十卐卍匩 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匳匶 匴匮匵 卂卬卡卣卫匭卌卩却却卥卲卭卡卮模型(匱匹匹匱) 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匴匲 匳 匴 扃扏扎扔扅扎扔打 5 布布布莱莱莱克克克-肖肖肖尔尔尔斯斯斯模模模型型型(((Black-Scholes))) 45 匵匮匱 零回报 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匴匵 匵匮匲 相关的定义 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匴匸 匵匮匳 套利命题 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匴匸 匵匮匴 计算布莱克匭肖尔斯 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匵匰 6 对对对冲冲冲基基基金金金(Hedge Funds) 57 匶匮匱 套期保值匨卉卮即卵卲卥卤 卐卯卲却卦卯卬卩卯匩 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匵匷 匶匮匲 德尔塔避险匨卄卥卬却卡 卨卥卤卧卩卮卧匩 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匶匰 List of Figures 匲匮匱 房产的市场价格 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匲 匲匮匲 收房租就是分红 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匳 匲匮匳 回报率的估计 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匵 匲匮匴 欧元匯美金牌价 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匷 匲匮匵 卅单卒单卓卄回报率卑卑图 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匸 匲匮匶 卅单卒单卓卄 升卡卲卣卨 模型卑卑图 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匱匹 匲匮匷 欧元匯美金回报率预测 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匲匱 匴匮匱 两个资产投资组合作图 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匲匹 匴匮匲 默顿切线方法演示图 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匳匱 匴匮匳 默顿第一定理演示图 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匳匵 匴匮匴 资本市场线作图 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匳匸 匴匮匵 资本资产定价模型(千十卐卍)β估计 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匴匱 匵匮匱 匱匰个随机生成的股票价格序列 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匴匷 匵匮匲 认购价的凹性 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匵匱 匵匮匳 布莱克匭肖尔斯,波动性计算 匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮匮 匵匴 匶匮匱 套期保值再平衡策略投资价值走势举例插图 匮 匮 匮 匮 匮 匮 匮 匮 匮 匮 匶匱 匶匮匲 德尔塔避险再平衡策略投资花费举例输出插图 匮 匮 匮 匮 匮 匮 匮 匮 匮 匶匵 匵 匶 扌扉打扔 扏扆 扆扉扇払扒扅打 前前前言言言 在上小学的时候,有一年暑假回济南,去看望姥爷和姨,姨夫们。那天, 三姨和三姨夫在家里招待了我们所有的人。他们家小区的后面是一个没 有树的小山包。吃完晚饭,趁着明媚的夕阳,我们又一起去爬山。表哥, 我,和表弟,小哥三个,自然地排成了一个小队,向山顶走。旁边路过, 有一个老人,他用早上刚升起来的太阳形容我们。转眼二十多年的时间过 去了,感谢老人的鼓励,我们兄弟三个都有了属于自己的事业,为祖国的 发展做着贡献。 我非常喜欢走过北京机场協匳航站楼的出站口。因为那里众多急切接飞 机的人们,使我感觉像是一个明星,走在火红的地毯上。但是这次寒假回 国,只有老迈的妈妈来接我,爸爸再也不会来了。爸爸是一个老党员,去 世前大量写作,他起草完成过几千个技术专利申请的文件。我也要写作, 作为一个传统,实现人生价值的传统。 这主要还是一部关于卒语言编程应用的著作,最好的学习方法是把所 有卒语言程序的例子挑出来,运行后知道如何使用就可以了。知识本应该是 免费的,我只是没有精力都写出来。本书的每一章都独立成文,分开阅读 完全可行。重要的最后关于对冲的一章,是对这个概念的精确接触。如果 有对本书的意见提出,请加入与本书同名的卑卑群进行讨论,也可以联系作 者的卑卑匲匴匷匶匷匸匴匹匸匶。对冲是一个非常广泛应用,种类繁多的金融方法。再 继续进行举例,多写几百页,也不可能结束。基于点到为止,深入浅出的 原则,只给读者一点尝试,同时又练习了卒语言。 卩 卩卩 前言 符符符号号号注注注释释释 卲 匭 净回报率 卒 匭 毛回报率 卓 匭 方差协方差矩阵 卓 匭 股票价格 単 匭 期权履约价 µ 匭 期望值 σ2 匭 方差 σ 匭 标准差,波动性 却 匭 某一时间点 匁t 匭 某一个时间段却卩卭卥 却卯 卭卡却卵卲卩却卹 N匨匩 匭 正态分布概率的函数 卬卯卧 匭 对数函数计算 卥卸印 匭 指数函数计算 匆 匭 总和计算 卩卩卩 卩卶 符号注释 Chapter 1 线线线性性性代代代数数数(Linear Algebra) 1.1 关关关于于于函函函数数数 函数匨卆卵卮卣却卩卯卮匩是一个大学一年级的概念,虽然不是金融的有关部分,但它 是数学的基础,为了要是这本书能够做到自圆其说,在这里必须要介绍清 楚函数。对函数的的精确又简便的描述是:数数数据据据入入入数数数据据据出出出(Data In Data Out)。例如有一个名叫f匨x匩的函数: f匨x匩 匽 匳x2 匨匱匮匱匩 卒 卣卯卤卥区 x=7 f=3*x^2 f 在这个函数中,x只是一个用来占位子的符号,也是数据输入的位置。 如果输入x 匽 匷,这个函数就会根据其带有的表达式进行计算,匳 × 匷2,然 后输出f匨匷匩 匽 匱匴匷的结果。值得注意的是,函数是不可以有模棱两可的输出 的,对于已经定义的函数匨匱匮匱匩,如果输入的数值是匷,那么输出的数值只可 能是匱匴匷,不可能是其他的数值。这样就生成了一个从匷到匱匴匷的指向关系, 所以函数也被称作映象匨卍卡印印卩卮卧匩: 匷 → 匱匴匷 但是换一个角度来看,−匷也可以通过函数匨匱匮匱匩指向匱匴匷匨匌也就是说一个函数 的输入可以是多个的,却都可以指向同一个输出: 匷 −匷  → 匱匴匷 匱 匲 扃扈扁扐扔扅扒 戱戮 线性代数 更多的情况下,需要使用函数建立一一对应匨卂卩卪卥卣却卩卯卮匩的映象关系,也就是 说,一个输入值只对应一个输出值,而且一个输出值也只能对于一个输入 值。例如函数匨匱匮匱匩,可以取消−匷对应匱匴匷的可能性,只允许匷对应匱匴匷。这就 需要定义x的有效范围x ≥ 匰,在这个有效范围之内,所有的x和f匨x匩之间就 建立起了一一对应的映象关系: f匨x匩 匽 匳x2 x ≥ 匰 匨匱匮匲匩 数学写法匨华卯却卡却卩卯卮匩十分重要,它是记录数学语言的方式。比方上面用f匨x匩指 代函数匨匱匮匱匩,和使用x作为占位子的符合,甚至使用匰来代表什么都没有, 都是数学写法。这些写法使困难的事情变得简单,使不可能完成的事变得 可能。 复合函数匨千卯卭印卯即卩却卥 卆卵卮卣却卩卯卮匩被记为f ◦ g,是把一个函数的输出作为另一 个函数的输入,然后输出最终结果。具体来讲g匨匩是一个函数,它的输入 是x。然后f匨匩也是一个函数,它的输入是g匨x匩: f ◦ g匨x匩 匽 f匨g匨x匩匩 匨匱匮匳匩 使用上面函数匨匱匮匱匩,f匨x匩 匽 匳x2,然后定义一个新函数g匨x匩 匽 x − 匸,只需 要把g匨匩的结果输入到f匨匩的里面,就生成了这个复合函数: f ◦ g匨x匩 匽 f匨g匨x匩匩 匽 f匨x − 匸匩 匽 匳匨x − 匸匩2 卒 卣卯卤卥区 x<-7 g<-function(x){x-8} f<-function(x){3*x^2} f(g(x)) 最大值函数匨卍卡卸卩卭卵卭 卆卵卮卣却卩卯卮匩输出最大值的函数,写法卭卡卸匨匩。比方 说有组数值被存放在了电脑里,需要找出其中最大的数值,就需要使用最 大值函数。例如这组数值为: 匳.匱匴 匱匰匰匰 匰.匵 匹匹匹 −匹匹匹匹 。要找出其 中最大值,使用卭卡卸匨匩可以得出结果: 卭卡卸匨匳.匱匴, 匱匰匰匰, 匰.匵, 匹匹匹, −匹匹匹匹匩 匽 匱匰匰匰 匨匱匮匴匩 卒 卣卯卤卥区 max(3.14 , 1000 , 0.5 , 999 , -9999) 在这里等于号匽可以被理解成输出的意思。 戱戮戲戮 标量,向量和矩阵 匳 1.2 标标标量量量,,,向向向量量量和和和矩矩矩阵阵阵 数学家和统计学家之间总存在着一种争论,向量应该是横着的还是竖着 的。数学家们喜欢把向量竖着放,统计学家喜欢把向量横着放。他们从来 都是不同意对方的做法,认为对方的做法很傻。这两种不同的做法,都有 着其中不同的历史和传承。在这里我们不会去关心统计学,所以这里的向 量都是竖着放的。 标量匨卓卣卡卬卡卲匩只是一个数值,可以用任何符号来代表,大家可以把它理 解成只有一行一列的匱 × 匱矩阵。 向量匨卖卥卣却卯卲匩指的是一列数字,也被称为数列,它是只有一列,但可以 有很多行的匱 × n矩阵。 卒 卣卯卤卥区 x=10 #Scalar y=c(3.14 , 1000 , 0.5 , 999 , -9999) #Vector 矩阵匨卍卡却卲卩卸匩是把多个向量放在了一起,这就使矩阵可以是多行多 列m × n,这个英文词汇原本和环境、富饶多产的土壤有关系。可以使 用卒语言,生成几个向量,放在一起,并输出生成的矩阵: 卒 卣卯卤卥区 x=c(1,2,3) #vector y=c(4,5,6) #vector z=c(7,8,9) #vector A=cbind(x,y,z)#matrix A 矩阵转置匨協卲卡卮即印卯即卥匩是把矩阵里每一列的数字写在行里,写法是在代表 矩阵的符号右上角画上一个小T。例如上面语句中生成的矩阵A,它的转置 就是AT: A 匽 匱 匴 匷 匲 匵 匸 匳 匶 匹 AT 匽 匱 匲 匳 匴 匵 匶 匷 匸 匹 匨匱匮匵匩 卒 卣卯卤卥区 x=c(1,2,3) #vector y=c(4,5,6) #vector z=c(7,8,9) #vector A=cbind(x,y,z)#matrix t(A) #traspose 匴 扃扈扁扐扔扅扒 戱戮 线性代数 向量和常量都属于矩阵,所以向量和常量都可以被转置。竖着的向量转 置后就成了横着的向量,横着的向量被转置后就成了竖着的向量。常量的 转置还是常量,没有变化。 x 匽 匱 匲 匳 xT 匽 匱 匲 匳 b 匽 匱 匳 匵 bT 匽 匱 匳 匵 a 匽 |匱匰| aT 匽 |匱匰| 对称匨卓卹卭卭卥却卲卹匩是说,如果一个转置后的矩阵m × m,必须是正方形的 矩阵,与其没有转置的时候相同,被称为对称矩阵。下面就是一个用S代表 的对称矩阵,无论如何转置,都不会有变化。 S 匽 匱 匲 匳 匲 匵 匴 匳 匴 匶 加法匨十卤卤卩却卩卯卮匩,矩阵的加法,是把矩阵中有相同位置的数值,对应相加, 这也就使相加的矩阵之间必须有相同的行数和列数,例如: x 匫 y 匽 匱 匲 匳 匫 匴 匵 匶 匽 匱 匫 匴 匲 匫 匵 匳 匫 匶 匽 匵 匷 匹 卒 卣卯卤卥: x=c(1,2,3) #vector y=c(4,5,6) #vector x+y A匫B 匽 匱 匴 匷 匲 匵 匸 匳 匶 匹 匫 匱 匱 匱 匲 匲 匲 匳 匳 匳 匽 匱 匫 匱 匴 匫 匱 匷 匫 匱 匲 匫 匲 匵 匫 匲 匸 匫 匲 匳 匫 匳 匶 匫 匳 匹 匫 匳 匽 匲 匵 匸 匴 匷 匱匰 匶 匹 匱匲 卒 卣卯卤卥: x=c(1,2,3) #vector y=c(4,5,6) #vector z=c(7,8,9) #vector A=cbind(x,y,z)#matrix B=cbind(x,x,x)#matrix A+B 戱戮戳戮 矩阵乘法和矩阵逆 匵 一个常量可以和任何行数和列数的矩阵相加,尽管常量会与矩阵的行数 和列数不同,只需要把矩阵中的所有数字,与这个常量相加,例如: a 匫 A 匽 匱匰 匫 匱 匴 匷 匲 匵 匸 匳 匶 匹 匽 匱匰 匫 匱 匱匰 匫 匴 匱匰 匫 匷 匱匰 匫 匲 匱匰 匫 匵 匱匰 匫 匸 匱匰 匫 匳 匱匰 匫 匶 匱匰 匫 匹 匽 匱匱 匱匴 匱匷 匱匲 匱匵 匱匸 匱匳 匱匶 匱匹 卒 卣卯卤卥: a=10 A=cbind(x,y,z)#matrix a+A 1.3 矩矩矩阵阵阵乘乘乘法法法和和和矩矩矩阵阵阵逆逆逆 点乘匨卄卯却 卐卲卯卤卵卣却匩,指的是两个相同长度的向量,先把相同位置的数值相 乘,然后把所有的乘积加起来做和。这种向量之间的乘法的写法是一个圆 点,所以叫做点乘,例如: x · y 匽 X 匱 匲 匳 · 匴 匵 匶 匽 X 匱 × 匴 匲 × 匵 匳 × 匶 匽 X 匴 匱匰 匱匸 匽 匴 匫 匱匰 匫 匱匸 匽 匳匲 卒 卣卯卤卥: x=c(1,2,3) #vector y=c(4,5,6) #vector x%*%y 但是,平时书写点乘的时候,需要把两个向量里,处在前面的向量横过 来,这是从解决线性方程中来的传统,例如使用传统方法的点乘: x · y 匽 | 匱 匲 匳 | · 匴 匵 匶 匽 匱 × 匴 匫 匲 × 匵 匫 匳 × 匶 匽 匳匲 使用传统方法的点乘,行与列之间的相乘相加,还可以定义矩阵乘以向 量,做法如下: A· x 匽 匱 匴 匷 匲 匵 匸 匳 匶 匹 · 匱 匲 匳 匽 匱 × 匱 匫 匴 × 匲 匫 匷 × 匳 匲 × 匱 匫 匵 × 匲 匫 匸 × 匳 匳 × 匱 匫 匶 × 匲 匫 匹 × 匳 匽 匳匰 匳匶 匴匲 卒 卣卯卤卥区 匶 扃扈扁扐扔扅扒 戱戮 线性代数 A%*%x 矩阵与矩阵之间的相乘,也是用行乘以列来定义,结果是一个矩阵。矩阵 的相乘是复合函数匨匱匮匳匩在矩阵上的应用区 A·A 匽 匱 匴 匷 匲 匵 匸 匳 匶 匹 · 匱 匴 匷 匲 匵 匸 匳 匶 匹 匽 匳匰 匶匶 匱匰匲 匳匶 匸匱 匱匲匶 匴匲 匹匶 匱匵匰 卒 卣卯卤卥区 A%*%A 从上面一系列的卒代码中可以清楚的看到,点乘的卒语言命令,使用匥∗匥来 代表,并完成运算的。 矩阵逆匨卍卡却卲卩卸 卉卮卶卥卲即卥匩,指的是使用一个矩阵的逆,和这个矩阵相乘, 乘积是一个只在左右对角线上是匱,其他位置是匰的矩阵。矩阵逆的写法, 是把减一符号放在表示矩阵符号的右上角。找到一个矩阵的逆不是一件容 易的事,但卒语言提供了solve匨匩函数来解决这个问题。在下面的例子里,可 以看到,一个矩阵乘以它的逆,结果的确是一个匰匬匱矩阵: A·A−1 匽 匱 匴 匷 匲 匰 匸 匳 匶 匹 · −匰.匸 匰.匱 匰.匵匳匳匳 匰.匱 −匰.匲 匰.匱 匰.匲 匰.匱 −匰.匱匳匳匳 匽 匱 匰 匰 匰 匱 匰 匰 匰 匱 卒 卣卯卤卥区 A=matrix(c(1,4,7,2,0,8,3,6,9),nrow=3,ncol=3,byrow = TRUE) solve(A) A%*%solve(A) 满秩矩阵匨卆卵卬卬 卒卡卮卫 卍卡却卲卩卸匩,并不是所有的正方形矩阵都有逆,这也 是把匰放入上面十矩阵的原因。只有满秩矩阵才有逆。因为有时候在矩阵 中,有些行或列可以使用其它的行和列表达出来,能被其它行和列表达出 来的,就不带有比其它行和列更多的信息。所以矩阵中所有的行、列,都 不能被其它行、列表达,就说明这个矩阵有足够的信息,也就是满秩,还 可以被称为非奇匨华卯卮匭即卩卮卧卵卬卡卲匩。 笛卡尔乘积匨千卡卲却卥即卩卡卮 卐卲卯卤卵卣却匩,指的是两个向量相乘,用一个竖直的 向量,乘以另一个横躺的向量。不是相同位置的数值相乘再作和。而是每 一个数值,都与另一个向量里的数值相乘: x × y 匽 匱 匲 匳 × 匴 匵 匶 匽 匱 × 匴 匱 × 匵 匱 × 匶 匲 × 匴 匲 × 匵 匲 × 匶 匳 × 匴 匳 × 匵 匳 × 匶 笛卡尔乘积的符号是一个小差号,笛卡尔乘积实际上表示的是计算机程序 算法中的卦卯卲匭卬卯卯印循环。 戱戮戴戮 线性方程求解 匷 1.4 线线线性性性方方方程程程求求求解解解 多元的线性方程,是每个高中学生都有能力解决的问题。请看下面的例 子: 匳x 匫 匶y 匫 匲z 匽 匵 匨匱匮匶匩 匲x 匫 匵y 匫 匴z 匽 匱匱 匲匶x 匫 匵匹y 匫 匳匶z 匽 匷 可以看出这组线性方程是没有解的。因为第一个方程中的系数乘以匴,再加 上第二个方程的系数乘以匷,就是第三个方程的系数。也就是说第三个方 程可以用第一、二个方程来代表。所以这组线性方程是奇异的,是不满秩 的。 再举一个满秩例子,来学习使用卒语言解线性方程: x 匫 匴y 匫 匷z 匽 匱匱 匨匱匮匷匩 匲x 匫 匸z 匽 匹 匳x 匫 匶y 匫 匹z 匽 匵 把这组线性方程写成矩阵形式: 匱 匴 匷 匲 匰 匸 匳 匶 匹 · x y x 匽 匱匱 匹 匵 等号左右两边都乘以系数矩阵的逆: 匱 匴 匷 匲 匰 匸 匳 匶 匹 −1 · 匱 匴 匷 匲 匰 匸 匳 匶 匹 · x y x 匽 匱 匴 匷 匲 匰 匸 匳 匶 匹 −1 · 匱匱 匹 匵 x y z 匽 匱 匴 匷 匲 匰 匸 匳 匶 匹 −1 · 匱匱 匹 匵 匽 −匵.匲匳 −匰.匲 匲.匴匳 卒 卣卯卤卥区 A=matrix(c(1,4,7,2,0,8,3,6,9),nrow=3,ncol=3,byrow = TRUE) f=c(11,9,5) solve(A)%*%f 匸 扃扈扁扐扔扅扒 戱戮 线性代数 1.5 二二二次次次形形形式式式 二次形式匨卑卵卡卤卲卡却卩卣 卆卯卲卭匩是把多元二次方程用矩阵的写法表达出来,多 元二次方程和二次形式实际上是同一个东西,只是它们的书写形式有所区 别。例如,这里是最普通的二元二次方程: x2 匫 匲xy 匫 y2 二元指的是两个变量x、y,二次指的是每一项的次方为二。表达式匨匱匮匸匩可 以被写成矩阵形式: x y · 匱 匱 匱 匱 · x y 所有的二元二次方程都可以把变量提出来,写成一个向量,用x代表。并且 把系数提出来写成一个对称的正方形矩阵,用A代表。二次形式就成为了向 量和矩阵之间的点乘: xT Ax 匨匱匮匸匩 卒 卣卯卤卥区 t(x)%*%A%*%x 表达式匨匱匮匸匩是二次形式的准确表述。可以看出,二次形式只有匳个部 分,一个向量横过来,乘以一个正方形的矩阵,再乘以这个向量竖着放。 表达式匨匱匮匸匩并没有要求正方形的矩阵A是对称的,但是为了要使二次形式整 齐好看,所有的教科书都会额外规定矩阵A是对称的。矩阵A装载的是多元 二次方程里系数的信息,不改变多元二次方程的系数,矩阵A是完全可以被 写为对称的。 Chapter 2 回回回报报报率率率(((Returns))) 2.1 回回回报报报率率率的的的计计计算算算 净回报率匨华卥却 卒卥却卵卲卮匩,可以被想象成银行的存款利息。比方说银行的存 款年利息是匶匥,存入本金匨卄卥印卯即卩却匩匤匱匰匰匰匰,一年后再取出来,存款就变成 了匤匱匰匶匰匰。如果说这匤匱匰匰匰匰是一笔投资,匶匥就是这笔投资的回报率。这一 正本书都是关于回报率的描述,为了体现回报率的重要性,在编程和写作 中,我们使用一个专门的英文字母,小写的r指代回报率。这个银行存款的 例子里r 匽 匰.匰匶。 收益匨卒卥卶卥卮卵卥匩,指的是经过投资,增长出的,以前本金中没有的数 额。收益可以是正值或负值,正值说明投资挣到了钱,负值说明投资赔 了钱。在上面存款的例子里,收益是匤匶匰匰。写成数学语言:Revenue 匽 r × Deposit 匽 匰.匰匶 × 匱匰匰匰匰 匽 匶匰匰。 总回报率匨升卲卯即即 卒卥却卵卲卮匩,也被称为毛回报率,指的是经过投资,结果 的总数与本金之间的比率。总回报率的计算十分简便,只需用匱匫净回报 率。我们也使用一个专门的英文字母,大写的R来代表总回报率。在这个银 行存款的例子里,总回报率是匱匮匰匶。写成数学语言:R 匽 匱 匫 r 匽 匱 匫 匰.匰匶 匽 匱.匰匶。 复利匨卣卯卭印卯卵卮卤 卲卥却卵卲卮匩,比方说本金仍旧是匱匰匰匰匰,银行年利息匰匮匰匶, 经过一年的存款,把全部的金额匱匰匶匰匰再次存入银行,去挣匰匮匰匶的年利。又 过了一年,再把当年的本金加利息,统统存入银行,又可以有匰匮匰匶的利息。 这就叫做计复利,或者复利存款。在这里,每一年都有匱匮匰匶的总回报率。最 终的总回报率,是把每一年的总回报率都相乘起来。用本金乘以最终的总 回报率,就是最终存款的总结果。用n代表复利存款的年数,复利最终的总 回报率可以写成: R 匽 匨匱 匫 r匩 × 匨匱 匫 r匩 × 匨匱 匫 r匩 × · · · 匽 匨匱 匫 r匩n 匨匲匮匱匩 匹 匱匰 扃扈扁扐扔扅扒 戲戮 回报率 代入例子里的数值,年利匰匮匰匶,存了匱匰年,最终总回报率: R 匽 匨匱 匫 匰.匰匶匩 × 匨匱 匫 匰.匰匶匩 × 匨匱 匫 匰.匰匶匩 × · · · 匽 匨匱 匫 匰.匰匶匩10 匽 匱.匷匹匰匸匴匸 匱匰年后复利存款的总数为: T otal 匽 Deposit × R 匽 匱匰匰匰匰 × 匱.匷匹匰匸匴匸 匽 匱匷匹匰匸.匴匸 进一步观察公式匨匲匮匱匩可以发现,卬卯卧匨R匩 匽 卬卯卧匨匱.匷匹匰匸匴匸匩 匽 匰.匵匸匲匶匸匹匱,而 且匱匰 卬卯卧匨匱匫匰.匰匶匩 匽 匰.匵匸匲匶匸匹匱,两种算法得到了相同的结果。因为卥卸印是卬卯卧的 反函数,把卥卸印用在匱匰 卬卯卧匨匱 匫 匰.匰匶匩上,也可以得到匱匮匷匹匰匸匴匸的结果。我们就 有了另外一种计算复利最终总回报率的公式: R 匽 卥卸印 nX i=1 卬卯卧匨匱 匫 r匩 匨匲匮匲匩 连续复利匨卣卯卮却卩卮卵卯卵即 卲卥却卵卲卮匩可以被想象成,存款的期限被切成了无数尽可 能小的时间段,回报率也随着这些小的时间段被切成了小块。用这些小的 时间段,和小块的利息,来计算复利。还是使用上面年利匰匮匰匶的例子,这一 年被切成了无数非常小的时间段,每一个小时间段都有一个小块的利息。 每一个小时间段过后,就把本金和利息全部复利再存到下一个小时间段, 直到一年结束。问像这样进行了无数次小复利,一年终总回报率是多少。 可以用连续复利公式计算: R 匽 卥卸印匨rt匩, 匰 ≤ t ≤ 匱 匨匲匮匳匩 公式匨匲匮匳匩里的t代表的不是一般的时间,而是在总时间期限中的比例。如果 总期限是一年,存了半年,只占总期限的匰匮匵,那么t 匽 匰.匵。如果总期限是 一年,存了匹个月,占总期限的匰匮匷匵,那么t 匽 匰.匷匵。当然,如果总期限是一 年,存了匱匲个月,t 匽 匱。还有r是总期限到期,不计复利的回报率。我们使 用r 匽 匰.匰匶,t 匽 匱,计算一年期连续复利: R 匽 卥卸印匨rt匩 匽 e(匰.匰匶 × 匱匩 匽 匱.匰匶匱匸匳匷 匨匲匮匴匩 回回回报报报率率率的的的计计计算算算R代代代码码码 r=.06 deposite=10000 # Revenue r*10000 戲戮戲戮 房产的价格 匱匱 # Gross return R=1+r # Total (1+r)*10000 # Compound Interest for 10 Years year=1:10 deposit=10000 gross_return=(1+.06)^year total=gross_return*10000 cbind(year,gross_return,total) #Compound Interest by Sum log(1.790848 ) 10*log(1+0.06) exp(10*log(1+0.06)) #Continuous Return r=0.06 dt=1 exp(r*dt) 2.2 房房房产产产的的的价价价格格格 市场价格匨卍卡卲卫卥却 印卲卩卣卥匩,一个资产会随着市场的变化而改变价格,在这 里我们用房地产为例,来展示资产的市场价格和回报率是如何计算的。 比方说,有个人买了一幢住宅,买入的价格为匳匰万美元。他持有这所房 产匶年,第一年房产市场上涨了匱匳匥,第二年房产市场又上涨了匵匥,第 三年房产市场没有任何变化,第四年房产市场下跌了匱匥,第五年房产 市场又下跌了匲匮匵匥,第六年房产市场突然大涨匱匹匥。我们用一个数列r 匽 匨.匱匳,.匰匵, 匰, −.匰匱, −.匰匲匵,.匱匹匩代表房产市场的变化,因为这些变化都是我们 所称的回报率。使用R yr 匽 匱 匫 r代表每一年的总回报率,在银行存款的例 子里每一年的总回报率是不变的匱.匰匶,但R yr是随着市场变化的。我们使 用作卬卯卧和卥卸印的公式匨匲匮匲匩把R yr乘起来作复利。 代码中有使用到卣卵卭即卵卭匨匩函数,这是作积累和的函数。比方说,数列 中第一个数字是匱,它自己的积累是它本身。然后匲出现了,匲要和匱积累到 一起,结果是匳。然后匳出现了,匳要和匱匬匲积累到一起,结果是匶。然后匴出现 了,匴要和匱匬匲匬匳积累到一起,结果是匱匰。然后匵出现了,匵要和匱匬匲匬匳匬匴积累到 匱匲 扃扈扁扐扔扅扒 戲戮 回报率 卆卩卧卵卲卥 匲匮匱区 房产的市场价格 一起,结果是匱匵。使用下面的卒代码,可以看到这样的结果: x=c(1,2,3,4,5) cumsum(x) 我们使用大写的R,代表计复利后每年的总回报率。市场价格计算 为price 匽 匳匰匰匰匰匰 × R。来看用数据表格方式输出的结果,截图匨匲匮匲匩一 共匶行数据,每一行代表一年。小r列是房产市场的每年回报率,大R列是房 产市场计算复利的每年总回报率。房产市场在第一年上升了匰匮匱匳,第一年的 总回报率是匱匮匱匳,这个房产在第一年达到价值匤匳匳匹匰匰匰。到了第六年,通过 复利计算,房产市场的总回报率比较刚购入房产的时候,上升至匱匮匳匶,这个 房产的价值也达到了匤匴匰匸匸匶匱匮匱。 收房租就是分红匨卒卥卮却卩卮卧 十卋十 卄卩卶卩卤卥卮卤即匩,房产出租可以增加这个房 产投资的回报。仍旧是这个购入价格匤匳匰匰匰匰匰的房产,在购买者的手里持 有了匶年,房产市场每一年的回报还是承袭上面的计算。这个人将这所 房产以匤匱匲匰匰每月的价格出租了出去,每年可以得到匤匱匴匴匰匰的房租。要求 计算匶年后这所房产投资的回报率。很明显,房租要给这个投资积累回 报,匶年的房租总数是匤匸匶匴匰匰。再加上这所房产第六年的市价匤匴匰匸匸匶匱匮匱,在 这个投资上积累的总财富就达到了匤匴匰匸匸匶匱.匱 匫 匤匸匶匴匰匰 匽 匤匴匹匵匲匶匱.匱,第六 年的总回报率,算上房租,为匤匴匹匵匲匶匱.匱/匳匰匰匰匰匰 匽 匱.匶匵匰匹。这个投资者很 幸运,房产买入时价值匤匳匰匰匰匰匰,到第六年房产价值就上升到了匤匴匰匸匸匶匱匮匱, 是原价的匱匮匳匶倍。六年来累积的房租价值为匤匸匶匴匰匰,所以总回报率是匱匮匶匵, 一个不小的数字。请参看截图匨匲匮匲匩。 房房房价价价计计计算算算R代代代码码码 # Price of a Townhouse price0=300000 #US Dollars year=1:6 戲戮戳戮 杠杆原理 匱匳 卆卩卧卵卲卥 匲匮匲区 收房租就是分红 r=c(.13,.05,0,-.01,-.025,.19) R_yr=1+r log_R_yr=log(R_yr) sum=cumsum(log_R_yr) R=exp(sum) price=R*price0 cbind(year,r,R_yr,log_R_yr,sum,R,price) #Renting the House AKA Dividends 1200 #monthly rent 12*1200 #yearly rent rent=cumsum(rep(14400,6)) value=price+rent R=value/price0 cbind(price,rent,value,R) 2.3 杠杠杠杆杆杆原原原理理理 金融杠杆匨卌卥卶卥卲卡卧卥匩可以被想象成贷款买房。比方说,购买一所价值匤匳匰匰匰匰匰的 房产,需要匲匰匥的保证金匨卍卡卲卧卩卮匩,也就是首付匤匶匰匰匰匰,剩下的匤匲匴匰匰匰匰是 从银行里借的。这样买房的人就用匤匶匰匰匰匰的资金,撬动了匤匳匰匰匰匰匰的房产, 比例是匱区匵。 如果房产市场上升了匰匮匱,这个房产的价值就涨到匤匳匳匰匰匰匰,带来的收益 是匤匳匰匰匰匰。这个收益是保证金的匰匮匵。房产市场只上涨了匰匮匱,使用杠杆使得 收益放大了匵倍。如果房产市场下降了匭匰匮匱,杠杆还是会使收益放大匵倍,使 匱匴 扃扈扁扐扔扅扒 戲戮 回报率 用保证金进行投资的回报率成了匭匰匮匵。 所以,我们用大写的L代表杠杆比例,用小r代表市场的回报率,用rL代 表凭借保证金投资的回报率: rL 匽 L × r 匨匲匮匵匩 这个例子里,L 匽 匵 r 匽 匰.匱,计算rL区 rL 匽 L × r 匽 匵 × 匰.匱 匽 匰.匵 值得注意的是,如果房产市场下降了匭匰匮匲,rL 匽 匵 × 匨−匰.匲匩 匽 −匱,就是 说买房产的保证金在市场小幅变化中全部损失掉了。银行就会为了保证其 资产的安全,将这个房产根据市场价格匤匲匴匰匰匰匰收归银行所有。 杠杠杠杆杆杆原原原理理理R代代代码码码 #Leverage 0.20*300000 0.80*300000 L=1/0.2 #ratio r=0.1 #market change 300000*r 300000*r/60000 r_L=L*r #return on leverage 2.4 回回回报报报率率率的的的估估估计计计 我们的投资者有匳个不同的资产。第一个是他的房产,我们用小x代表房产 每年的市场回报率,在上面已经给出了。他的第二个资产是在银行里的存 款,每年匰匮匰匶的利息,匶年没有变化,用y来代表。他的第三个资产是购买的 一只股票,用z来代表,这只股票先涨后跌,走势十分险峻,下面给出了股 票六年中每年的回报率: x 匽 匨.匱匳,.匰匵, 匰, −.匰匱, −.匰匲匵,.匱匹匩 匨匲匮匶匩 y 匽 匨.匰匶,.匰匶,.匰匶,.匰匶,.匰匶,.匰匶匩 z 匽 匨.匰匹,.匱,.匲, −.匲, −.匰匵,.匰匱匩 平均值匨十卶卥卲卡卧卥匩匬在这里我们使用的平均回报率,是每一个回报率数列 的平均值。房产的平均回报是x的平均值匰匮匰匵匵匸匳匳匳匳。存款的平均回报是y的 戲戮戴戮 回报率的估计 匱匵 卆卩卧卵卲卥 匲匮匳区 回报率的估计 平均值匰匮匰匶。股票的平均回报是z的平均值匰匮匰匲匵。在卒中可以使用卭卥卡卮匨匩函 数计算。 方差(卖卡卲卩卡卮卣卥)的概念用来描述一组数据偏离平均值的范围大小。我 们这里的数据是回报率,所以计算方差,就是计算回报率变化范围的大 小。方差越大,回报率的变化范围也越大。而且方差永远是大于匰的,不可 能为负值。在卒中方差用卶卡卲匨匩函数计算。 方差匭协方差矩阵(卖卡卲卩卡卮卣卥匭千卯卶卡卲卩卡卮卣卥 卍卡却卲卩卸),在二次形式的介绍 中,我们提到了一个对称矩阵A。这里的方差匭协方差矩阵就是二次形式 中的对称矩阵A。而且在后面内容中用到二次形式的时候,就必须使用方 差匭协方差矩阵。方差匭协方差矩阵是对称的,而且上面计算的方差数值,全 部都放在了方差匭协方差矩阵的对角线上。在卒中这个矩阵使用卣卯卶卥卲匨匩函数 计算。 回回回报报报率率率的的的估估估计计计R代代代码码码 #return estimations x=c(.13,.05,0,-.01,-.025,.19) 匱匶 扃扈扁扐扔扅扒 戲戮 回报率 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 预预预测测测回回回报报报率率率 做预测有很多种方法,可以使用历史数据,听取专家的建议,或者是自己 的凭空猜测,都可以用来预测未来。但预测的结果是否精确,就要根据使 用的方法,大相径庭了。总而言之预测是一个非常复杂的应用数学问题。 这里我们只有位置介绍一种叫做升卡卲卣卨的模型,并且提供相关的卒语言代 码。 这一小节的描述有三个目的,使用却即卥卲卩卥即程序包读取欧元对美金匨卅单卒单卓卄匩的 外汇牌价,通过牌价计算回报率数列,解读升卡卲卣卨模型输出的截图。 这小节的代码,需要调用卦卧卡卲卣卨和却即卥卲卥卩即两个程序包,安装和调用卒程序 包请参看其它教程,这里不再介绍。卒函数卧卥却匮卨卩即却匮危卵卯却卥匨匩可以从因特网上 抓取众多的股票,外汇之类的金融牌价,这里只是取得了匲匰匱匱匭匲匭匱到匲匰匱匲匭匲匭 匱的欧元对美金的外汇价格。然后做了一个简单的价格走势图匨匲匮匵匩。 因为这列牌价数据一共有匳匶匶个,是每日的牌价,我们计算的回报率, 也是相对前一天的每日回报率。计算中采取匨匲匮匲匩中卬卯卧的策略,因为卬卯卧后的 牌价,再相减就相当于相除。所以我们把所有的牌价先做卬卯卧,然后用后一 天的卬卯卧牌价减去前一天的卬卯卧牌价,再用卥卸印函数做回来,就成了每日的总 回报率,再减一得到回报率。计算中的相减是用diff匨匩函数完成的,它的作 用就是将后一个前去前一个的意思。用pi+1表示后一个牌价,用pi表示前一 个牌价,每日的回报率就可以表示为: ri 匽 卥卸印{卬卯卧匨pi+1匩 − 卬卯卧匨pi匩} − 匱 匨匲匮匷匩 在建立升卡卲卣卨模型之前必须要检查数据的质量,就是要查看回报率卑卑图匨匲匮匵匩和升卡卲卣卨模 型卑卑图匨匲匮匵匩。主要是看图上的数据点是否处在一条直线上,如果在一条直 线上就说明正态分布。 戲戮戵戮 预测回报率 匱匷 卆卩卧卵卲卥 匲匮匴区 欧元匯美金牌价匲匰匱匱匭匲匰匱匲 匱匸 扃扈扁扐扔扅扒 戲戮 回报率 卆卩卧卵卲卥 匲匮匵区 卅单卒单卓卄回报率卑卑图 戲戮戵戮 预测回报率 匱匹 卆卩卧卵卲卥 匲匮匶区 卅单卒单卓卄 升卡卲卣卨 模型卑卑图 匲匰 扃扈扁扐扔扅扒 戲戮 回报率 最后是升卡卲卣卨模型画出的预测图匨匲匮匵匩,用信心区间的形式预测匲匰匱匲匭匲匭 匱以后的匲匰天的回报率。在r数列中存在着匳匶匵个日回报率数据,但在预测图 上用黑线部分只画出了最后的匹匰个日回报率。可以看到日回报率在水平匰线 的上下跳动,非常接近一个随机的过程。图中红线的部分是对回报率均值 的预测,未来匲匰天回报率均值是处在匰的位置上的。图中蓝色线划出了一个 上限范围,绿线划出了一个下限范围,是指未来的日回报率将会随机的出 现在这两个范围之间,我们对这个推论有匹匵匥信心。 Garch模模模型型型预预预测测测回回回报报报率率率R代代代码码码 library(fGarch) library(tseries) eurusd <- get.hist.quote(instrument = "EUR/USD", provider = "oanda",end="2012-02-01", start = "2011-02-01",) plot(eurusd) eurusd=as.numeric(eurusd) r=exp(diff(log(eurusd)))-1 qqnorm(r,main="Return Q-Q Plot") plot(density(r)) acf(r) model = garchFit(~arma(1,0)+garch(1,1),cond.dist="std",data=r, prediction.interval=T) qqnorm(model@residuals,main="Residual Q-Q Plot") predict(model,n.ahead=20,plot=TRUE) # T 95% interval 戲戮戵戮 预测回报率 匲匱 卆卩卧卵卲卥 匲匮匷区 欧元匯美金回报率预测 匲匲 扃扈扁扐扔扅扒 戲戮 回报率 Chapter 3 债债债券券券种种种类类类(Bonds) 什么是债券(卂卯卮卤)?债券其实就是银行存款和贷款,数值为正就是存 款,数值为负就是贷款,关键在于利率是固定的。零息债券是计复利的存 款和贷款,息票债券是不计复利的存款和贷款。 3.1 零零零息息息(Zero)息息息票票票(((Coupon)))债债债券券券 在计算机网络存在以前,定期债券都是用纸张印刷的凭证。上面会印有证 书的签发日期,和到期日期,还会清楚的印有债券的面值。如果证券到了 期,持有人就可以去金融机构把证券兑换成相等数量的钞票。在金融界, 恒定不二的法则,必须花钱买收益。债券的定价,就成为了,不断被讨论 和更新的问题。我们先讨论一个简单的例子,叫零息债券。 比方说,有人向你兜售一张面值匤匱万元的零息债券,匱匰年后到期,换句 话说,凭着这张债券,匱匰年后可以到金融机构里去换匱万元的钱。问你会用 多少钱来买这张零息债券。你回答说,这完全取决于我的银行存款模式: 匱匮 现在的银行年利率是匰匮匰匶,使用每年计算复利,存款匱匰年,只需 要匤匵匵匸匳匮匹匴匸就可以拿到匱万元。 匱匰匰匰匰 匨匱 匫 匰.匰匶匩10 匽 匵匵匸匳.匹匴匸 10000/1.06^10 匲匮 仍旧使用年利率匰匮匰匶,如果银行允许每半年计算复利,存款匱匰年,只 需要匤匵匵匳匶匮匷匵匸就可以拿到匱万元。 匱匰匰匰匰 匨匱 匫 匰.匰匳匩20 匽 匵匵匳匶.匷匵匸 匲匳 匲匴 扃扈扁扐扔扅扒 戳戮 债券种类 10000/1.03^20 匳匮 仍旧使用年利率匰匮匰匶,如果银行允许计算连续复利,存款匱匰年,只需 要匤匵匴匸匸匮匱匱匶就可以拿到匱万元。 匱匰匰匰匰 卥卸印{匰.匰匶 × 匱匰} 匽 匵匴匸匸.匱匱匶 10000/exp(0.06*10) 值得注意的是,零息债券本质上是银行的复利存款,因为它们的算法都 是相同的。而且零息债券也向我们揭示了贬值的概念,如果有匱万元,不存 在银行里保值,匱匰年以后,只相当于匱匰年前的匤匵匵匸匳匮匹匴匸,按第一个存款模 式计算。 比方说,一年后银行的存款利息上升到匰匮匰匷,问如果希望卖出这个债 券,但还有匹年到期,按第一种银行存款模式计算,价格是多少: 匱匰匰匰匰 匨匱 匫 匰.匰匷匩9 匽 匵匴匳匹.匳匳匷 10000/(1.07)^9 由于银行利率的提高,零息债券的价格下降了。 下面再来解释息票债券。与零息债券不同的是,息票债券会在票面上印 有每年付给持有者的利息金额。一张匱万元的息票债券,匱匰年到期,票面上 印有每年付给持有者匤匶匰匰的利息。是说这个票面利率为匰匮匰匶,到期后还可以 向金融机构兑换匱万元的钞票。你会说,这不就是不计复利的银行存款吗? 如果银行现在的利率为匰匮匰匶,用不计复利的方式计算,这张息票债券的价格 是匱万元。但问题是,现在银行年利率为匰匮匰匷,高于息票债券的票面利率。 如何计算这张息票债券的价格。 在银行里存款匱年拿到匤匶匰匰,和存款匲年拿到匤匶匰匰,所需的钱数是不一样 的。这张债券允许我们,连续匱匰年,每年有匤匶匰匰的收入。从银行存款的视 角来看,我们在同一时间存了匱匱笔钱。第一笔存了匱年,取出来是匤匶匰匰元。 第二笔存了匲年,取出来还是匤匶匰匰。直到第十笔,存了匱匰年,取出的时候还 是匤匶匰匰。最后还有一笔钱,存了匱匰年,取出来的时候正好是匱万元。所以这 张息票债券的价格是这匱匱笔钱的总和: 10X t=1 匶匰匰 匨匱 匫 匰.匰匷匩t 匫 匱匰匰匰匰 匨匱 匫 匰.匰匷匩10 匽 匹匲匹匷.匶匴匲 t=1:10 a=600/1.07^t b=10000/(1.07)^10 sum(a,b) 戳戮戲戮 到期收益率戨扙扉扅扌扄 扔扏 才扁扔払扒扉扔扙戩 匲匵 由于银行存款利率高于债券票面利率,这张债券的价格低于债券面值。 向大家提供一个统一的公式来计算这两种债券的价格: TX t=1 C 匨匱 匫 r匩t 匫 P AR 匨匱 匫 r匩T 匨匳匮匱匩 匽 C r {匱 − 匨匱 匫 r匩−T} 匫 P AR 匨匱 匫 r匩T 匨匳匮匲匩 匽 C r 匫 {P AR − C r }匨匱 匫 r匩−T 匨匳匮匳匩 千代表息票债券的年利息,指的是上面例子里的匶匰匰。卐十卒代表债券的面 值,是例子里的匱匰匰匰匰。小写的卲代表银行利率,不是债券的票面利率。大 写的協代表债券的总时间,例子里给的是匱匰年。小写的却代表,第一年, 第二年,第三年··· 公式(匳匮匱)是我们在例子里使用的计算方法,与公式 (匳匮匲匬匳匮匳)划等号。可以用几何级数的方法证明,请参看相关教课书。 3.2 到到到期期期收收收益益益率率率(Yield to Maturity) 购买债券的价格越低,就越有赚头。当购买债券时,面对卖方给出的债券 价格,我们会想知道债券的回报率到底是多少。所以由已知债券价格,通 过公式(匳匮匱匬匳匮匲匬匳匮匳)计算出来的回报率卲,叫做到期收益率。 比方说,一张面值匱万元,匱匰年到期,每年提供收益匤匶匰匰的息票债券, 卖家要价匤匹匹匰匰匮匰匰。所以,这张息票债券的到期收益率必须满足这个等式: 匶匰匰 r 匫 {匱匰匰匰匰 − 匶匰匰 r }匨匱 匫 r匩−10 匽 匹匹匰匰 匨匳匮匴匩 只有r 匽 .匰匵匹匲匳匸匶才能满足上面的等式。 r=.0592386 600/r+(10000-600/r)*(1+r)^10-9900 银行的一年期利率经常会被称为即期汇率(卓印卯却 卒卡却卥),这是指使用 复利的方式对未来的金额打折,得到当前相对应的价值。同时也被称为, 用华卐卖函数打折。如果,X代表需要被打折的金额,y即期汇率,华卐卖函数 为: X 匨匱 匫 y匩T 匨匳匮匵匩 匲匶 扃扈扁扐扔扅扒 戳戮 债券种类 3.3 期期期限限限结结结构构构(Term Structure) 期限结构是指计算在不同期限上的到期收益率。使用却代表期限,卐十卒代表 面值,Pt代表特定期限上的债券价格,到期收益率可以计算为: yt 匽 匨P AR Pt 匩1/t − 匱 匨匳匮匶匩 比方说面值匱万元的零息债券,可以分为匳种期限及其价格,表格所示: 卍卡却卵卲卩却卹 卐卲卩卣卥 匱卹卥卡卲 匹匵匰匰 匲卹卥卡卲 匸匱匰匰 匳卹卥卡卲 匷匳匰匰 这匳个价格的到期收益率为: y1 匽 {匱匰匰匰匰 匹匵匰匰 }1/1 − 匱 匽 匰.匰匵匲匶匳匱匵匸 y2 匽 {匱匰匰匰匰 匸匱匰匰 }1/2 − 匱 匽 匰.匱匱匱匱匱匱匱匱 y3 匽 {匱匰匰匰匰 匷匳匰匰 }1/3 − 匱 匽 匰.匱匱匰匶匰匳匵匲 t=1:3 PAR=10000 P=c(9500,8100,7300) (PAR/P)^(1/t)-1 Chapter 4 投投投资资资组组组合合合理理理论论论(Portfolio) 投资组合理论(卐卯卲却卦卯卬卩卯 協卨卥卯卲卹)是讲在一定程度的波动性上,如何组合 两种或多种投资,来达到回报率的最大化。投资的回报率r是一个随机变 量,比方说一支股票的回报率,今年可以是匰匮匰匹,到明年就可能变成匰匮匰匱。 但我们相信,回报率r的均值是客观存在的,这个均值是回报率随机分布的 中心。随机回报率出现在其均值左右的机会非常大,远离其均值出现的机 会非常小。我们使用随机变量r代表回报率,用E匨r匩来代表回报率的均值。 有可能随机回报率在其均值左右出现的范围非常宽,也有可能随机回 报率在其均值左右非常近的范围出现。我们就需要另外一个参数,波动 性,来描述范围的宽度。波动性用小写的希腊字母σ代表,这个字母英文读 作即卩卧卭卡,希腊文大写是匆。波动性越高,说明出现的范围越宽,反之出现 的范围越窄,或者说是越确定。均值E匨r匩,波动性σ他们都只是不随机的参 数,是由随机变量卲的特性决定的。如果你有机会去采访随机变量卲,它可以 确定地告诉你,这两个参数的具体数值是多少。但在现实中,我们只能随 机抽取大量的样本,来估计这两个参数。由于样本是随机的,估计值也就 变成随机的变量了。 这整个章节都是关于讨论,投资组合是否处在边缘位置,是否处在有效 位置,还会有什么样的后果。 4.1 组组组合合合两两两种种种资资资产产产(Two Assets) 比方说,有两种投资资产,它们回报率的均值分别为E匨r1匩 匽 匰.匰匶,E匨r2匩 匽 匰.匱匱,它们回报率的波动性分别为σ1 匽 .匰匱匲, σ2 匽 匰.匲匲,我们想得到投资组 合的回报率均值(卐卯卲却卦卯卬卩卯 卒卥却卵卲卮)用E匨r匩代表。而且这两个资产回报率 之间有一个正面的统计相关性(千卯卲卲卥卬卡却卩卯卮)ρ 匽 匰.匱匹,也就是说,一个资 产上涨,另一个资产也会上涨,如果是一个资产下跌,另一个资产也会很 可能跟着下跌。根据资产的波动性σ和它们之间的关系性ρ,我们可以复原 匲匷 匲匸 扃扈扁扐扔扅扒 戴戮 投资组合理论 二次形式中的矩阵,然后再计算投资组合的波动性。 协方差(千卯卶卡卲卩卡卮卣卥)的计算公式: covar 匽 ρσ1σ2 匨匴匮匱匩 投资组合方差(卖卡卲卩卡卮卣卥)的计算公式,这已经就是二次形式了区 variance 匽 p2σ2 1 匫 匨匱 − p匩2σ2 2 匫 匲p匨匱 − p匩covar 匨匴匮匲匩 公式(匴匮匲)中的p代表第一个资产在投资组合中的比重,那么第二个资产在 投资组合中的比重就是匨匱 − p匩。比如第一个资产占总投资的匰匮匱,第二个资 产就占匰匮匹。在组合两种资产的问题中,我们从匰匭匱,每隔匰匮匱取一个点做p, 来观察对组合的回报率和波动性的影响。 投资组合的波动性(σ)是方差开平方根,的计算公式: σ 匽 √ variance 匨匴匮匳匩 最后还要回过头来,计算投资组合的回报率均值,使用资产所占的比 例,进行加权(南卥卩卧卨却卥卤 十卶卥卲卡卧卥): E匨r匩 匽 pE匨r1匩 匫 匨匱 − p匩E匨r2匩 匨匴匮匴匩 加权平均和前面介绍的向量点乘是完全相同的概念。这里的p和匨匱 − p匩是资 产占总投资的比重。用所有的资产与其相应的比重相乘后在加在一起,就 是加权平均。一个投资组合是一组的比重与可用的资产相对应,投资组合 中所有的比重总和为匱。加权平均,点乘,都是卬卥即卢卥卧卵卥积分的特殊形式, 但是我们本着用到才学到的原则,不再对数学理论深入。 每一个投资组合都有相对应的回报率均值和波动性。有的投资组合会有 相同的波动性,但他们的回报率均值却不相同。我们的目的是在相同的波 动性下,找到能最大化回报率均值的投资组合。 运行本小节的卒代码,可以得到与(匴匮匱)截图相似的结果。这张图 最重要的部分是曲线中由黑色粗线标出的部分,这段曲线叫做有效前沿 (卅匎卣卩卥卮却 卆卲卯卮却卩卥卲)。图中整条曲线,包含粗线和细线的部分,叫做边 缘曲线(卅卮卶卥卬卯印卥)。之所以被称为边缘,因为它是划分可行投资组合 (卆卥卡即卩卢卬卥 卐卯卲却卦卯卬卩卯)与不可行投资组合(卉卮卦卥卡即卩卢卬卥 卐卯卲却卦卯卬卩卯)的界限。在 边缘曲线左侧的坐标点,代表了不可行组合。在边缘曲线上和边缘曲线 右侧的坐标点,代表了可行组合。有效前沿上的组合之所以有效,是因为 在给定的波动性的情况下,这些组合最大化回报率均值。在这个问题中, 由p代表的投资组合比重全部处在边缘上。 组组组合合合两两两个个个资资资产产产问问问题题题R代代代码码码 戴戮戱戮 组合两种资产戨扔扗扏 扁打打扅扔打戩 匲匹 卆卩卧卵卲卥 匴匮匱区 两个资产投资组合作图匭有效前沿 匳匰 扃扈扁扐扔扅扒 戴戮 投资组合理论 #Two-Asset Portfolio Problem #Asset1 r1 =.06 sigma1=.12 #Asset2 r2 =.11 sigma2=.22 rho =.19 covar =rho*sigma1*sigma2 p =c(0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1)# percent of Asset1 ##Portfolio return as function of percent of Asset1## variance=p^2*sigma1^2+(1-p)^2*sigma2^2+2*p*(1-p)*covar sigma=sqrt(variance) portfolio_return=r1*p+r2*(1-p) cbind(p,sigma,return) plot(sigma,portfolio_return,type=’o’) 4.2 基基基本本本定定定义义义 曾经有很长的一段时间,组合多种资产是一个困扰着数学家和经济学家, 挥之不去,又无法解决的问题。与组合两种资产相同,我们仍旧希望计 算处在边缘上的投资组合,并画出那条漂亮的边缘曲线,使用多个资产。 终于在匱匹匷匳年,从麻省理工学院的默顿教授那里,传来了振奋人心的捷 报。默顿教授告诉我们,只要在坐标系中,垂直的坐标轴上任意取一点卣, 然后以卣为起点,画一条与边缘曲线相切的直线,切点就是一个边缘组合 (匴匮匲)。默顿教授还告诉我们,如果已知两个边缘组合,其它所有的边缘 组合都可以被写成已知组合的加权平均。 在进一步介绍默顿的定理之前,我们先了解几个基本的定义和书写方 法。如果有华个资产,每个资产的均值回报率由E匨r1匩,E匨r2匩,···,E匨rN 匩代 表。我们使用一个叫做E匨r匩的向量,来盛放每个资产的均值回报率: E匨r匩 匽   E匨r1匩 E匨r2匩 匮匮匮 E匨rN 匩   匨匴匮匵匩 戴戮戲戮 基本定义 匳匱 卆卩卧卵卲卥 匴匮匲区 默顿切线方法演示图 匳匲 扃扈扁扐扔扅扒 戴戮 投资组合理论 比方说,有匴个资产,它们的均值回报率为E匨r1匩 匽 匰.匱,E匨r2匩 匽 匰.匲,E匨r3匩 匽 匰.匱匵,E匨r4 匽 匰.匰匱匩,在卒语言中由均值回报率组成的数列: Er=c(0.1,0.2,0.15,0.01) 这华个资产的回报率之间,会存在有一个正方形N × N,对称的,方 差匭协方差矩阵,表达的是资产回报率之间的相互关系。这个矩阵在书写是 用大写的卓代表。矩阵对角线上的σ2都是方差,其余的都是协方差。 S 匽   σ2 11 σ2 12 ··· σ2 1N σ2 21 σ2 22 ··· σ2 2N匮匮匮 匮匮匮 匮匮匮 σ2 N1 σ2 N2 ··· σ2 NN   匨匴匮匶匩 以匴个资产为例,在卒语言中生成这个匴 × 匴回报率的方差匭协方差矩阵区 S=matrix(c( .10, .01,.03, .05, .01, .30,.06,-.04, .03, .06,.40, .02, .05,-.04,.02, .50),nrow=4,ncol=4) 我们使用小写的卸代表一个投资组合,如果其中有华个资产,用x1, x2,··· xN 代 表每一个资产在这个组合中的比重。所以卸是一个长度为华的向量,而且所 有比重的总和为匱: x 匽   x1 x2 匮匮匮 xN   , NX i=1 xi 匽 匱 匨匴匮匷匩 匴个资产,比重分别为x1 匽 匰.匲, x2 匽 匰.匱, x3 匽 匰.匶, x4 匽 匰.匱,在卒语言中演 示投资组合比重的总和为匱 匨卓卵卭 却卯 匱匩: x=c(0.2,0.1,0.6,0.1) sum(x) 使用卸代表一个投资组合,E匨rx匩就代表这个组合的均值回报率。把所有 的资产以比重的方式放在一起,所得的回报率。用加权平均计算,或者叫 做点乘,完全是先乘后加的计算方式: E匨rx匩 匽 xT·E匨r匩 匽 卛 x1 x2 ... xN 卝   E匨r1匩 E匨r2匩 匮匮匮 E匨rN 匩   匽 NX i=1 xiE匨ri匩 匨匴匮匸匩 还是以匴个资产,匴个比重,在卒语言中计算,投资组合的回报均值: 戴戮戳戮 组合多种资产戨扎 扁打打扅扔打戩 匳匳 x=c(0.2,0.1,0.6,0.1) Er=c(0.1,0.2,0.15,0.01) x%*%Er 所有资产的回报率都是随机的,由它们配搭得到的回报率也应该是随机 的。所以投资组合也有方差,而且是把资产的方差匭协方差矩阵,按照比重 加起来计算的。计算方式是第一章提到的二次形式,把横着的比重乘以方 差匭协方差矩阵,再乘以竖着的比重: σ2 x 匽 xT Sx 匽  x1 x2 ··· xN    σ2 11 σ2 12 ··· σ2 1N σ2 21 σ2 22 ··· σ2 2N匮匮匮 匮匮匮 匮匮匮 σ2 N1 σ2 N2 ··· σ2 NN     x1 x2 匮匮匮 xN   匽 NX i=1 NX j=1 xixjσij 匨匴匮匹匩 以匴个资产为例,在卒语言里计算投资组合的方差: x=c(0.2,0.1,0.6,0.1) S=matrix(c( .10, .01,.03, .05, .01, .30,.06,-.04, .03, .06,.40, .02, .05,-.04,.02, .50),nrow=4,ncol=4) t(x)%*%S%*%x x%*%S%*%x 4.3 组组组合合合多多多种种种资资资产产产(N Assets) 默顿定理匱 匨卍卥卲却卯卮 匱匹匷匳匩已知所有资产回报率向量为E匨r匩,资产间的方 差匭协方差矩阵为卓,选取一个数值为卣,与其对应的边缘投资组合可以计算 为: x 匽 S−1{E匨r匩 − c} PS−1{E匨r匩 − c} 匨匴匮匱匰匩 卸是一个边缘投资组合。 我们选择匵个卣点,用匴个资产,看能不能在卒语言里画出边缘曲线。定义 好已知条件后,在把相同的计算重复匵遍,在画一个图。资产均值回报率 向量E匨r匩 匽 匨匰.匱, 匰.匲, 匰.匱匵, 匰.匰匱匩,五个卣为匰.匰匰匰匰匰匰匰匱, 匰.匰匲匱, 匰.匴匵, 匰.匸, 匴,方 差匭协方差矩阵: S 匽 匰.匱 匰.匰匱 匰.匰匳 匰.匰匵 匰.匰匱 匰.匳 匰.匰匶 −匰.匰匴 匰.匰匳 匰.匰匶 匰.匴 匰.匰匲 匰.匰匵 −匰.匰匴 匰.匰匲 匰.匵 匳匴 扃扈扁扐扔扅扒 戴戮 投资组合理论 运行提供的卒代码就可以得到以下结果(匴匮匳): 默默默顿顿顿第第第一一一定定定理理理演演演示示示图图图R代代代码码码 Er=c(0.1,0.2,0.15,0.01) S=matrix(c( .10, .01,.03, .05, .01, .30,.06,-.04, .03, .06,.40, .02, .05,-.04,.02, .50),nrow=4,ncol=4) c=0.00000001 a=solve(S)%*%(Er-c) b=sum(a) x1=a/b Er_x1=t(x1)%*%Er sigma1=sqrt(t(x1)%*%S%*%x1) c=0.021 a=solve(S)%*%(Er-c) b=sum(a) x2=a/b Er_x2=t(x2)%*%Er sigma2=sqrt(t(x2)%*%S%*%x2) c=.45 a=solve(S)%*%(Er-c) b=sum(a) x3=a/b Er_x3=t(x3)%*%Er sigma3=sqrt(t(x3)%*%S%*%x3) c=.8 a=solve(S)%*%(Er-c) b=sum(a) x4=a/b Er_x4=t(x4)%*%Er sigma4=sqrt(t(x4)%*%S%*%x4) c=4 a=solve(S)%*%(Er-c) 戴戮戳戮 组合多种资产戨扎 扁打打扅扔打戩 匳匵 卆卩卧卵卲卥 匴匮匳区 默顿第一定理演示图 匳匶 扃扈扁扐扔扅扒 戴戮 投资组合理论 b=sum(a) x5=a/b Er_x5=t(x5)%*%Er sigma5=sqrt(t(x5)%*%S%*%x5) sigma=c(sigma3,sigma4,sigma5,sigma1,sigma2) return=c(Er_x3,Er_x4,Er_x5,Er_x1,Er_x2) plot(sigma,return,type=’o’) cbind(sigma,return) 默顿定理匲 匨卍卥卲却卯卮 匱匹匷匳匩已知两个边缘组合,其它的边缘组合都可以写 成,两个已知边缘组合的加权平均。让卸和卹做为两个边缘组合,让λ和匨匱 − λ匩作为比重,任何边缘组合都可以写为: λx 匫 匨匱 − λ匩y 匽   λx1 匫 匨匱 − λ匩y1 ... λxN 匫 匨匱 − λ匩yN   匨匴匮匱匱匩 在默顿定理匱的例子里,我们已经计算了边缘组合。在下面的例子里, 我们要把组合x5写成组合x3, x4的加权平均: x3 匽 匰.匶匳匱匹匳匶匸匲 匰.匱匵匵匹匱匸匱匲 匰.匰匸匰匶匷匱匹匶 匰.匱匳匱匴匷匳匱匱 x4 匽 匰.匶匱匸匷匶匵匷匶 匰.匱匸匲匱匴匶匲匴 匰.匰匸匷匶匰匷匹匹 匰.匱匱匱匴匸匰匰匰 x5 匽 匰.匶匰匸匴匴匱匴匱 匰.匲匰匲匷匰匵匵匹 匰.匰匹匳匰匴匴匹匲 匰.匰匹匵匸匰匸匰匸 x3=c(0.63193682,0.15591812,0.08067196,0.13147311) x4=c(0.61876576,0.18214624,0.08760799,0.11148000) x5=c(0.60844141,0.20270559,0.09304492,0.09580808) (x3-x4)/(x5-x4) lambda=-1.2757275 lambda*x3+(1-lambda)*x4 4.4 资资资本本本资资资产产产定定定价价价模模模型型型(CAPM) 资本资产定价模型匨卣卡印卩却卡卬 卡即即卥却 印卲卩卣卩卮卧 卭卯卤卥卬匬千十卐卍匩,有非常多不同的用 途。这里我们分别举例进行详细介绍。 资本市场线(千卡印卩却卡卬 卍卡卲卫卥却 卌卩卮卥,千卍卌)是讲,首先我们要有一个 处在边缘(卥卮卶卥卬卯印卥)上的投资组合,然后还要配搭一个没有风险(卲卩即卫匭 卦卲卥卥)的投资资产,如何搭配才能达到要求。这个边缘组合,一般被称为市 戴戮戴戮 资本资产定价模型戨扃扁扐才戩 匳匷 场投资组合(卭卡卲卫卥却 印卯卲却卦卯卬卩卯),用卍代表,所以它的回报率和标准差记 做:rM, σM。无风险资产的方差当然为匰,回报率用rf 代表。我们所要达到 的搭配记做卸,所以它的回报率标准差记做:rx, σx。千卍卌的公式可以表达 为: rx 匽 rf 匫 rM − rf σM σx 匨匴匮匱匲匩 我们假设rM > rf ,从公式(匴匮匱匲)可以看出,σx越大可以得到的rx越大。 一直在讲σx代表的是波动性和风险,所以这个公式准确的告诉我们,高风 险带来高回报,而且回报到底有多少。对于所需要的边缘组合,我们通常 会用有效组合,例如S匦P匵匰匰这样市场上公认的指数基金。 假设无风险投资回报率rf 匽 匰.匰匶,市场投资组合的回报率和标准差 为rM 匽 匰.匲, σM 匽 匰.匴。资本市场线的斜率就是匨rM − rf 匩/σM 匽 匨匰.匲 − 匰.匰匶匩/匰.匴 匽 匰.匳匵。如果我们希望尝试匰.匲, 匰.匳来做σx,所能达到的rx为: rx1 匽 rf 匫 匰.匳匵σx1 匽 匰.匰匶 匫 匰.匳匵 × 匰.匲 匽 匰.匱匳 rx2 匽 rf 匫 匰.匳匵σx2 匽 匰.匰匶 匫 匰.匳匵 × 匰.匳 匽 匰.匱匶匵 把rx1, rx2和相应的σx画在图上(匴匮匴)就可以看到这条资本市场线,而且 斜率的确是匰匮匳匵。 如果我们认为σx 匽 匰.匳的风险太高,不宜使用。我们 选择σx 匽 匰.匲来搭配已有的有效组合,还有无风险投资。σx/σM 是需要分 配给有效组合的部分,匨匱 − σx/σM 匩是需要分配给无风险投资的部分。使 用σ 匽 匰.匲,匵匰匥的资金要给这个有效组合,另外匵匰匥的资金要做无风险投 资。 资资资本本本市市市场场场线线线R代代代码码码 r_f=0.06 r_M=0.2 sigma_M=0.4 slope=(r_M-r_f)/sigma_M r_x1=r_f+slope*0.2 r_x2=r_f+slope*0.3 return=c(r_x1,r_x2) sigma=c(0.2,0.3) plot(sigma,return,type=’o’,ylim=c(0.06,.2),main="CML") 0.2/sigma_M 1-0.2/sigma_M 匳匸 扃扈扁扐扔扅扒 戴戮 投资组合理论 卆卩卧卵卲卥 匴匮匴区 资本市场线作图 戴戮戴戮 资本资产定价模型戨扃扁扐才戩 匳匹 证券市场线匨卓卥卣卵卲卩却卹 卍卡卲卫卥却 卌卩卮卥匬 卓卍卌匩是千十卐卍的另外一种用法。这 是布莱克匱匹匷匲年出版的方法。如果我们有一个边缘组合叫做y,其它组合的 回报率都可以通过线性回归的方式,从y的回报率计算出来。让βx作为这个 回归的斜率,E匨rx匩,E匨ry匩作为两个组合回报率均值。rf 是市场上存在的无 风险投资的回报率,例如银行存款。 E匨rx匩 匽 rf 匫 βx 卛E匨ry匩 − rf 卝 匨匴匮匱匳匩 where βx 匽 Cov匨x, y匩 σ2y , and 匨匴匮匱匴匩 Cov匨x, y匩 匽 xT Sy 匨匴匮匱匵匩 这个线性回归的斜率βx的定义理论值是公式(匴匮匱匴匬匴匮匱匵)来计算。但是在 日常的实行中,βx是通过线性回归方法估计出来的。卓卍卌的关键是,如果 我们有一个组合x,不知道它的回报率是多少。但市面上存在着非常知名的 组合y,例如S匦P匵匰匰,我们可以通过y来计算x的回报率。 举例,银行存款利率rf 匽 匰.匰匴,市场组合y的回报率E匨ry匩 匽 匰.匱匲,市场 组合的方差σ2 y 匽 匰.匰匰匰匸。有一只股票,华卅南単,用x代表,x, y之间的协方 差为Cov匨x, y匩 匽 匰.匰匰匰匱。问华卅南単的回报率是多少。先算βx区 βx 匽 匰.匰匰匱/匰.匰匰匰匸 匽 匱.匲匵 代入公式(匴匮匱匳): E匨rx匩 匽 匰.匰匴 匫 匱.匲匵匨匰.匱匲 − 匰.匰匴匩 匽 匰.匱匴 股票华卅南単的回报率为匰匮匱匴。如果今年华卅南単的价格是匤匵匰,问明年定价匤匵匷合 适吗? 匵匰 × 匨匱 匫 匰.匱匴匩 匽 匵匷 所以匤匵匷在明年是一个合适的公平价格。 资资资本本本市市市场场场线线线CML R代代代码码码 r_f=0.04 r_y=0.12 cov=0.001 var=0.0008 beta=cov/var r_f+beta*(r_y-r_f) 50*(1+0.14) 匴匰 扃扈扁扐扔扅扒 戴戮 投资组合理论 千十卐卍的检验 使用千十卐卍模型的关键在于,估计斜率β。因为在现实中,回报率方差 和协方差的准确数值根本是不可能知道的,通过方差和协方差来计算斜 率,是行不通的。还好这个斜率β,可以作为线性回归的参数来估计。并且 可以通过参数估计来检验千十卐卍模型的合理性。 这个应用实例,我们用S匦P匵匰匰作为市场投资组合,考虑与微软(卍卩卣卲卯即卯卦却) 公司股票回报率的线性关系。股票的牌价是通过卒语言却即卥卲卩卥即程序包,在线 读取的匱匹匹匳匭匱匱匭匰匱到匲匰匰匲匭匰匴匭匰匳,一共匲匳匷匴天的数据。将牌价转换成功回报 率十分简便,只要使用公式: ri 匽 卥卸印{卬卯卧 Pi+1 − 卬卯卧 Pi} − 匱 匨匴匮匱匶匩 这里Pi代表第i天的股票牌价。相应的卒代码也只有一行: sp500=exp(diff(as.numeric(log(sp500))))-1 线性回归模型是通过卒语言自带的卬卭匨匩函数计算的,线性回归的结 果是截图(匴匮匴)。可以看到,数值匰匮匰匰匰匸匴匱匳是模型截距α的估计值,数 值匱匮匳匳匱匴匱匸匵由红色方框表明,是我们所需的模型斜率β的估计值。从理论 上讲,千十卐卍模型的截距α参数是等于匰的。而且这里的截距估计值匰匮匰匰匰匸匴匱匳也 是非常的小,与理论相符。通常在统计学中需要使用印匭卶卡卬卵卥来检验参数的 显著性,但是在这里我们使用了过多的匲匰匰匰多个样本,解释印匭卶卡卬卵卥已经毫 无意义。 使用斜率β的估计值,可以帮助我们计算微软股票的回报率均值。截 距α可以提供更多信息。如果α不为匰,这从千十卐卍的角度说明,股票的定价 不恰当。如果α > 匰,说明股票的定价太低,回报率相对较高。这是一个资 产值得买入的标志。但我们也需要小心,当估计的α不接近匰,也可能是因 为我们选择的市场组合并不是处在边缘上。当千十卐卍模型得到了非常出色 的结果,α, β的估计值全都与理论相符,这也只能说明我们选择的市场组合 处在边缘上,我们根本不可能知道它是否是一个有效组合。 资资资本本本资资资产产产定定定价价价模模模型型型(((CAPM)))β估估估计计计R代代代码码码 library("tseries") # load the tseries library sp500 = get.hist.quote(instrument = "^gspc", start = "1993-11-01", end="2003-04-03",quote="AdjClose") ms = get.hist.quote(instrument = "msft", start = "1993-11-01", end="2003-04-03",quote="AdjClose") sp500=exp(diff(as.numeric(log(sp500))))-1 #prices into returns ms=exp(diff(as.numeric(log(ms))))-1 戴戮戴戮 资本资产定价模型戨扃扁扐才戩 匴匱 卆卩卧卵卲卥 匴匮匵区 资本资产定价模型(千十卐卍)β估计 匴匲 扃扈扁扐扔扅扒 戴戮 投资组合理论 fit<-lm(ms ~ sp500) summary(fit) 4.5 Black-Litterman模模模型型型(((1991))) 有一天,一个朋友来办公室找我,让我帮忙计算两支股票的回报率均值。 这已经不是第一次了,他知道我懂得如何计算,我也乐得让他帮我搜集一 些市面上的消息他说,市面上有一种名叫卸的投资组合,配搭两支股票,达 到了匰匮匰匹的年回报率。他还说,这个组合中,第一支股票占匰匮匲匴匶,第二支 股票占匰匮匷匵匴。他还知道,两支股票的方差匭协方差矩阵。我们用银行定期一 年存款利率匰匮匰匵,作为无风险投资回报率。。和所有的应用题一样,我们在 草纸上罗列了这些前提条件: x 匽 |匰.匲匴匶, 匰.匷匵匴| rx 匽 匰.匰匹匰匱匶 rf 匽 .匰匵 S 匽 匰.匱匱匰匰 匰.匰匰匴匴 匰.匰匰匴匴 匰.匲匰匰匰 先计算投资组合卸的方差,这是一个二次形式: V arx 匽 xT Sx 匽 |匰.匲匴匶, 匰.匷匵匴| · 匰.匱匱匰匰 匰.匰匰匴匴 匰.匰匰匴匴 匰.匲匰匰匰 · 匰.匲匴匶 匰.匷匵匴 匽 匰.匱匲匱匰 再计算在上面提到的,卍卥卲却卯卮公式里的λ,使用公式匨匴匮匲匰匩: λ 匽 rx − rf V arx 匽 匰.匰匹 − 匰.匰匵 匰.匱匲匱匰 匽 匰.匳匲匹匲 再计算两支股票的回报率均值,输出的是一个向量,用卲代表: r 匽 λSx 匫 rf 匽 匰.匳匲匹匲 × 匰.匱匱匰匰 匰.匰匰匴匴 匰.匰匰匴匴 匰.匲匰匰匰 · 匰.匲匴匶 匰.匷匵匴 匫 匰.匰匵 匽 匰.匰匶匰匰 匰.匱匰匰匰 匨匴匮匱匷匩 所以说,第一只股票的年回报率均值为匰匮匰匶,第二支股票的年回报率均 值为匰匮匱匰。 Blac-Litterman Model, R 代代代码码码 #Black-Litterman Model S=matrix(c( .1100, .0044, 戴戮戵戮 扂扌扁扃手戭扌扉扔扔扅扒才扁扎模型(戱戹戹戱) 匴匳 .0044, .2000 ),nrow=2,ncol=2) r_f=.05 #risk free rate x=c(.246,.754)#envelope portfolio r_x=0.09016 #x%*%Er var_x=t(x)%*%S%*%x lambda=as.numeric((r_x-r_f)/var_x) r=lambda*S%*%x+r_f r 从上面的匨卍卥卲却卯卮匱匹匷匳匩命题匱公式里的分母部分可以用λ来标记,这只是 一个定义,并不能用来计算λ: λ 匽 XS−1{E匨r匩 − c} 匨匴匮匱匸匩 这样匨卍卥卲却卯卮匱匹匷匳匩公式就可以被简单的写成: x 匽 S−1{E匨r匩 − c} λ 公式等号两边都乘以λ区 λx 匽 S−1{E匨r匩 − c} 然后再两边都乘以S区 Sλx 匽 E匨r匩 − c 最后两边再加上c区 Sλx 匫 c 匽 E匨r匩 从上面的命题匵知道,可以用rf 代替c,得到如下区 E匨r匩 匽 λSx 匫 rf 匨匴匮匱匹匩 但是这里的λ还需要用下面的公式计算: λ 匽 rx − rf σ2x 匨匴匮匲匰匩 匴匴 扃扈扁扐扔扅扒 戴戮 投资组合理论 Chapter 5 布布布莱莱莱克克克-肖肖肖尔尔尔斯斯斯模模模型型型 (((Black-Scholes))) 5.1 零零零回回回报报报 比方说,我持有一支的股票(卓却卯卣卫),现在的市场价格匤匳匰,用S0 匽 匳匰来 代表。我对你说,我可以把这支股票匲匰匰个工作日后的认购期权(协印却卩卯卮) 卖给你,履约价(卓却卲卩卫卥 卐卲卩卣卥)为匤匲匵,用X 匽 匲匵代表。换而言之,匲匰匰个 工作日后,如果这支股票的价格仍旧在匤匲匵之上,你可以付给我匤匲匵履行合 约,这支股票就成了你的,你可以保留所有的盈余。如果匲匰匰个工作日后, 这支股票的价格低于了匤匲匵履约价的水平,你可以选择放弃从我这里买入这 支股票。这是一个认购期权。 但你现在要买这个认购期权,才能在匲匰匰工作日后用匤匲匵履行合约。认购 期权(千卡卬卬 协印却卩卯卮)是在未来某时间点以一定价格买入股票的权利。我告 诉你,认购期权的价格是匤匶匮匱匹,记做C 匽 匶.匱匹。 这支股票的回报率均值,方差分别记为r 匽 匰.匰匶, σ 匽 匰.匱匲。你知 道,匲匰匰工作日后股票的盈余,减去现在付出的买期权的费用匤匶匮匱匹,才 是这次投资的盈余。你还知道,股票的价格都是随机出现的,所以你想用 计算机随机生成匱匰万个,这支股票在第匲匰匰个工作日的价格,计算平均盈 余。如果平均盈余匼匰,说明期权匤匶匮匱匹的要价太高。如果平均盈余匾匰,说明 期权匤匶匮匱匹的要价太低。 你使用卒语言书写了下面的程序。程序的第一部分是用来生成匱匰万个一 年内,匲匵匰个工作日,的股票价格。这部分程序的结果是一个匲匵匰行,匱匰万 列的矩阵,每行代表一个工作日,每列代表一个股票价格走势。这个矩阵 的第匲匰匰行就是需要的匱匰万个第匲匰匰天的股票价格。程序的第二部分,输入 履约价,和买入期权的价格,计算最终盈余。 程序中的n代表生成的随机股价的数量,我们可以先设置n 匽 匱匰,然后 匴匵 匴匶 扃扈扁扐扔扅扒 戵戮 布莱克戭肖尔斯模型(扂扌扁扃手戭打扃扈扏扌扅打) 使用ts.plot匨匩函数吧这匱匰个匲匵匰天的股票价格画出图来看看样子截图匨匵匮匱匩。 使用S200代表第匲匰匰天的股票价格,先生成匱匰万个股价序列,从中提 出所有的S200与匤匲匵的履约价相比较。如果S200 > 匲匵,股票上的收益就 是S200 − 匲匵。如果S200 < 匲匵,就放弃期权,股票上的收益就是匰。数学表达 式写为: 卭卡卸匨S200 − X, 匰匩 匨匵匮匱匩 还要对这匱匰万个股票收益做平均值,然后再对平均后的收益乘以卥卸印{−r匁t}进 行打折。因为这支股票有一个稳定匰匮匰匶的上升趋势,我们预期匲匰匰工作日 后,经过连续复利,股票的总收益率是卥卸印{匰.匰匶 × 匲匰匰/匲匵匰} 匽 匱.匰匴匹匲,所 以必须除以这个总收益率,才能把未来匲匰匰天的价值,转化成与现在同等的 价值,也就是乘以匱/匱.匰匴匹匲 匽 匰.匹匵匳匱。 由于需要花匤匶匮匱匹才能有权利在匲匰匰天后作出选择,打折后的股票收益必 须减去匤匶匮匱匹的认购期权价格(千卡卬卬 卐卲卩卣卥)。可以看到,经过程序的计算, 剩下的投资结余,刚好为匰。 除了可以花钱买在未来以一定价格买入股票的权利,还可以买在未来以 一定价格卖出股票的权利,认沽期权(卐卵却 协印却卩卯卮)。当然认沽期权的价 格(卐卵却 卐卲卩卣卥)也可以巧妙的计算出来,使预期的最终受益为匰。 收收收益益益为为为0的的的期期期权权权价价价格格格R代代代码码码 #Lognormal Stock Price Simulation. days <- 250 #working days per year n <- 10 #number stock prices S0=30 #Price at t=0 dt<-1/days r<-.06 sigma<-.12 S <- matrix((r-0.5*sigma^2)*dt+sigma*sqrt(dt)*rnorm(days*n), ncol=days, nrow=n) S <- S0*exp(apply(S,1,cumsum)) ts.plot(S) #Compute option call price C=6.187974 #Call price X=25 #Strike price C_t=pmax(S[200,]-X,0) exp(-r*200*dt)*mean(C_t)-C 股票价格的卬卯卧卮卯卲卭卡卬随机生成公式: 戵戮戱戮 零回报 匴匷 卆卩卧卵卲卥 匵匮匱区 匱匰个随机生成的股票价格序列 匴匸 扃扈扁扐扔扅扒 戵戮 布莱克戭肖尔斯模型(扂扌扁扃手戭打扃扈扏扌扅打) ST 匽 Ste(r−0.5σ2)(T−t)+σ√T−tZT 匨匵匮匲匩 5.2 相相相关关关的的的定定定义义义 期权(协印却卩卯卮即)有两种,认购和认沽。认购期权(千卡卬卬 协印却卩卯卮)是指在未 来某天或某天之前,允许以特定价格,购买某股票的权利。认沽期权(卐卵却 协印却卩卯卮)是指在未来某天或某天之前,允许以特定价格,卖出某股票的权 利。期权交易可以涉及到其它的投资领域,在这里我们只使用股票作为讨 论的例子。 欧式期权(卅卵卲卯印卥卡卮 协印却卩卯卮)是指其买卖的权利只能在未来某天的当 天行使。美式期权(十卭卥卲卩卣卡卮 协印却卩卯卮)是指其买卖的权利可以再未来某天 当天或之前行使。 我们用大写的千(千卡卬卬 卐卲卩卣卥)来代表认购期权的价格,用大写的卐(卐卵却 卐卲卩卣卥)来代表认沽期权的价格。并且用大写単代表期权履约价格(卓却卲卩卫卥 卐卲卩卣卥)。股票的价格用大写卓代表,用右下角的小标来代表时间,例 如S0,St。 我们还是使用r代表回报率,银行存款利息也是回报用rf 代表。如果一 个投资组合名叫小写的卸,这个投资组合的回报率用rx代表。当然股票的回 报率都是随机出现的,用σ来代表回报率的标准差。标准差σ是用来衡量回 报率波动性(卶卯卬卡却卩卬卩却卹)的指标,标准差越大,波动性就越大。 认购期权是买未来的股票价格上涨,认购期权是用来延迟股票的购买, 认购期权购买的是未来可以用便宜价格购入股票的权利。认沽期权买的是 未来的股票下跌,认沽期权是用来延迟股票的购买,认沽期权购买的是未 来可以用高价卖出股票的权利。履约价越高,认购期权价就越低。履约价 越低,认沽期权价也越低。 5.3 套套套利利利命命命题题题 套利(十卲卢卩却卲卡卧卥卥)是指用价格冲突赚取利益。比方说,我持有一只股票价 格是匤匳匰,你想从我这里以匤匳匵的价格购买,我就可以赚取匤匵的利益。套利 命题匨十卲卢卩却卲卡卧卥 卐卲卯印卯即卩却卩卯卮即匩指的是如果违反就能产生价格冲突,并被赚取 利益的命题。 匱匮 考虑一个美式认购期权,其价格为千,履约价为単,在其定价的时候 股票价格为S0,所以: C > 卭卡卸匨S0 − X, 匰匩 匨匵匮匳匩 举例,美式期权不一定要等到规定的未来某天才能履约(买卖股 票),可以买了期权立即履约。如果我有一支股票,股票价格是匤匳匰, 戵戮戳戮 套利命题 匴匹 认购期权的履约价是匤匲匵,我的认购期权价格肯定要大于匤匵。如果认 购期权价小于匤匵,你可以马上用匤匲匵买入这个股票,同时用匤匳匰卖出, 抛去花掉的认购期权价,总共花费还不到匤匳匰,就产生了盈余。 匲匮 考虑一个欧式认购期权,其花费为千,履约价为単,在其定价的时候 股票价格为S0,所以: C > 卭卡卸匨S0 − PV 匨X匩, 匰匩 匨匵匮匴匩 PV 匨X匩 匽 卥卸印{−r匁t}X 匨匵匮匵匩 这个命题的意思是,因为是欧式期权,不可能在约定好的日期之前履 约,但可以把履约费用単存到银行里去生利息,从而又产生了盈余。 所以在期权定价的时候,还要避免这一方面策略的套利。做法就是在 计算千的时候,用PV 匨匩函数把単打折扣。単被看做在履约时,经过银 行连续复利储蓄的结果。 匳匮 考虑一个美式认购期权,履约价为単,在期权到期履约之前有一个股 票价格为St,并且这支股票没有分红在履约期限之前没有分红,所 以: 卭卡卸匨St − PV 匨X匩, 匰匩 > 卭卡卸匨St − X, 匰匩 匨匵匮匶匩 这个命题是在讲,在美式认购期权到期之前,在任何股价买入股票都 是不值得的。把认购期权作价转让给别人,可以得到更多的价值,如 果这支股票没有分红。把这个认购期权卖出去,不要履约,你可以挣 更多的钱。 举例:一个美式认购期权的履约价X 匽 匲匵,匳三个月后匁t 匽 匰.匲匵后需 要决定是否履约购入股票或放弃期权。股票当前价格S 匽 匴匰,银行年 利率r 匽 匰.匰匶,如果买入股票可收益S − X 匽 匴匰 − 匲匵 匽 匱匵。但是根据 套利命题匲,这个美式期权的市场价格至少是在卭卡卸匨S − PV 匨X匩, 匰匩 匽 匴匰 − 卥卸印匨−匰.匲匵 × 匰.匰匶匩匲匵 匽 匴匰 − 匰.匹匸匵匱 × 匲匵 匽 匱匵.匳匷。 美式认购期权的各种特色,没有人会频繁的拿出来讨论,因为经常 的,美式认购期权的价值和欧式认购期权的价格无异。但是,美式欧 式认沽期权的价值却是不同的,欧式认沽期权的价值要少于美式认沽 期权的价值。 匴匮 买权卖权等价命题(卐卵却匭卣卡卬卬 印卡卲卩却卹)匮 考虑一支股票上同时有欧式认 购和认沽期权,认购和认沽有相同的履约价単,股票在履约期限協之 前没有分红,所以: P 匫 S0 匽 C 匫 PV 匨X匩 匨匵匮匷匩 匵匰 扃扈扁扐扔扅扒 戵戮 布莱克戭肖尔斯模型(扂扌扁扃手戭打扃扈扏扌扅打) 等号的左边是认沽期权的价格卐加股票价格卓匰,等于号的右边是认购 期权的价格千加履约价的现价值卐卖(単)(印卲卥即卥卮却 卶卡卬卵卥)。要做认 沽,必须先买入股票,再付清认沽期权价:P 匫 S0 要做认购,必须 准备相当的履约价值PV 匨X匩在付清履约价格:C 匫 PV 匨X匩 同时进行 认购和认沽,就相当于先持有这支股票,在履约价単卖出,同时又以 相同的履约价単买入相同的股票,整个过程前后价值没有变化。所以 上面的等号是一定成立的。整个命题只适用于欧式期权,美式期权可 以有不同的结果。这个命题中有匴个数值,已知其中的匳个就可以算出 第匴个。 匵匮 认购价的凹性(千卡卬卬 印卲卩卣卥 卣卯卮卶卥卸卩却卹)。考虑在一个股票上的匳个同 时到期履约的认购期权。假设,认购价格C1的履约价为X1,C2的履 约价为X2,C3的履约价为X3。并且X匱 < X匲 < X匳,X1X2的距离 与X2X3的距离相同,X3 − X2 匽 X2 − X1,或者X2 匽 匨X1 匫 X3匩/匲。 所以: C2 < C1 匫 C3 匲 匨匵匮匸匩 凹形∪(千卯卮卶卥卸),突形∩(千卯卮卣卡卶卥)指的是两种线条弯曲的方式。 命题匵是讲,这匳个认购价格都是凹性曲线上的点。如图(匵),X1匬 X2匬 X3分别为匲匰匬匵匰匬匸匰,所以匵匰 匽 匨匲匰匫匸匰匩/匲。但是C1C3都为匲匹,C2只 有匲匰,所以: 匲匰 < 匲匹 匫 匲匹 匲 卒 卣卯卤卥区 X=seq(from=0,to=100,by=.1) C=((X-50)^2+(X-50)+2000)/100 plot(X,C,type=’o’) 5.4 计计计算算算布布布莱莱莱克克克-肖肖肖尔尔尔斯斯斯 如果股票价格是对数正态分布(卬卯卧卮卯卲卭卡卬卬卹 卤卩即却卲卩卢卵却卥卤),如果股票在到 期履约之前没有分红,如果期权是欧式。所以,认购和认沽期权的价格要 用下面的公式来计算: Call 匽 SN匨d1匩 − Xe−r∆tN匨d2匩 匨匵匮匹匩 P ut 匽 C − S 匫 Xe−r∆t 匨匵匮匱匰匩 P ut 匽 Xe−r∆tN匨−d2匩 − SN匨−d1匩 匨匵匮匱匱匩 戵戮戴戮 计算布莱克戭肖尔斯 匵匱 卆卩卧卵卲卥 匵匮匲区 认购价的凹性 匵匲 扃扈扁扐扔扅扒 戵戮 布莱克戭肖尔斯模型(扂扌扁扃手戭打扃扈扏扌扅打) 而且: d1 匽 卬卯卧 S X 匫 匨r 匫 匰.匵σ2匩匁t 匨σ √ 匁t匩 匨匵匮匱匲匩 d2 匽 d匱 − σ √ 匁t 匨匵匮匱匳匩 这五个公式告诉我们,要计算对数正态分布的股票价格的期权价格,认 购和认沽,要知道匵个前提条件: 匱匮 卓 当前股票价格 匲匮 σ 股票回报率的波动性 匳匮 単 期权履约价 匴匮 卲 银行利息,或无风险投资回报 匵匮 匁t 距离未来履约期限还有的时间段 要先根据公式(匵匮匱匲匬匵匮匱匳)计算d1, d2。在把d1, d2输入N匨匩函数,计算N匨d1匩匬 N匨d2匩匬 N匨−d1匩匬 N匨−d2匩。N匨匩函数输出的是正态分布的概率,卒语言里把 这个函数叫做印卮卯卲卭匨匩,例如: pnorm(d1) 把N匨d1匩,N匨d2匩,N匨−d1匩,N匨−d2匩代入公式(匵匮匹)中结果就是认购期权价 格。公式(匵匮匱匰匬匵匮匱匱)结果是相同的,计算的都是认购期权的价格,但是 (匵匮匱匱)是直接进行计算,公式(匵匮匱匰)根据的是前面介绍的等价关系得到 的: S 匫 P 匽 C 匫 PV 匨X匩 therefore P 匽 C 匫 PV 匨X匩 − S 使用这些公式在实例中,比方说S 匽 匳匰,X 匽 匲匵, r 匽 .匰匶, 匁t 匽 .匸, σ 匽 .匱匲,计算: d1 匽 卬卯卧匨匳匰/匲匵匩 匫 匨匰.匰匶 匫 匰.匵 × 匰.匱匲2匩 × 匰.匸 匰.匱匲 × √ 匰.匸 匽 匲.匱匹匹匵匶 d2 匽 匲.匱匹匹匵匶 − 匰.匱匲 × √ 匰.匸 匽 匲.匰匹匲匲匲匹 C 匽 匳匰 × N匨匲.匱匹匹匵匶匩 − 匲匵 × 卥卸印匨−匰.匰匶 × 匰.匸匩 × N匨匲.匰匹匲匲匲匹匩 匽 匶.匱匸匷匹匷匴 P 匽 匶.匱匸匷匹匷匴 − 匳匰 匫 匲匵 × 卥卸印匨−匰.匰匶 × 匰.匸匩 匽 匰.匰匱匶匳匱匹匱匱 P 匽 匲匵 × 卥卸印匨−匰.匰匶 × 匰.匸匩 × N匨−匲.匰匹匲匲匲匹匩 − 匳匰 × N匨−匲.匱匹匹匵匶匩 匽 匰.匰匱匶匳匱匹匱匱 戵戮戴戮 计算布莱克戭肖尔斯 匵匳 进行期权价格计算的卒代码已经附加在本小节的后面,可以运行,并检查计 算结果。可以试着升高银行存款利率卲,可以观察到这对两种期权价格的影 响不大。但是股票价格卓的变化对期权价格的影响非常的大。这表明期权交 易相当于使用保证金(卍卡卲卧卩卮)做杠杆的交易。认购期权本质是在做长股 票,做短无风险的存款。认沽期权本质是做短股票,做长无风险的存款。 最后值得注意的是,在上面套利命题中提到,不值得提前认购履约,但是 提前认沽履约比卖出持有的期权更值得。 布布布莱莱莱克克克-肖肖肖尔尔尔斯斯斯期期期权权权价价价格格格计计计算算算R代代代码码码 #Black-Scholes Option Pricing Calculation S =30 #Current stock price X =25 #Exercise price r =.06 #Risk-free of interest dt =.8 #Time to maturity of option(in years) sigma =.12 #Stock volatility, standard deviation d1 =(log(S/X)+(r+0.5*sigma^2)*dt)/(sigma*sqrt(dt)) d2 =d1-sigma*sqrt(dt) C =S*pnorm(d1)-X*exp(-r*dt)*pnorm(d2) P1 =C-S+X*exp(-r*dt) #by Put-Call parity P2 =X*exp(-r*dt)*pnorm(-d2)-S*pnorm(-d1)#direct formula 布莱克匭肖尔斯期权价格计算的第二部分还告诉我们,可以用已知的认 购价格千,计算未知的股票波动性σ。而且进行这个计算的函数是没有任何 形式存在的(华卯 千卬卯即卥卤 卆卯卲卭),也就是说,不可能用公式的形式写在纸 上。我们能做的是提前生成一系列数值作为候选人,选择符合要求的数值 作为最终的结果。 同样需要五个前提条件计算股票的波动性σ,它们是S, X, r, 匁t, C。 然后要生成一系列的数值做σ的候选人,每一个σ候选人都要使用公式 (匵匮匱匲匬匵匮匱匳)计算d1, d2。代入公式(匵匮匱匴),每一个σ候选人都会有其相 应的Error数值: Error 匽 N匨d1匩 − X/S 卥卸印{−r匁t}N匨d2匩 − C/S 匨匵匮匱匴匩 能使Error值等于匰的σ候选人,就是需要得出的股票波动性。 这里的计算实例,我们使用S 匽 匳匰,X 匽 匲匵, r 匽 .匰匶, 匁t 匽 .匸,C 匽 匶.匱匹。 并且,σ数值候选人是在匰匭匰匮匲上,每隔匰匮匰匲取一个点。请看输出结果作图 (匵匮匴)。对应Error 匽 匰的σ值是匰匮匱匲,这与上面计算期权价格的例子的前 提条件相同。 布布布莱莱莱克克克-肖肖肖尔尔尔斯斯斯,,,波波波动动动性性性计计计算算算R代代代码码码 匵匴 扃扈扁扐扔扅扒 戵戮 布莱克戭肖尔斯模型(扂扌扁扃手戭打扃扈扏扌扅打) 卆卩卧卵卲卥 匵匮匳区 布莱克匭肖尔斯,波动性计算作图 戵戮戴戮 计算布莱克戭肖尔斯 匵匵 #Black-Scholes Implied volatility Calculation S =30 #Current stock price X =25 #Exercise price r =.06 #Risk-free of interest dt =.8 #Time to maturity of option(in years) C =6.19#Call Price sigma =seq(0,.2,.02) d1 =(log(S/X)+(r+0.5*sigma^2)*dt)/(sigma*sqrt(dt)) d2 =d1-sigma*sqrt(dt) Error = pnorm(d1) - X/S*exp(-r*dt)*pnorm(d2) - C/S cbind(sigma,Error) plot(sigma,Error,type=’o’,ylim=c(-.0025,.004)) abline(h=0) 匵匶 扃扈扁扐扔扅扒 戵戮 布莱克戭肖尔斯模型(扂扌扁扃手戭打扃扈扏扌扅打) Chapter 6 对对对冲冲冲基基基金金金(Hedge Funds) 6.1 套套套期期期保保保值值值(Insured Portfolio) 在危机四伏的金融世界中,有一个被反复提到的专业名词叫卜对冲(午卥卤卧卩卮卧)匢。 对冲的意思是指能够降低金融投资对市场变化的敏感性的一切做法。对冲 可以减小市场变化对投资的影响。对冲可以分为两种,一种是套期保值, 另外一种是德尔塔避险。接下来的两个小节,会对这两种对冲概念进行详 细的介绍。 比方说,你买入了一支股票,价格匤匵匶。你希望不管怎么样,在一年后 都可以用至少匤匵匰的价格将这一支股票卖出去。凭着你对金融市场的了解, 你会去购买这支股票的认沽期权,履约期是一年,履约价是匤匵匰。在一年 到期后,如果这支股票的价格低于匤匵匰,你仍旧可以凭着这个认沽期权, 在匤匵匰的价位上把这支股票处理掉。如果一年后的股票价格高于匤匵匰,你可 以不执行认沽期权,保留这支股票,或在高于匤匵匰的价位将这支股票卖出。 所以认沽期权保证股票的最低价值,并且不妨碍股票向上升值的空间。 套期保值(卉卮即卵卲卥卤 卐卯卲却卦卯卬卩卯)指的是使用购买期权来保障所持股票价 值的做法。更重要的是,我们可以制作自己的期权,没有必要去购买期 权。这才是套期保值类对冲的核心。制作自己的期权,在上世纪匷匰年代, 是一个轰动一时的数学大发现。作为一种新方法,它曾经被大量投资者 购买,并学习,而且引发了金融市场大盘的多次共鸣。至于为什么期权 可以被制作,很多的概率论教科书已经将其作为定理收录,并证明。有 兴趣了解细节的读者可以翻阅匱匵匸页,卐卲卯卢卡卢卩卬卩却卹 卷卩却卨 卍卡卲却卩卮卧卡卬卥即,卄卡卶卩卤 南卩卬卬卩卡卭即,匱匹匹匱。 具体的做法是,将一部分的资金存为无风险的银行存款赚取利息,其余 的资金买成股票。根据当前的股票价格,距离到期日的时间,和预定的履 约价格,来决定划分资金的比例。比方说,股票买入价为匤匵匶,希望在一年 后以不低于匤匵匰的价格卖出,所以距离到期日的时间是匱,履约价为匤匵匰。经 匵匷 匵匸 扃扈扁扐扔扅扒 戶戮 对冲基金戨扈扅扄扇扅 扆払扎扄打戩 过计算,应该把匷匵匮匵匥的资金换成股票,把匲匴匮匵匥的资金作为存款。我们只 考虑每周的股票价格。 一周后股票价格变为匤匶匰,距离到期日匵匱周,换算成时间是匵匱匯匵匲,履约 价格仍旧是匤匵匰,根据这些新的信息,经过计算应该把匸匲匮匵匥的资金换成股 票,把匱匷匮匵匥的资金作为存款。这样,每一个时间点上都会有新的市场信 息,每一个时间点都要对资金的比例进行再平衡(卒卥卢卡卬卡卮卣卥)。持续这样 再平衡,一直到预定的到期日,结果就相当于复制(卒卥印卬卩卣卡却卥匯卄卵印卬卩卣卡却卥) 了一个认沽期权。保证投资不低于匤匵匰的价位,而且还保留了升值的空间。 在下面的卒语言代码里,我们要使用一个叫卯卭卥卧卡匨匩的卒函数来计算投资 股票资金的比例。这个函数需要的输入是:股票价格卓,履约价単,距离到 期时间匁t,银行存款净回报卲,和股票标准差σ。值得注意的是,这个函数 不需要输入股票净回报的均值,因为布莱克匭肖尔斯理论告诉我们,股票净 回报率均值对这些计算没有意义。在卯卭卥卧卡匨匩函数中,同样要计算d1, d2, 然后是N匨d1匩,N匨d2匩,还有认购千卡卬卬,认沽卐卵却价格。如果用小写p代表投资 股票的比例,计算投资股票的比例公式如下: p 匽 S × N匨d1匩 S 匫 put 匨匶匮匱匩 这个公式(匶匮匱)的卒语言代码表达式: p <-S*Nd1/(S+put) #proportion in shares 当然卯卭卥卧卡匨匩函数中的其它数量都是前面已经详细介绍过的,这里不再重 复。 这个例子里,我们使用银行存款的年利率匰匮匰匸,一年有匵匲周,所以存 款周利率为匰匮匰匸匯匵匲匽匰匮匰匰匱匵匳匸,每周的毛回报率就是匱匮匰匰匱匵匳匸。在股票价 格匤匵匶上,匰匮匷匵匴匵匰匱匶的资金投入股票,匰匮匲匴匵匴匹匸匴的资金投入存款。当新的 股票价格出现,价位匤匶匰,股票带来的毛回报率是匶匰匯匵匶匽匱匮匰匷匱匴匲匸匶。所 以在已过的一周匷匵匮匵匥的资金有匱匮匰匷匱匴匲匸匶的毛回报率,另外匲匴匮匵匥的资金 有匱匮匰匰匱匵匳匸毛回报率。总体来讲,所有投入的资金,混在一起的毛回报 率,只是一个加权平均匰.匷匵匴匵匰匱匶 × 匱.匰匷匱匴匲匸匶 匫 匰.匲匴匵匴匹匸匴 × 匱.匰匰匱匵匳匸 匽 匱.匰匵匴匲匷匰匷。如果在股票匤匵匶的时候,只投入了匤匱匰匰匰的资金,到了股票价 格匤匶匰的时候,最初的投资就变成了匤匱匰匵匴匮匲匷匱。 在股票价格匤匶匰,我们要再次决定如何分配股票和存款的投资。经 过卯卭卥卧卡匨匩函数的计算,匰匮匸匲匵匲匶匷匸的资金投入股票,匰匮匱匷匴匷匳匲匲的资金投入 存款。就这样再平衡资金,一周后,股票价格匤匶匲匮匵匰匱匵匲,在股票上的毛 回报率是匶匲匮匵匰匱匵匲匯匶匰匽匱匮匰匴匱匶匹匲匰。在存款的毛回报率仍旧是匱匮匰匰匱匵匳匸。所 以这一周的总投资回报是匰.匸匲匵匲匶匷匸 × 匱.匰匴匱匶匹匲匰 匫 匰.匱匷匴匷匳匲匲 × 匱.匰匰匱匵匳匸 匽 匱.匰匳匴匶匷匵匹。 当观测到了匤匶匲匮匵匰匱匵匲,这是第匳个股票价格,所以时间已经过去了两 周。第一周得到毛回报率匱匮匰匵匴匲匷匰匷,第二周得到毛回报率匱匮匰匳匴匶匷匵匹。像 戶戮戱戮 套期保值戨扉扎打払扒扅扄 扐扏扒扔扆扏扌扉扏戩 匵匹 这样我们可以计算每一周相对前一周的毛回报率,但当前相对于投资刚 刚开始的毛回报率应该是计算复利。相对于投资开始的时候,现在过了 两周,投资的毛回报率应该达到了匱.匰匵匴匲匷匰匷 × 匱.匰匳匴匶匷匵匹 匽 匱.匰匹匰匸匲匸。所 以如果投资开始的时候,总资金是匤匱匰匰匰,到现在两周后,投资的价值 应该变成了匤匱匰匹匰匮匸匲匸。以此类推,在每一周的新股价上用布莱克匭肖尔斯 的卯卭卥卧卡匨匩函数计算再平衡投资组合,等到设定的到期日,无论股票价格如 何,其结果都和买了一个认沽期权一样。 用来实现这个过程的卒代码很简单,除了卯卭卥卧卡匨匩函数和最后的作图部 分,剩下的代码就没有几行了。但其中的回报率计算都使用了卬卯卧,卥卸印函 数。主要是卬卯卧使相乘的运算关系变成了相加的运算关系,然后卥卸印又可以把 相加关系变成相乘关系。使代码更简单明了。下面是这个过程的完整卒代 码: omega <- function(S,X,dt,r,sigma ){ d1 <-(log(S/X)+(r+0.5*sigma^2)*dt)/(sigma*sqrt(dt)) d2 <-d1-sigma*sqrt(dt) Nd1 <-pnorm(d1) Nd2 <-pnorm(d2) call <-S*Nd1-X*exp(-r*dt)*Nd2 put <-call-S+X*exp(-r*dt) p <-S*Nd1/(S+put) #proportion in shares return(p) } S=c(56,60,62.50152,63.15873,62.79999,57.0989,57.86864, 57.51877,58.61156,59.01615,61.63971,64.76013,67.41739, 67.65814,68.38517,70.92214,73.10424,68.94892,65.1327, 65.816,65.63953,64.20456,64.63979,64.50028,66.8621, 69.02875,66.03646,67.10408,68.14783,68.16633,65.77052, 65.73707,63.7284,66.93607,68.31863,70.1023,75.2122, 70.24492,72.50172,74.03201,70.50749,71.59684,71.62407, 70.63535,68.13668,71.6675,71.34427,77.05522,74.58645, 76.39313,81.2814,85.82948,92.45092) week =0:52 deposit =1000 X =rep(50,53) dt =1-week/52 r =0.08 sigma =.30 匶匰 扃扈扁扐扔扅扒 戶戮 对冲基金戨扈扅扄扇扅 扆払扎扄打戩 p =omega(S,X,dt,r,sigma) stock.R =c(exp(diff(log(S))),1) bond.R =c(rep(1+r/52,52),1) R =p*stock.R+(1-p)*bond.R cum.R =exp(cumsum(log(R))) value =deposit*cum.R cbind(week,S,p,1-p,stock.R,bond.R,R,cum.R,value) par(mar = c(5, 4, 4, 4) + 0.3) # Leave space for z axis plot(week, S,type="o",col="red") # first plot stock price par(new = TRUE) plot(week, value, type = "l", axes = FALSE, bty = "n", xlab = "", ylab = "") axis(side=4, at = pretty(range(value))) 这个卯卭卥卧卡匨匩函数告诉我们,如果股票价格在升高,就把比较多的资金 投入股票,如果股票的价格在下降,就把比较多的资金放在银行里。显而 易见,如果大部分的投资者都使用这个策略,当股票上升就把资金投入股 市,股票下降就把资金撤出股市,结果是整个股市的暴涨暴跌。所以套期 保值式的对冲策略,曾经在世界范围,多次导致各地投资市场的崩盘。 截图匨匶匮匱匩演示了这种对冲策略可以追随股票价格的变化,非常紧密。黑 线是股票的价格线,红线是投资价值变化线。这个插图左侧的垂直坐标表 示的是股票价格的刻度,插图右侧的垂直坐标表示的是投资价值的刻度。 水平的坐标表示匵匲周。 从截图匨匶匮匱匩可以看到,使用这个策略的结果是把匤匱匰匰匰的本金变成了匤匱匵匹匰.匳匱匴。 可以想一想,如果我们把匤匱匰匰匰在股票价格匤匵匶的时候全部买成股票,到最 后股票价格匤匹匲.匴匵匰匹匲的时候,价值应该是匱匰匰匰/匵匶×匹匲.匴匵匰匹匲 匽 匤匱匶匵匰.匹匰匹。 使用这个策略,要比不用策略少了匤匶匰.匵匹匵匲匹。这是因为复制认沽期权和购 买认沽期权一样,都是要花代价的。如果我们在起初,股票价格匤匵匶,使 用S 匽 匵匶,X 匽 匵匰, r 匽 匰.匰匸, σ 匽 .匳匰, 匁t 匽 匱的输入,计算这个认沽价格 应该是匤匲.匳匷匶匹匷匶。所以为这些股票买认沽的花费为匱匰匰匰/匵匶 × 匲.匳匷匶匹匷匶 匽 匤匴匲.匴匴匶。可以看出,这个策略把认沽的费用都复制出来了。但数值上的不 同是因为,我们只做了匵匲次离散的再平衡。如果我们可以做连续不停的再 平衡,数值就可以对应上了。 6.2 德德德尔尔尔塔塔塔避避避险险险(Delta hedging) 这是另外一个类型的对冲做法,又被称作自自自筹筹筹投投投资资资组组组合合合(((Self Financing Portfolio)))。所谓的自筹投资组合是说,当组合中一些资产的价值发生变 化,就会有另外一些在相反方向的资产产生相应的价值变化,从而这个投 戶戮戲戮 德尔塔避险戨扄扅扌扔扁 扈扅扄扇扉扎扇戩 匶匱 卆卩卧卵卲卥 匶匮匱区 套期保值再平衡策略投资价值走势举例插图 匶匲 扃扈扁扐扔扅扒 戶戮 对冲基金戨扈扅扄扇扅 扆払扎扄打戩 资组合的价值总体上不发生变化,这个组合被设立后就不需要注入更多的 资金进行维护。更好的是这种对冲的做法也可以为我们制作自己的期权。 比方说,我们在做长方向上的资产有了价值变化,德尔塔避险的做法, 会使在做短方向上的资产产生刚好等价并相反的价值变化,用来抵消做长 方向的价值变化。在某个方向上的价值变化被称作德尔塔(卄卥卬却卡匯δ),价 值变化相互抵消被称作中性德尔塔(卄卥卬却卡 华卥卵却卲卡卬匩。 有一家银行,向一个投资者签发(卷卲卩却卥)了匱匰匰匰匰支股票的认购期权, 也就是说在到期日,如何股票价格合适,这个投资者会向这个银行购买 这匱匰匰匰匰支股票。这样银行向投资者出售了认购期权,收了钱,然后再考 虑需要储备多少支这个股票,等履约日投资者来购买。问题是如果银行 储备了匱匰匰匰匰支股票,但是履约日股票价格太低,投资者拒绝购买股票, 这匱匰匰匰匰支股票就砸在了银行手里。如果银行没有储备匱匰匰匰匰支股票,到履 约日股票价格高于履约价,投资者会选择购入股票,银行就无法兑现这个 期权。 有趣的是,银行签发认购期权,是做短这个期权;储备股票,是买入 股票,是做长这支股票。从而银行就拥有了,一长一短,两个方向上的 两个资产。使用千来代表这个认购期权的价值,使用华代表储备股票的数 量,卓代表股票价格,所以N × S代表储备股票的价值。使用卖代表这个由 短期权和长股票形成的投资组合的价值,用减号代表做短,就有了这个等 式: V 匽 NS − C 匨匶匮匲匩 广大的读者们不是银行,但只要将等式(匶匮匲)中−C当做借来的钱,同 样可以使用德尔塔避险。借的钱数要与签发的期权的价值相等,等式中的 负号既可以代表做短,又可以代表向银行贷款。如果银行现在就把匱匰匰匰匰支 股票准备好,等到履约日,再由投资者决定是否从银行买入股票,这种做 法叫做全覆盖策略(千卯卶卥卲卥卤 卓却卲卡却卥卧卹)。如果银行一直等到履约日,再决 定是否给投资者准备股票,这种做法叫做裸奔策略(华卡卫卥卤 卓却卲卡却卥卧卹)。 注意,银行已经把期权卖给了投资者,投资者持有期权的价值会随着 股票价格的变化而变化。银行要决定持有多少这个股票,原则是,银行要 使用它持有的股票,抵消掉投资者持有期权所有价值变化。投资者期权贬 值,银行就没有必要准备太多的股票。这样就使得投资组合等式(匶匮匲)的 价值变化为匰。当然,我们还是使用在每一个股票价格上进行再平衡的方 法。从理论上讲,我们要使用无限多次再平衡,也就是连续的再平衡,才 能使等式(匶匮匲)的价值变化为匰。还好在股票价格变化很平稳的市场状态 下,每天或每周做一次再平衡,是足够的。 比方说,银行向投资者卖出了匱匰匰匰匰个认购期权,银行必须考虑需要储 备多少股票才能抵消匱个单位的认购期权,然后乘以匱匰匰匰匰就是需要准备股 票的总数。其实答案很简单,就是我们一直在计算的数量N匨d1匩。在布莱 克匭肖尔斯的理论框架中,使用N匨d1匩个股票,就可以抵消一个认购期权的 戶戮戲戮 德尔塔避险戨扄扅扌扔扁 扈扅扄扇扉扎扇戩 匶匳 价值变化。具体来讲,在卖这个期权的时候,股票价格S 匽 匱匰匰,银行存款 年利率r 匽 匰.匰匴,股票的标准差σ 匽 匰.匲匳,履约价X 匽 匱匰匵,而且匱匳星期后 期权到期匁t 匽 匰.匲匵。通过这些信息我们可以计算N匨d1匩: d1 匽 卬卯卧匨S/X匩 匫 匨r 匫 匰.匵σ2匩匁t σ √ 匁t 匽 卬卯卧匨匱匰匰/匱匰匵匩 匫 匨匰.匰匴 匫 匰.匵 × 匰.匲匳2匩 × 匰.匲匵 匰.匲匳 × √ 匰.匲匵 匽 −匰.匲匷匹匸匰匶 N匨d1匩 匽 pnorm匨−匰.匲匷匹匸匰匶匩 匽 匰.匳匸匹匸匱匳 这个期权只能被持有匱匳周,也就是1 4年,因为存款利率是年利率,要 把时间转化成年的单位,刚购入期权的时候还有匰匮匲匵年到期,所以当时 的匁t是匰匮匲匵。通过这些计算得到N匨d1匩,在刚刚签约期权的日子,银行需要 储备匰匮匳匸匹匸匱匳个股票来抵消匱个期权的价值变化。 当然还需要计算出这个欧式期权的价格,前一章节已经介绍过方 法,C 匽 匲.匹匶匱匵匵。所以,匱匰匰匰匰个期权卖给投资者,银行收取匤匲匹匶匱匵匮匵匰的 现金。然后银行需要在匤匱匰匰的价位,购买价值匤匳匸匹匸匱匳 匽 匱匰匰匰匰×匰.匳匸匹匸匱匳× 匱匰匰的股票来进行对冲。 过了一周,股票价格变为卓匽匹匸匮匷匹,距离到期日还有匱匲星期,所以匁t 匽 匱匲/匵匲,重新计算N匨d1匩 匽 匰.匳匳匹匸匱匱。银行只需要匳匳匹匸匮匱匱个股票进行对冲, 需要在S 匽 匹匸.匷匹的价位处理掉多余的股票。出售多余股票后获得现金: 匱匰匰匰匰匨匰.匳匸匹匸匱匳 − 匰.匳匳匹匸匱匱匩匹匸.匷匹 匽 匴匹匳匹匶.匹匷匵匸 一开始的时候,银行为了买股票花费(千卯即却)了匤匳匸匹匸匱匳的现金,因为 银行使用的钱都是客户的存款,总有一天使用连本带利还给客户,所以这 些资金也需要计算利息。方法是计算每一周的连续复利。年利率是匰匮匰匴,每 年有匵匲周,每一周换算匁t 匽 匱/匵匲区 Cost × er∆t 匽 匳匸匹匸匱匳 × e0.04×1/52 匽 匳匹匰匱匱匲.匹匷匱匵 因为处理多余股票得到匤匴匹匳匹匶匮匹匷匵匸的现金,上一周的花费经过计算利息 后为匤匳匹匰匱匱匲匮匹匷匱匵。这周,在股票匤匹匸匮匷匹价位上,设立对冲的花费就是: 匳匹匰匱匱匲.匹匷匱匵 − 匴匹匳匹匶.匹匷匵匸 匽 匳匴匰匷匱匶 我们要计算每一周的花费,这也是本卒代码卦卯卲匭卬卯卯印中实现的功能。 德德德尔尔尔塔塔塔避避避险险险举举举例例例R代代代码码码 delta <- function(S,X,dt,r,sigma ){ 匶匴 扃扈扁扐扔扅扒 戶戮 对冲基金戨扈扅扄扇扅 扆払扎扄打戩 d1 <-(log(S/X)+(r+0.5*sigma^2)*dt)/(sigma*sqrt(dt)) Nd1 <-pnorm(d1) return(Nd1) } S=c( 100,98.79,102.52,103.41,102.82,102.25,100.67, 106.05,104.17,106.08,105.86,110.4,112.46,108.47) X=105 week=0:13 dt=1/4-week/52 r=0.04 sigma=.23 N=delta(S,X,dt,r,sigma)*10000 stock.cost=N*S stock.change=c(0,diff(N))*S R=c(1,rep(exp(r/52),13)) cost=stock.cost intrest.cost=rep(0,14) for(i in 2:14){ cost[i]=cost[i-1]*R[i]+stock.change[i] } #interest.cost=cost*(exp(r/52)-1) #interest.cost=c(0,interest.cost[-14]) cbind(week,S,N,stock.cost,stock.change,cost) 过了匱匳个星期,最后的股票价格是S 匽 匱匰匸.匴匷,高于匱匰匵的履约价格, 投资者决定向银行购买股票。经过这段时间的对冲,匱匰匰匰匰股票已经准 备好,而且总共的花费是匤匱匰匶匹匴匵匷匮匵。股票交易,银行又从投资者收取 了匤匱匰匵匰匰匰匰现金,出售期权时收取的现金匤匲匹匶匱匵匮匵匰经过计算连续复利,应 该是匲匹匶匱匵.匵匰e0.04×13/52。然后银行可以计算着整个过程的净收入: 匱匰匵匰匰匰匰 匫 匲匹匶匱匵.匵匰e0.04×13/52 − 匱匰匶匹匴匵匷.匵 匽 匱匰匴匵匵.匶匰 代码中还计算了每周花费的利息,只是这两行命令用匣符号省略了。下 面是输出结果的截图(匶匮匲),卓列是股票价格序列,华列是储备股票数量的 序列,即却卯卣卫匮卣卯即却是储备股票需要的资金,即却卯卣卫匮卣卨卡卮卧卥列代表由于股票储备 变化而产生的资金,卣卯即却列代表每周累积的总花费。 戶戮戲戮 德尔塔避险戨扄扅扌扔扁 扈扅扄扇扉扎扇戩 匶匵 卆卩卧卵卲卥 匶匮匲区 德尔塔避险再平衡策略投资花费举例输出插图
还剩74页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 18 人已下载

下载pdf

pdf贡献者

tian20121

贡献于2014-02-17

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf