Analyze Sets of Numbers Using Matrix Functions
Introduction
Many financial analysis procedures involve sets of numbers; for example, a portfolio of securities at various prices and yields. Matrices, matrix functions, and matrix algebra are the most efficient ways to analyze sets of numbers and their relationships. Spreadsheets focus on individual cells and the relationships between cells. While you can think of a set of spreadsheet cells (a range of rows and columns) as a matrix, a matrix-oriented tool like MATLAB® software manipulates sets of numbers more quickly, easily, and naturally. For more information, see Matrix Algebra Refresher.
Key Definitions
Matrix
A rectangular array of numeric or algebraic quantities subject to mathematical
operations; the regular formation of elements into rows and columns. Described
as a “m-by-n” matrix,
with m the number of rows and n the
number of columns. The description is always “row-by-column.” For
example, here is a 2
-by-3
matrix of two
bonds (the rows) with different par values, coupon rates, and coupon payment
frequencies per year (the columns) entered using MATLAB notation:
Bonds = [1000 0.06 2 500 0.055 4]
Vector
A matrix with only one row or column. Described as a
“1
-by-n” or
“m-by-1
” matrix. The
description is always “row-by-column.” For example, here is a
1
-by-4
vector of cash flows in
MATLAB notation:
Cash = [1500 4470 5280 -1299]
Scalar
A 1
-by-1
matrix; that is, a single
number.
Referencing Matrix Elements
To reference specific matrix elements, use (row, column) notation. For example:
Bonds(1,2)
ans = 0.06
Cash(3)
ans = 5280.00
You can enlarge matrices using small matrices or vectors as elements. For example,
AddBond = [1000 0.065 2]; Bonds = [Bonds; AddBond]
adds another row to the matrix and creates
Bonds = 1000 0.06 2 500 0.055 4 1000 0.065 2
Likewise,
Prices = [987.50 475.00 995.00] Bonds = [Prices, Bonds]
adds another column and creates
Bonds = 987.50 1000 0.06 2 475.00 500 0.055 4 995.00 1000 0.065 2
Finally, the colon (:
) is important in generating and
referencing matrix elements. For example, to reference the par value, coupon rate,
and coupon frequency of the second bond:
BondItems = Bonds(2, 2:4)
BondItems = 500.00 0.055 4
Transposing Matrices
Sometimes matrices are in the wrong configuration for an operation. In MATLAB, the apostrophe or prime character ('
) transposes a
matrix: columns become rows, rows become columns. For example,
Cash = [1500 4470 5280 -1299]'
produces
Cash = 1500 4470 5280 -1299