Main Content

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.

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]

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]

A `1`

-by-`1`

matrix; that is, a single
number.

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

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