下面几节的解释将帮助您提高使用矩阵代数和MATLAB的技能®功能。
此外,宏观投资分析由威廉·夏普还提供了使用MATLAB矩阵代数运算的一个很好的解释。它可以在Web上的:
当设置了一个问题,“通过谈话”与每个输入和输出矩阵相关单位和尺寸帮助。在下面的例子中矩阵乘法,一个输入矩阵有五天收盘价为三只个股,其他的输入矩阵有两个投资组合的三只股票的股份,因此输出矩阵有五个天的收盘价两个投资组合。它还有助于名称中使用描述性术语变量。
矩阵加减操作元件逐元素。两个输入矩阵必须具有相同的尺寸。结果是相同的尺寸,其中每个元素是总和或每个相应的输入元件的差的一个新的矩阵。例如,考虑不同的数量相同的股票(“股票的股票的组合组合A,B,和C在组合P和Q [行] [列]加在组合A,B,和C的股R 3和S”)。
Portfolios_PQ = [100 200 500 400 300 150];Portfolios_RS = [175 125 200 200 100 500];newportfolio = Portfolios_PQ + Portfolios_RS
NewPortfolios = 275 325 700 600 400 650
可以对标量和矩阵进行加减运算,也可以逐元素操作。
SmallerPortf = NewPortfolios-10
SmallerPortf = 265.00 315.00 690.00 590.00 390.00 640.00
矩阵乘法呢不操作元件逐元素。它根据线性代数规则进行操作。在矩阵相乘,它有助于记住这个关键原则:内部尺寸必须是相同的。也就是说,如果第一矩阵米-通过-3.
,第二个必须是3.
-通过-n。将所得的矩阵是米-通过-n。它还有助于“通过讨论”每个矩阵的单位,如中所述使用矩阵函数分析一组数字。
矩阵乘法也是不交换;也就是说,它不是独立的顺序。A * B呢不等于B *。维度规则说明了这个属性。如果是1
-通过-3.
矩阵,B是3.
-通过-1
矩阵,A * B产生一个标量(1
-通过-1
)基体,但B *阿产生一个3.
-通过-3.
矩阵。
向量乘法遵循相同的规则,有助于说明这些原则。例如,一个股票投资组合有三种不同的股票,它们今天的收盘价是:
ClosePrices = [42.5 15 78.875]
产品组合中包含的每一股股票,这些数字。
NumShares = [100 500 300]
为了找到投资组合的价值,乘以矢量
PortfValue = ClosePrices * NumShares
其中收益率:
PortfValue = 3.5413e + 004
该向量1
-通过-3.
和3.
-通过-1
;所得到的载体是1
-通过-1
一个标量。因此,将这些向量相乘意味着将每个收盘价乘以各自的股票数量,并将结果相加。
为了说明顺序依赖性,切换向量的次序
数值= NumShares *关闭价格
值= 1.0E + 004 * 0.4250 0.1500 0.7887 2.1250 0.7500 3.9438 1.2750 0.4500 2.3663
其示出的100,500,和300股各股票的,而不是组合值,并且无意义的此示例的闭合值。
在矩阵代数,如果X和Y具有相同的长度的矢量
然后点积
是两个向量的标量积。它是交换律的一个例外。要在MATLAB中计算点积,使用总和
(X * Y)
要么总和(Y。* X)
。确保这两个向量有相同的维数。为了说明这一点,可以使用前面的向量。
值=总和(NumShares。* ClosePrices')
值= 3.5413 e + 004
Value = sum(ClosePrices .* NumShares')
值= 3.5413 e + 004
正如预期的那样,在这些情况下的值相匹配PortfValue
计算。
乘以向量和矩阵如下矩阵乘法规则和过程。例如,组合矩阵包含了一个星期收盘价。第二矩阵(向量)包含库存数量的组合。
WeekClosePr = [42.5 15 78.875 42.125 15.5 78.75 42.125 15.125 79 42.625 15.25 78.875 43 15.25 78.625];PortQuan = [100 500 300];
要查看每天的收盘投资组合价值,只需乘以即可
WeekPortValue = WeekClosePr * PortQuan
WeekPortValue = 1.0E + 004 * 3.5412 3.5587 3.5475 3.5550 3.5513
价格矩阵5
-通过-3.
,则量矩阵(向量)为3.
-通过-1
,则得到的矩阵(向量)为5
-通过-1
。
矩阵乘法也遵循矩阵代数规则。在矩阵代数符号中,如果一个是一个米-通过-n矩阵和B是一个n-通过-p矩阵
然后C =一个*B是一个米-通过-p矩阵;和元素cIJ在里面我行和第jth列C是
为了说明,假设有前面提到的相同的三只股票,但具有不同数量的2种组合。
组合= [100 200 500 400 300 150]。
乘以5
-通过-3.
本周收盘价格矩阵由3.
-通过-2
投资组合矩阵5
-通过-2
显示两个投资组合每日收盘价的矩阵。
投资组合价值= WeekClosePr *投资组合
PortfolioValues = 1.0E + 004 * 3.5412 2.6331 3.5587 2.6437 3.5475 2.6325 3.5550 2.6456 3.5513 2.6494
周一的值由各自的股数在每个星期一的收盘价乘以相加结果的第一组合,然后做同样的第二组合的结果。周二的值由各自的股份数量,每星期二的收盘价乘以相加结果的第一组合,然后做同样的第二组合的结果。依此类推,经过一周的休息。有了一个简单的命令,MATLAB快速执行许多计算。
乘以一个标量的矩阵是一个例外的尺寸和交换规则。它只是工作元素的元素。
组合= [100 200 500 400 300 150]。DoublePort =公文包* 2
DoublePort = 200 400 1000 800 600 300
矩阵划分是有用主要用于求解方程组,并且特别是用于求解联立线性方程(参见求解线性方程组)。例如,你要解决的X在一个*X=B。
在普通代数,你会被划分等式的两边一个和X就等于B / A。然而,由于矩阵代数是不可交换的(一种*X•X*一),不同的程序适用。在形式矩阵代数中,解涉及到矩阵的求逆。然而,MATLAB通过提供两个矩阵除法符号(左、右)(\
和/
)。一般来说,
X = A \ B
解决了的X
在一个
*X = B
和
X = B / A
解决了的X
在X
*A = B
。
在一般情况下,矩阵一个
必须为非奇异方阵;也就是说,它必须是可逆的,它必须具有相同的行数和列数。(一般地,矩阵是可逆的,如果矩阵乘以它的逆等于单位矩阵。为了理解理论和证据,在咨询教科书线性代数如基本线性代数由希尔列出于参考书目。)MATLAB给出一个警告信息,如果矩阵是奇异的或接近。
矩阵划分在解联立线性方程特别有用。考虑这样的问题:由于基于抵押贷款的仪器两个投资组合均依赖于优惠利率一定的收益率,你怎么加权组合来实现某些年度的现金流?答案涉及求解两个线性方程。
线性方程的形式是任何方程
在哪里一个1,一个2和b是常数(一个1和一个2时为0),以及x和y是变量。它是一个线性方程,因为它描述了XY- 平面。例如,等式2x+y= 8描述了一种线,使得如果x= 2,则y= 4)
线性方程系统是线性方程组,你通常需要在同一时间来解决的;即,同时进行。在求解线性方程精确答案的一个基本原则,要求有尽可能多的方程式有未知数。要获得准确的答案x和y,必须有两个方程。例如,为了解决x和y线性方程系统
肯定有两个方程,确实有。矩阵代数将该系统表示为包含三个矩阵的方程:一个对于左边的常数,X对于变量,和B对于右边的常数
在哪里一个*X=B。
同时求解方程组就是求解X。使用MATLAB,
A = [2 1 1 -3];B = [13 -18];
X = A \ B
解决了的X
在A * X = B
。
X = [3 7]
所以x= 3,y在本例中为7。一般来说,你可以用矩阵代数来解任何线性方程组,比如
把它们表示成矩阵
并求解X在一个*X=B。
为了说明这一点,考虑这种情况。有基于抵押贷款的仪器,M1和M2两个投资组合。他们有$ 100,每单位$ 70目前每年现金支付,分别基于今天的优惠利率。如果优惠利率向下移动一个百分点,他们的支付将是$ 80和$ 40投资者持有10个单位的M1和20个单位的M2的。投资者的收益等于现金付款时间为单位,或R = C * U,每个黄金率的情况。如Word公式:
M1 |
M2 |
|
主要平面: |
$ 100 * 10单位 |
+ $70 * 20个单位= $2400个收据 |
': |
$ 80 * 10单位 |
+ $40 * 20个单位= $1600的收入 |
作为MATLAB矩阵:
现金= [100 70 80 40];单位= [1020];收据=现金*单位
收入= 2400 1600
现在投资者问这样一个问题:鉴于这两个组合和他们的特点,他们应该如何每种许多单位坚持获得$ 7000,如果优惠利率保持平坦和$ 5000个如原下降一个百分点?查找求解两个线性方程组的答案。
M1 |
M2 |
|
主要平面: |
100美元*x单位 |
+ $ 70 *y单位= $ 7000个收据 |
': |
$ 80 *x单位 |
+ 40美元*y单位= $ 5000个收据 |
换句话说,在等式R(收据)= C(现金)* U(单位)中求出U(单位)。使用MATLAB左除法
现金= [100 70 80 40];收据= [7000 5000];单位=现金收据
单位= 43.7500 37.5000
投资者应该持有43.75单元组合M1和37.5单元组合M2来达到所需的年收入。
最后,逐个元素的算术操作称为操作。若要表示MATLAB阵列运算,请在运算符前加上句号(。
)。加法和减法、矩阵乘法和标量除法已经是数组运算,所以不需要周期。当在两个矩阵上使用数组运算时,矩阵的维数必须相同。例如,给定股票股利和收盘价的向量
分红= [1.90 0.40 1.56 4.50];价格= [25.625 17.75 26.125 60.50];收益率=股息./价格
收益率= 0.0741 0.0225 0.0597 0.0744