当前位置:文档之家› 量化投资之matlab入门

量化投资之matlab入门


矩阵的迹
• 方阵的迹
a11 a21 A an1
n
a12 a1n a22 a2 n an 2 ann
• 迹=
a
i 1
ii
• Matlab命令:trace(A)
用矩阵来表示向量的加总Байду номын сангаас
n
x
i 1
i
x1 x2 xn
• Matlab命令:a=eye(n)
逆矩阵
• 如果A为方阵,那么A的逆矩阵A-1满足 A A-1=I A-1 A =I
Remark:逆类似于代数中的倒数运算
1 a2 a 2 aa 1 1 a 1a 1
1
Matlab命令:inv(A)
矩阵的行列式
• 方阵的行列式
a b ad bc c d
1 0 2 0 1 • Remark:单位阵在矩阵代数中的作用类似代数 中“1”的作用
1 0 a11 a12 a11 0 a12 0 a11 a12 2 A A 0 1a21 a22 0 a21 0 a22 a21 a22
a11b11 a12b21 a11b12 a12b22 A B a21b11 a22b21 a21b12 a22b22 32 23 a31b11 a32b21 a31b12 a32b22
• 一般情况下,
A B B A
矩阵乘法

2 i

cov Ri , R j ij
• 投资组合的权重:x 投资到第i种资产上的份额: i
x
x A xB xC 1
投资组合的收益与风险
• 投资组合的收益率
Rpx xA RA xB RB xC RC
• 投资组合的预期收益率:
px E R px x A A xB B xC C
• A X b
1 X A b nn nn n1 如果n>2,一般采用数值算法求解逆矩阵的元素
方程的解:
用矩阵代数来描述投资组合问题
投资组合设定
• 假定有三种风险资产,每种资产的收益率为
Ri i A, B, C
• 收益率服从的分布为:
Ri ~
N i ,

2 px

• 如何将预期收益和风险表示成矩阵代数的形式?
投资组合的矩阵代数表示
• 收益率向量,预期收益率向量,权重矩阵
RA R RB R C
A B C
1 1 1 1
xA x xB x C
矩阵乘法
a11 A a 32 21 a31 a12 a22 a32
b11 b12 B 23 b21 b22
b13 b23
a11b13 a12b23 a21b13 a22b23 a31b13 a32b23
投资组合的矩阵代数表示
• 投资组合收益
R px xR x A

xB
• 投资组合预期收益
px x x A
xB
RA xC RB x A RA xB RB xC RC Rx R C

A xC B x A A xB B xC C x C
x y 1
2x y 1
• 矩阵代数的表示形式
1 1 x 1 2 1 y 1
• 或者 其中
A z b
x z y
1 1 A 2 1
1 b 1
方程求解
• 我们可以在两边同时左乘 A


Matlab简介
Matlab界面与执行命令的方式
Matlab的界面
1、命令行;2、工作区域和工作目录 ;3、命令历史
执行命令的方式
• 在命令行进行操作 例:输入一个矩阵 X=[1 2 3;4 5 6;9 8 7]; • 编写脚本文件进行批处理 实现方式:打开Matlab——File——New——M- files Remark:另外一种M文件是以函数的形式存在的, 命令行和脚本文件都可以调用他
投资组合的收益与风险
• 投资组合的方差
2 2 2 2 2 2 2 x x x A A B B C C p
2 AB xA xB A B 2 AC xA xC A C 2 BC xB xC B C
• 投资组合的分布:
R px
N px ,
1 2 A 3 4
5 6 B 7 8
5 14 6 16 19 22 A B 15 28 18 32 43 50
• Matlab命令:A*B,不能颠倒顺序
单位阵
• N维方阵,主对角线元素均为1,其他元素为0 • 例如:
4 9 2 0 4 2 9 0 2 9 2 1 0 7 2 0 1 7 2 6
矩阵与数相乘
c 2 scalar
3 1 A 0 5
2 3 2 (1) 6 2 2 A 2 0 2 5 0 10
A B C
1 1 1 1
xA x xB x C
• 收益率的方差协方差矩阵
2 A AB AC 2 B A B BC 2 C A C B C
1
1 1
A A z A b z A b z A b
• 或者
1 1
x 1 1 1 y 2 1 1
• Matlab命令:inv(A)*b
1
方程求解
• 如果n个线性方程有n个未知数,可以写成如下 的形式:a11 x1 a12 x2 a1n xn b1
Matlab入门
潘慧峰 金融学院金融工程系 Email: panh2@
矩阵代数回顾
矩阵代数回顾
• 矩阵
a11 a12 a a22 21 A nm an1 an 2 a1m a2 m anm
• n=矩阵的行数, m=矩阵的列数 • n=m 矩阵为方阵 • 向量
• 收益率的方差协方差矩阵
2 A AB B A AC C A
AB A B 2 B BC C B
AC A C BC B C 2 C
投资组合的矩阵代数表示
• 收益率向量,预期收益率向量,权重矩阵
RA R RB R C
• Matlab: sum(x)
用矩阵表示平方和与交叉和 n 2 2 2 2 x x x x • 平方和 i 1 2 n i 1
xx x1
n
x2
x1 n x2 xn xi2 i 1 xn
• 交叉和
n1
X x1
x2 xn
矩阵的转秩
• 交换矩阵的行和列
nm
A A 的转秩
nm
例如:
1 2 3 A 4 5 6
1 X 2 3
1 4 A 2 5 3 6
X 1 2 3
• Variable=expression 例如:x=1; x=y; x=min(y); • 变量名:字母在前,大小写均可 非法变量名: x: 1x x-1 _x
Matlab表达式
• 算术表达式 +,-,*,/,\,^ • 关系表达式 <,<=,>,>=,==,~= • 逻辑表达式 &|~
关系运算的拓展
Matlab命令:y=x’
对称矩阵
如果一个方阵:A=A’ 则此矩阵为对称阵 例如:
1 2 A 1 2 A 2 1 2 1
Remark:协方差矩阵和相关系数矩阵是对称矩阵
矩阵的基本运算
• 加法与减法
4 9 2 0 4 2 9 0 6 9 2 1 0 7 2 0 1 7 2 8
xy x1
x
i 1
i
yi x1 y1 x2 y2 xn yn
y1 n y2 xn xi yi yx i 1 yn
x2
• Matlab命令:x’*y
用矩阵代数表示线性方程
• 考虑一个二元一次方程组
脚本文件的几个要点
• ;表示Matlab执行一行命令,但是没有输出到命 令行 例如:x=ones(10,1); x=ones(10,1) • 注释 %开头,并不执行,增加程序的可读性 有用的两个命令 • Which 查询一个名字是否被占用 • Help 查询一个函数的功能,输入输出方式
基本输入方式
a21 x1 a22 x2 a2 n xn b2 an1 x1 an 2 x2 ann xn bn
• 表示矩阵形式: a a a x b 11 12 1n 1 1
a 21 an1 x b a22 a2 n 2 2 an 2 ann xn bn
a b d g e h c f aei bfg cdh ceg afh bdi i
矩阵的行列式公式
• AB非奇异,乘积的行列式等于行列式的乘积
相关主题