Amortization - Commerce 3FD3
Amortization - Commerce 3FD3
Week 3
Amortization Basics
In most nations, by law, a lender must provide the borrower with an amortization table
every time any kind of fixed-rate term loan (ie: a fixed-rate mortgage) is extended. The
exceptions are if the loan interest is floating-rate, or if the loan has a ‘revolving’ term (ie:
line of credit) - as an amortization table cannot be calculated under these
circumstances.
The advantage of an amortization table is that the borrower need not have an
understanding of the time value of money. As a result, a great many more people can
borrow money with confidence, than might otherwise be the case.
Model 6 shows how we might accommodate a change in interest rate, should we wish
to do so. Model 7 shows how we might accommodate a change in payment. A material
value-add if we are lending to either the developer or new car markets.
The secret to amortization tables is to build a working table first, then use ‘goal seek’ to
determine the payment necessary to make the amortization table go to zero. ‘Goal seek’
will not work, if the table is either incomplete, or not working.
To use ‘goal seek’, go to the data tab in MS Excel. Go to forecast, go to what if,
click on goal seek, and follow instructions. Set your closing loan balance cell to
equal zero, by changing your first payment cell; and click OK. MS Excel will go
through a number of loops, and ultimately populate your payment cell with the
correct value.
All good models will accommodate tables up to their maximum possible size (eg: 25-
year mortgage with a monthly payment, or 300 [25 x 12 months] lines of data). But if the
required table is less than the maximum possible size (eg: 5-year mortgage with a
monthly payment, or 60 [5 x 12 months] lines of data) …. lines 61 through 300 of the
table will display a value of zero; correct - but unsightly. We can make the table more
visually pleasing, by using custom formats.
To use custom formatting, go to the home tab in MS Excel. Go to number, click
on the range of cells you want to format, and click on custom. Select any of the
listed possibilities, and click OK.
Week 2
Annuity Basics
Fisher’s Time Value of Money (TMV) equation is the basic equation that underlies
everything we do with annuities. It is expressed as FV=PV(1+i)^N, where;
PV = Present Value (The bird in the hand)
FV = Future Value (The two birds in the bush)
i = Annual Interest Rate
N = Time in years
An annuity is simply a series of identical payments (ie: $100) made over a specified
number of periods. If the payment is made at the beginning of the period, as in a lease,
we refer to the annuity as an ‘annuity in advance’. If the payment is made at the end of
the period, as in a loan, we refer to the annuity as an ‘annuity in arrears’. Each type of
annuity is a different equation.
We can make the future payments grow (bigger or smaller) at a constant rate, through
simple formula modifications. We can accommodate more frequent payment (ie: $500
every 6 months versus $1,000 once/year), by dividing the payment by two, the Annual
Interest Rate by two, and multiplying the number of periods by 2.
A $1,000 annual payment discounted at 5% for 10 years, becomes a $500
payment discounted at 2.5%/period for 20 periods.
Chapter 14 of the textbook outlines the basic annuity formulas. For ease of reference I
have added them to the back of this document as an Appendix.
This week’s lab will also require you to prove that the values as per your custom table,
are the same as those you would get using your ‘finance’ calculator, or the finance
functions of MS Excel. The reason for the comparison, is to prove that your custom
table works.
Streams of same sized payments, or payments growing at constant rates, are extremely
restrictive. What if we do not have orderly payment streams that the formula can use?
We use a custom table.
As you have proved that your custom table produces identical results to the
formulas (when payments meet the same parameters), you know that it works.
Now put different payment values into your custom table. You get a PV or FV
that you know is correct, but which the calculator, or MS Excel finance functions
could not calculate. Very powerful ‘value add’.
APPENDIX FORMULA
PVC0 = A ((1-(1/(1+r)^n))/r)
FVCn = A (((1+r)^n)-1)/r)
PVC0 = A (1+r)((1-(1/(1+r)^n))/r)
FVCn = A (1+r)(((1+r)^n)-1)/r)
PVG0 = A(1+g)((1-(((1+g)/(1+r))^n)/(r-g))
FVGn = A(1+g)(((1+r)^n-(1+g)^n)/(r-g))
PVG0 = A(1+r)((1-(((1+g)/(1+r))^n)/(r-g))
FVGn = A(1+r)(1+g)(((1+r)^n-(1+g)^n)/(r-g))
Week 8
Chapter 17_Bond Research
Prior to building any type of financial model, a modeler needs to do research to see if
there is any theory or industry practice relevant to what he/she plans to build. In this
case, academic literature for information on bonds; Google, and the MS Excel ‘help’ for
information on how to build ‘spinner’ controls.
The modeler then needs to apply the research to the problem at hand, map out how to
build the model, and decide upon whether it makes sense or not to use Visual Basic on
portions of the model. You do not have to build the whole model in VBA.
What is a bond?
Every bond issued under the ‘bond indenture’ will specify the face value ($X), the
maturity date, and the coupon rate.
The face value of the bond, times the coupon rate, equals the ($Y) of total interest that
the bond will be pay every year until the maturity date. This total coupon interest could
be paid once a year, as an annual payment; or as two semi-annual payments – each
consisting of half the total interest owed.
Bonds are normally denominated in face values of either $100, or $1000. Asian bonds
are typically denominated in 10,000 units of local currency; the major currencies being
either Yen (Japan) or Renminbi (China)
Bond features?
The bond issuer may add a number of features to the bond, to either make the bond
more marketable, or reduce the amount of annual coupon interest that must be
paid.
The current price of a bond may be determined using the PV function of MS Excel. The
future price of a bond may be similarly determined, using the FV function of MS Excel.
To determine current price, substitute into the PV function today’s market
Interest rate (YTM) for ‘i’, the remaining time to maturity as ‘N”, the coupon rate
for ‘payment’, and face value for ‘FV’.
To determine future price, substitute into the FV function today’s market Interest
rate (YTM) for ‘i’, the remaining holding period for ‘N”, the coupon amount for
‘payment’, and 0 for ‘PV’. Add to it the PV function and substitute today’s market
Interest rate (YTM) for ‘i’, the remaining time to maturity minus the investment
horizon for ‘N”, the coupon rate times the face value for ‘payment’, and face
value for ‘FV’)
The duration of the bond may be determined by using the DURATION function of
MS Excel
To immunize a bond is to protect the market value of the bond from a change in the
market rate of interest. When applied correctly, the market value of the bond will no
change with a change in the market interest rate.
There are three major techniques that can be used to immunize a bond; cash-flow
matching, convexity matching, or duration matching. For Assignment #3 we will be using
duration matching.
The weakness with duration matching is that the portfolio must be periodically re-
balanced, as the remaining investment horizon declines to zero. If the portfolio is NOT
re-balanced, the portfolio loss to a rise in the market rate of interest will NOT have been
fully recovered by the time the portfolio is liquidated.
Week 5
Chapter 14_Model 4_VBA Details
Everything that you can write in VBA, can be done in ‘Python’; the coding language of
choice for the blockchain smart-contract applications of both fintech and robotics. A
material ‘value-add’ if you see yourself working as a financial analyst at some point.
The below detail should be read in conjunction with Ch 14_Model 4_VBA MS Excel file
posted in this week’s folder.
Please open the Ch 14_Model 4_VBA MS Excel file and click on the ‘Enable
Content’ button.
Notice that the worksheet consists of an inputs section, the inputs are data
validated, and there is documentation as to what the parameters are. To run this
model, change any of the variables within their given range, and press Ctrl+y.
Change the loan amount to $250,000, and press Ctrl+y. The model fails to run,
tells you there is a ‘compile’ error, and returns you to the macro page; click Ok.
Close the Ch 14_Model 4_VBA MS Excel file without saving, open the Ch
14_Model 4_VBA_Corrected MS Excel file, click on Enable Content.
Change loan life to 10.5 years and press Ctrl+y. The loan does not amortize to
zero – indicating a model failure. Change loan life back to 10 years and press
Ctrl+y.
Notice that the values in the ‘Year, ‘Year-beg Balance’, ‘Annual Payment’,
‘Interest Component’, ‘Principal Repaid’, and ‘Year-end Balance’ are all
populated from the VBA macro.
o Click on any one of cells C9 through cell H18. When you did this as a MS
Excel model you had to use complicated programing, that was visible to a
reviewer; here there is just a number – placed there by a macro.
o To gain comfort that these macro generated numbers are correct, the
reviewer has to see the whole amortization table, see that the annual
payment is the same, and that the year10 year-end balance ends at zero.
If any one of these things are not occurring, the reviewer would have no
confidence in the model. Hence to be believed, the VBA model has to be
perfect.
o If the macro is not perfect; the reviewer has to look at the VBA
programing, attempt to isolate the code error, debug, and check if the
rerun output now gives the expected result. If the macro is not adequately
documented, and the reviewer does not know what the end-result should
look like, this would be an extremely frustrating process. Hence in
practice there is reluctance to use VBA, despite its many advantages.
Please click on the ‘developer’ tab, and then the ‘visual basic’ tab. This is the coding for
the model, that is printed on pages 514-515 of the textbook. Rather than build the model
from scratch, and inadvertently create a Visual Basic course, we will analyze what the
existing model does.
An MS Excel worksheet was populated as per cells A1 through D4. Cells B2
through B4 were also data validated to ensure that inputs could not exceed
prescribed parameters. Amortization is populated as per the macro we are
reviewing.
Lines 1-8: The coder has created a sub-routine called ‘loan_amortization’,
documented what it does, and that to ‘run’ this macro the user must use ‘Ctrl+y’.
Documentation in VBA is achieved by putting an apostrophe before your
comment.
Lines 10-13. The coder is naming the variables that the VBA macro will use;
some of which will be input by the user in cells B2 through B4. Variable naming
in VBA is done through use of a Dim statement, and you will be expected to tell
me what these Dim variables stand for when documenting your assignment
submission.
Lines 15-17, 27-29, 42-44, 69-71. The coder is breaking up the VBA program
into easy to find (& debug) sections. While the practice helps when ‘debugging’,
how it is done is personal preference.
Lines 18-26. The coder is telling VBA to put a specific value into the Dim
statement variable outRow, and output into a specific worksheet called ‘Loan
Amort’. VBA will then use the current values in the ‘Loan Amort’ worksheet for all
future calculations, and clear the current values in rows 8 through 105 of the
‘Loan Amort’ worksheet.
Lines 30-41. The coder is telling VBA to read the input data from intRate,
loanLife, and initLoanAmnt. In this program VBA, cell (2,2) means the value in
Row 2, Column 2 of the ‘Loan Amort’ worksheet. The coder then uses an IF
statement to check that the interest rate in the intRate variable is less than 15%;
and display the message Interest rate cannot be greater than 15%, if that value
exceeds 15%. Had the intRate variable been validated, this coding could have
been ignored.
Lines 46-49. The coder is telling VBA to calculate the loan payment using the
Pmt in MS Excel and store the value in a new variable called annualPmnt. The
coder then tells VBA to create a 2nd new variable called yrBegBal and populate it
with the value in initLoanAmnt.
Lines 52-67.
o The coder is telling VBA to repeat calculations using a loop. The ‘For’
statement is the counter, and specifies a row count of 1 through to the
end of the loan life. For each row Interest is calculated as the beginning
loan balance times the interest rate, principal repayment is calculated as
annualPmnt less the interest owed, and the ending loan balance is
calculated as the beginning loan balance less the principal repayment.
o The coder then tells VBA to write out the values of selected variables into
specific locations in the active worksheet which is ‘Loan Amort’. As
Your take-away from this model should be a high-level understanding as to how this
amortization model could have been programmed in VBA. You should also realize that
elements of this program could be ‘re-used’ in the Assignment #2 submission that you
are about to build!
Remember the time saving tips in the Week 1: Financial Modeling In The Investment
World document? Wherever possible, Refuse, Reduce, Reuse, Repurpose, Recycle.
Week 12
Chapter 18_29_Simulating Stock Prices
Anyone can posit a ‘theory’; but to test if it works – we need to turn it into an algorithm,
simulate the results against a time series of data, check the simulated results against
the expectation, and then conclude whether the theory is right or not.
When we are pricing derivatives, we assume that while the second-to-second price of
the underlying reference asset is unpredictable; the random change in the price of the
reference asset follows a movement process similar to that observed in Geometric
Brownian Motion (GBM).
Brownian motion itself is simply the random motion of particles suspended in
gasses and liquids that can be observed under a microscope. The value of GBM
to us, is that if we could model this motion via a series of equations, or
algorithms, we could those algorithms to generate a time series market
simulation.
o In our case, we will be using the algorithm to simulate the closing stock
market price of a security, over a 90-day period, 1,500 times.
o Were we engineers, we might use the algorithm to simulate the
development of metal fatigue in aircraft wings, or engines; over a series of
take-off and landing cycles.
In 1905 Albert Einstein explained that the particles were being moved by
molecules; which begot particle theory, which begot the GBM equations that we
use in stock price simulation today.
1. The security (stock) continuously and freely trades for different values.
a. The reality is that very few stocks are ‘inter-listed’ in sufficiently
geographically dispersed markets to permit 24-hour trading; most stocks
will cease trading for at least a part of the 24-hour clock. However, for
simplification purposes this is a reasonable assumption.
2. Markov process. Only the current price is relevant for predicting future prices,
the historic pricing record is irrelevant.
a. This is the weak form of efficient market theory, and is the underlying
basis for ‘Technical Analysis’. The process has more predictive power if
only short time intervals are considered.
3. Over very short periods (∆t) the return on the security (stock) is normally
distributed.
a. The theoretical basis for this is complex, but explained on p 430-431 of
the text. The key takeaways are that
i. the longer the hold period, the more variable the return becomes
ii. model return is the mean of the drift (µ), plus the standard
deviation.
We can estimate the values for µ, k, and volatility from the equations on
p 434 – 436 of the text.
I would highly recommend that you use the Chapter 28, Model 4 as the starting point for
your Assignment #6. The GBM coding that drives the model, is visible in the VBA editor,
and lends itself to both re-cycling and re-purposing.
If you are not to sure as to the value of using GBM for randomization purposes, you will
still be able to deliver an assignment. However, just be sure that you can speak to GBM
in the final exam!
Week 1
Financial Modelling Basics
Financial models have some basic attributes, and their presence (or lack of) will be part
of each assignment mark. Each of the financial models that you submit for grading must
be;
Realistic. Models are used to make decisions, if the model does not produce
realistic outputs, it does not matter how good it looks.
Documented. The information someone else will need to figure out what the
model does, how it is structured, what assumptions are built in, etc. There is no
standard format.
Data validated. Filtered for the more likely errors in data input
Error-free. An error-free model is evidence that you have systematically
executed a de-bugging process.
Flexible. To maximize flexibility the model has to cover a range of inputs, and
most often through a series of data tables.
Easy to use. Clear description of what the model does, how to use it, clustering
and color coding of input data, and clear labelling.
Appropriate formatting. Minimum number of decimal points, uniform formatting
throughout the model and as little as possible, display in thousands or millions.
Minimum hard coding. Wherever possible, values in formulas set up as inputs.
Well organized. Clustered inputs and outputs, different analysis in different
worksheets, good titles, headings and labels.
Produce good output. User generated built in reporting. Un-cluttered, easy-to-
read, layered, and inclusive of charts wherever appropriate.
Model documentation is an art form and the bigger and more complex a model; the
more likely the requirement for a book of formal documentation, and/or a user manual.
In this course you will not be required to produce either of these, but you will be required
to document;
De-bugging gets easier and faster with experience, but you must be systematic and
thorough. De-bugging is essentially a two-step process;
Using Excel to find the obvious syntax formula errors, value errors, and spelling
mistakes; the software will suggest to you what is wrong.
Correcting logic errors.
o You’ve programed formula incorrectly.
o You’ve used the wrong formula
o You’ve programmed a circular reference
o You’ve used wrong names or cell addresses
The most common type of financial model is pro-forma financial statements; used for
financial planning, capital adequacy testing, credit analysis, merger and acquisition
review, and business valuation. Typically, you will model an Income Statement, a
Statement of Financial Position, a Statement of Cash Flows, a Statement of Changes in
Equity, accompanying sensitivity tables, and key financial indicators.
Week 1:
Financial Modeling in The Investment World
The more that we move to the everyday use of blockchain, smart contracts, and
artificial intelligence; the MORE reliance we place on financial modelling.
All great for job security!
The purpose of a financial model in the Investment World is to answer the question, “If
we invest in this company, are we likely to hit our targeted Internal Rate of Return over
the next 3-5 years?” The valuation is used to justify an investment recommendation that
we should either go ‘long’ or ‘short’ on Company X.
If Company X is undervalued. In the worst case there is a 50% chance of losing
10%, and a 50% chance of gaining 40%.
If Company X is overvalued. In the best case there is a 50% chance of the share
price falling 40%, and a 50% chance of it rising 10%.
Did you notice how close this is to the five-step modeling process?
1. Understand the models expected uses and required outputs
2. Collect 3-5 years of historic data
3. Understand the company plan
4. Build a model and debug it
5. Improve the model based on feedback.
Catalysts to push down its stock price in the next 6 months include the expiration of key
reseller agreements with 3 of its top 10 vendors and the first earnings results post-
acquisition close of a smaller retailer last year. Investment risks include potentially
better-than-expected integrated company results, as well as faster-than-expected
market growth, but we could mitigate those by longing one of its competitors to reduce
potential losses from unexpected market growth.”
Investment Thesis: The company is overvalued by at least 20-25% vs. peers, but
consensus hasn’t “noticed” because the company has done a good job of obfuscating
key metrics and not disclosing its reliance on its top 5-10 vendors. Its recent acquisition
has also under-performed relative to expectations and the premium paid.
Catalysts: The upcoming renewal of key vendor contracts and the first earnings call
post-transaction-close could push down the company’s stock price as the market finally
notes its weaknesses.
Valuation: Even in an “Upside” scenario, with Sales per Square Foot and Total # Stores
increasing at a 5% premium to management’s expectations, the company is still
overvalued by approximately 5-10% vs. peers; and in the Base case and Downside
scenarios, which have been reduced from consensus estimates based on conversations
with vendors and suppliers, the company is overvalued by 15-25%. These results hold
for both public comps and the DCF analysis (paste in the model output).
Suppose you want to compare the impact of changing interest rates, on monthly
payment, total payment, and total interest.
Create the results cells
Make cell E4 = B4-B5
Make cell E5 = IFERROR(PMT(B7/12, B6*12,-B4--B5),0)
Make cell E6 = IFERROR(E5*B6*12,0)
Make cell E7 = IFERROR(E6-E4,0)
Enter the data table's labels; make the first column your variable (interest rate).
Make cell B11 = E5
Make C11 = E6.
Make D11 = E7
Were we to use the What-If Analysis, Data Table option in Assignment #3, we could
generate a data table similar to the below – and use it to build the graph that
demonstrates portfolio immunization. Furthermore, as the results cells would also
change as we change bond weightings, the data table (& graph) would also
automatically change as we change bond weightings.
Week 4
Introduction to VBA
What makes you ‘special’ as a financial modeller, is your creativity … and your ability to
make it happen in VBA. Ability to use VBA is a valuable skill to have, so tell only the
interviewer, your ‘boss’, and very few others.
…. Or you will be programming for ‘everybody’, at no additional pay!
Open MS Excel and load the ‘Developer’ tab onto your ribbon. Upon successful
completion the ‘Developer’ tab will appear between the ‘View’ and ‘Help’ tabs on your
ribbon.
Click on the ‘File’ tab, look at the bottom left corner, and click on ‘Options’.
Look at the left-hand box and click on ‘Customize Ribbon;
Look at the right-hand box and click on ‘Developer’.
Click on the ‘OK’ tab in the bottom right corner.
Close MS Excel and re-open it.
To use VBA, click on the ‘Developer’ tab, and click on the left-hand side ‘Visual Basic’
tab. This will take to the Visual Basic Editor (VBE), where you will be using the ‘Project
Explorer’ tab, ‘Insert’ and ‘Procedure’ tabs extensively.
Our experience with Commerce 3FD3 is that typically no more than 5-10% of students
in a given class know anything about VBA. However, as knowledge of VBA is a valuable
skill for a modeler, we need to develop some expertise in it.
We need to know how to use VBA, but not necessarily know how to program to the level
that you might expect of a computer science major. We achieve this through ‘guided
learning’.
You will be teaching yourself how to program in VBA, helped with guidance from
both your classmates and I, as to how to how to ‘do’ things. It is why the
assignments are group efforts, why you are encouraged to talk to other groups,
and is a standard way by which to learn programing.
I will provide weekly reference models in both MS Excel and VBA, relevant to the
assignment that we are doing, that you are free to copy VBA code from, and
modify as you see fit. Periodically, I will also provide specific guidance as to how
to do something in VBA.
The final exam will not include any VBA, other than those areas where I have
provided you with specific guidance as to how to do something in VBA. How
much you choose to learn and apply VBA, is entirely up to you.
Week 11
Chapter 19_30_Options_Option Portfolio’s_ Option Pricing
Fortunately, The Black Scholes Merton (BSM) option equation, allows us to calculate
the value of a financial ‘put’ or ‘call’ option. Combining the put and call options in a
particular way; allows us to mimic the pay-off of a stock position without incurring its
risk.
An option is a derivative security; the price of which depends on the price of the
reference security or asset. For example;
The price of an option on Royal Bank common shares, depends upon the
current market price of Royal Bank common shares trading on the Toronto Stock
Exchange.
The price of an option on West Texas Intermediate (WTI) crude oil depends
upon the current market price of WTI trading at Cushing, Oklahoma.
Financial options can be used to take-on risk for speculation purposes, or remove risk
through an opposing hedge position.
The primary method by which to determine the value of an option premium is the Black-
Scholes-Merton (BSM) equation, shown on p452. BSM showed that the premium (S) for
a European option depends on 5 variables;
K, the exercise price
r, the continuously compounded annual risk-free interest rate
q, the continuously compounded annual dividend yield
T, the time to maturity in years
σ, the securities annualized volatility
All the variables can be observed directly, except σ, which must be determined by
iteration using the BSM equation. If the underlying security pays a dividend it reduces
the price of call options, and increases the price of put options.
Put and call premiums must always equal other, as expressed in the put-call parity
equation on p454
c + Ke-rt = p + Se-qt
As the magnitude of the premium will change as both the securities value, and
remaining time to maturity changes, we would like to know the price change sensitivity
of each variable in the BSM equation. These price sensitivities are known as the
‘Greeks’, p456-457 of the text. Many of the models posted in the model’s folder,
graphically illustrate how specific ‘Greeks’ behave over time.
Delta measures sensitivity of the premium (price) to changes in the price of the
security. The closer the strike price is to the market price; the more impact delta
will have on the price of the option. It is the first derivative of the BSM equation.
Gamma measures the sensitivity of delta to changes in the price of the security.
Gamma is highest when the strike price and the market price are identical;
thereafter it rapidly declines as the difference between the strike and market
price increase. It is the second derivative of the BSM equation.
Vega measures the rate of change in the securities annualized volatility. Vega is
highest when daily market price fluctuations are extreme, and lowest when
market fluctuations are calm. It is the first derivative of the σ equation.
Rho measures sensitivity to change in the risk-free interest rate. Rho generally
does not change unless there is speculation in the financial market that the
nations central bank is about to change discount rates. It is the first derivative of
the interest rate r.
Theta measures how the premium (price) changes over time. The value of all
options decay at an accelerating rate, the closer the option gets to expiry. Hence
an option with many months to expiry will be expensive, and its value will be
declining very slowly; whereas an option close to expiry will be cheap, but its
value will be declining every day.
When used to mimic a short position, options offer five major advantages;
No margin requirement. A short sale of the reference asset, will require the seller
to maintain margin in their account as security against a rise in the price of the
asset sold. There is no such requirement under an options position
No share loan recall. A short sale of the reference asset cannot execute until the
seller borrows the asset from someone else. As the lender can ask for the return
of the asset at any time, the short seller is exposed to potential loss if he/she has
to buy back the shares prematurely. There is no such requirement under an
options position
No borrowing fees. Short sellers must pay a borrow fee for the reference asset
sold, and fees can often exceed 30% for ‘rare’ reference assets. There is no
such requirement under an options position
No regulatory reporting. Portfolio managers must periodically disclose short
positions, both at the time the reference asset is sold, and again when the
portfolio is reported on. There is no such requirement under an options position
Easier execution. There are often occasions where the desired reference asset
is just not available to borrow, and thereby short. However, this is not a problem
if the reference asset has an options market; and we hold call options on that
reference asset.
o If upon maturity, our call option expires ‘in-the-money’; we can demand
that the option seller deliver the reference asset to us – in exchange for
the agreed upon option strike price. We receive the reference asset, and
a mark-to-market unrealized gain; while the option seller suffers a realized
loss.
Week 10
Risk and Return
Risk is your friend - but your ability to take on risk depends on age and
circumstance. As a young person you have everything to gain and little to lose; as an
old person you have a lot to lose and little to gain.
In finance, ‘risk’ refers to the degree of uncertainty about the rate of return on an asset;
and the potential harm that could arise, when financial returns are not what the investor
expected. US-SEC definition of risk
We typically interpret this to mean that the more an outcome could differ from what we
expect, the ‘riskier’ we deem that activity to be. If we could bankrupt, or lose our life, we
interpret the activity to be extremely risk. However, we are not concerned if the
investment turns out better than expected.
http://www.victoriafalls.net/explore-victoria-falls/victoria-falls/bungee.aspx#.Xb8MNppKjIU
Locals refer to Victoria Falls bungee-jumping as ‘Teaching the crocodiles how to jump.’
When applied to a market index, the result is the Securities Market Line (SML), which
may be summarized as per the below equation:
Ra = Rf + B(Rm-Rf)
Where:
Ra = Required Return
Rf = Risk Free Rate (Treasury Bond Yield Curve)
B = Coefficient of Variation on Market Exchange ‘X’, as described above.
Rm = Market Rate of Return
Source: Martin Butcher, MBA, CPA, FCSI
Financial Analysis and Modeling 2nd Edition, Chandan Sengupta, Chapter 16,
28
McMaster University
Commerce 3FD3: Financial Modelling
Industry convention
Industry convention is that for comparative purposes - index returns, should include
total return adjustments; on the assumption that all dividend payments were
reinvested in fractional new shares of the company, at the prevailing market price on the
date of the dividend payment. As the index total return is a ‘nominal’ return that includes
inflation, to get to the real return, we must deduct inflation. There are two methods;
Industry convention is to display the performance of an asset over time, by showing the
real (total return – inflation) growth of $1 over the years. There are a number of ways by
which this may be done.
An analyst may download a time-series of data of opening price, dividend, and
the Consumer Price Index level, as per the Chapter 16, Model 1, The analyst
then assumes an initial investment of $X, and continuous reinvestment of the
dividend in new shares, to arrive at an annual new share count. The new share
count is then multiplied by the new share price, and multiplied again by a CPI
adjustment factor to adjust for inflation.
o Inflation makes returns appear larger than they actually are, and the
longer the time series the more severe the effect. In Model 1,
approximately 37% of the cumulative return was due to inflation.
An analyst may instead download a time-series of annual return and CPI data as
per the Chapter 16, Model 3. An initial investment of $1 is then multiplied by the
annual return, multiplied again by a CPI adjustment factor to adjust for inflation,
and the resulting table graphed.
o The graph demonstrates that as the $1 investment moves through time,
the inflation gap between the two lines gets bigger.
Alternatively, an analyst might simply download a time-series of different asset
class returns as per Chapter 16, Model 2, and add a disclosure note. For each
asset class an initial investment of $1 is then multiplied by the annual return, and
the resulting table graphed.
The final exam will be a combination of 75 multiple choice, and true/false questions that will
focus primarily on best practices, and the financial theory behind some of the chapters that
we covered. The below 18 sample questions are fairly representative of what you can
expect to see on the exam.
4. In the investment world, the analyst’s objectives are to evidence key understanding of
XYZ company, and produce both a timely and predictive model.:
a) True
b) False
7. Functions and formulas assume that cash flows are for equal length periods, and that
they discount at the same rate of return:
a) True
b) False
10. There are 2 main reasons for programing in VBA; re-using formula is much easier in
VBA than in Excel, and complex formula can be made a lot easier in VBA.
a) True
b) False
11. The price of a bond moves inversely to market yield to market, and we use concavity to
measure the bonds sensitivity to a change in yield.
a) True
b) False
15. Market indexes typically include dividend reinvestment, and hence represent a total
index return. This is?
a) True
b) False
17. The Black-Scholes-Morton (BSM) model makes use of five price sensitivities; Delta,
Gamma, Vega, Rho, and Theta. Is this accurate?
a) True
b) False
18. The key take-aways from the Geometric Brownian Motion (GBM) Model are:
a) The longer we hold a stock, the more uncertain we become as to what the actual
final price will be versus the expected final price.
b) The longer we hold a stock, the less certain we can be of earning the expected
rate of return.
c) None of the above
d) All of the above
Q1 d
Q2 b
Q3 d
Q4 a
Q5 d
Q6 d
Q7 a
Q8 d
Q9 d
Q10 b
Q11 b
Q12 d
Q13 d
Q14 d
Q15 b
Q16 d
Q17 a
Q18 a
Week 4
Steps to building a good financial model
The purpose of this document is to walk you through the steps to building a good
financial model. If you hope to score well on your group assignments; following this
process, and modeling according to the requirements of the Assignment Marking
Rubric, will be critical to your success.
The most effective way to build a good model is to sketch out the model first - before
starting to program in either MS Excel or VBA. It is a five-step process.
1. Research relevant theory
2. Visualize what you will need, to produce the result required.
3. Visualize the major steps, or blocks of VBA code, that you will require.
4. Document what the model does, and what each major step, or block does.
5. Document the order of step or block processing, and why.
Visualize what the processing should look like. Using Assignment #1 as the
example:
Would a VBA or a MS Excel model be the better choice for this?
Could an existing amortization model be re-purposed? Model 5?
APR data validation using a list … (6.00, 6.25, 6.50, 6.75 … 10.00)
Interest calculation and addition using a reference list. Model 6?
Who in the group is programing this, when and how?
Most people will try to program immediately, versus map out the process first. You may
be able to successfully do that for the first 2-3 assignments, but it will not be possible
once these assignments become more complex and you are programing in VBA. Hence
take the time to develop good habits early, and stick with them.
Once you complete Commerce 3FD3, there will be nobody telling you the relevant
theory applicable to what you want to do, showing you what a good model should look
like, or showing you the coding/programing that ‘makes it happen’. You will be relying on
the 5-step process that you have learnt, and the good habits you developed while doing
this course.
Good luck!
Week 6
VBA sub-routine and function procedures
Mid term recess is a week with no lectures or assignments, that students can use to get
on top of work, and prepare for upcoming deadlines. For those in the class who wish to
get a firm grip on VBA … this free time is a gift.
Use it well, but be sure to take some time off for yourself as well.
However, for many other people, the opportunity to both learn and apply VBA in a
business setting, was a major reason for taking the course. For these people, this
document will give you some guidance, as you take the time over mid-term recess to
strengthen your grip on VBA.
Chapter 23 and chapter 24 of the textbook is where the VBA rubber hits the road.
Mastering these chapters, is akin to learning to drive in 4 th gear, versus 1st. Doing it well
is the difference between driving a sports car, and driving a truck; both will work, but the
sports car is a lot more responsive.
To add a spinner
Developer tab, controls group.
Click on ‘insert’, form controls, and click on ‘Spin Button’.
Click on the worksheet where you want the spinner to appear.
Right click the control, click on format control.
In the current value box, enter the initial value of the spin button.
In the minimum value box, enter the lowest value that a user can specify.
In the maximum value box, enter the highest value that a user can specify.
In the incremental change box, enter the amount by which the value can change.
In the cell link box, enter a cell reference that contains the current position of the
spin button.
As data tables are best learnt through doing, please refer to the ‘Week 06 Learnings’
folder in Avenue-To-Learn. Once you are comfortable with how to set up, and use a data
table, you will be very well positioned for the remainder of the course. Practice, using
the below 2 two files;
How to create and use a Data Table
Data Table Example
Practice creating different data tables from different inputs, and then using the table to
create a graph. Notice that as soon as the inputs change, the table changes, AND the
graph using that table. In Assignment #3 the inputs will be controlled via a spinner, that
will change the graph every time the spinner is clicked.
Week 9
Yield Curve Research
Money is a product, and like any other product – there is a cost to use it.
That cost is the interest rate, and it is determined from the yield curve.
The ‘price’ of money is the market rate of interest, or yield; and it is set at every
‘maturity’ (month or year), by the supply and demand for money at that maturity. If we
graph yield (interest rate) against maturity (time), the resultant ‘price’ function is called
the yield curve.
The yield at the point where the graph intersects the vertical y-axis, is known as the
risk-free free rate. It is calculated as the yield-to-maturity on an overnight treasury
bill, issued by the nation’s central bank; and represents the lowest possible cost of
borrowing, by the most credit worthy entity in the nation.
Most borrowers are of course not nations, and borrowers differ materially in their
credit worthiness. Hence for an individual borrower, we must add a risk premium to
the risk-free rate, to adjust for the credit worthiness of the borrower. The size of the
risk premium depends on the liquidity of the market at the time the money is
borrowed, and the credit rating of the borrower.
o Market liquidity fluctuates daily, and depends on a number of factors that
have greater/lessor influence according to the economic conditions of the
day.
When there is an excess supply of money (very high liquidity) at a
specific term, the cost of money at that term will be very low.
When there is an excess demand for money at that specific term (very
low liquidity), the cost of money at that term will be very high.
o Credit worthiness is measured as a credit rating, the more famous of which
are the ‘AAA’ to ‘D’ Standard and Poor’s Long-Term Bond ratings. A ‘AAA’
rating means that the borrower has the best credit possible, and will pay a
risk premium of zero when borrowing. A ‘D’ rating will typically exclude the
borrower from the credit market entirely,
https://www.spratings.com/documents/20184/86966/Standard+%26+Poor
%27s+Ratings+Definitions/fd2a2a96-be56-47b8-9ad2-390f3878d6c6
We use the yield curve to present value the benefit of a future cash flow. Given that
an asset is simply a collection of future benefits; the yield curve gives us a way by
which to value the present value of those future benefits, and determine the value of
that asset today.
o If the asset is a stream of future cash payments from a borrower with poor
credit; we will discount the future payments at a higher rate, and arrive at a
lower value for the asset.
Liquidity Preference Theory (LPT) argues that the longer the term that a borrower wants
the money for, the more they will have to pay for it. Hence, 5-year money will be more
expensive than 90-day money, but cheaper than 25-year money. When we graph this
observation, we get the ‘normal’ yield curve as shown below; a yield curve that slopes
upwards, at a declining rate, as time increases.
We can take the shape of the yield curve, and use it to calculate the forward rate; which
is the cost of one-year money today, borrowed ‘N’ years from today. We can calculate
multiple forward rates such as the cost of two-year, four-year, or seven-year money; the
same way.
We can calculate the forward rate using the formula shown on page 416 of the textbook,
and it tells us todays price for the money that we want in the future.
In a graph of yield versus maturity, the forward curve will typically plot above the
yield curve; indicating that LPT is present in the market. The cost of one-year
money is increasing by ‘X’ basis points at different points in time, because we
want the money for a longer period of time.
Regulators will frequently use the forward rate to test whether debtors can afford
a floating rate mortgage or not. If the forward rate indicates that the future
interest rate will increase by 150 bp in 18 months, a mortgage may not be
extended if the borrower cannot evidence that he/she could afford the resultant
higher monthly payment. https://mortgagepal.ca/b-20/
Occasionally market abnormalities will overwhelm LPT, and produce yield curves with
disturbing shapes. Consistent correct interpretation, and positioning yourself to benefit
from these shapes, could make you very wealthy.
An ‘inverted’ yield curve occurs when the cost of short-term money is more
expensive than the cost of longer-term money, and plots out as below. When it
occurs, the inverted yield curve is a bell-weather predictor of a coming recession
within the next 6-24 months.
Canada’s yield curve inverted late March 2019; implying that the Canadian
economy will enter a recession sometime between October 2019 and March
2021. https://www.bloomberg.com/news/articles/2019-03-25/canada-s-inverted-yield-curve-signals-
holding-pattern-for-poloz
Periodically, global central bankers are forced to collectively intervene in bond markets
via Quantitative Easing (QE), or ‘Helicopter Money’, to avert global depressions similar
to what occurred in the US during the 1930’s. https://en.wikipedia.org/wiki/Great_Depression
While we, the people, may be forever grateful; it can produce unpredictable effects.
As at June 2019, the world had approximately $ 13T of negative yield sovereign
debt outstanding. Investors were willing to pay the lender for the privilege of
lending money to them. https://www.marketwatch.com/story/value-of-debt-with-negative-yields-
nears-12-trillion-2019-06-18
Currently Danish banks are offering 10-year mortgages at negative 0.5%. The
bank is essentially paying borrowers to borrow money from it.
https://www.businessinsider.com/danish-bank-offers-mortgages-at-negative-interest-rates-2019-8
The value of an asset is the sum of the present value (PV) of its future cash flows,
discounted at the market yield applicable to each cash-flow.
In practice the discount rate will be the asset owners Weighted Average Cost of
Capital (WACC), and the owner would apply the same WACC to each distant
cash flow.
When applied to capital budgeting, the owner would subtract the cost of the
project, from the sum of the present value (PV) of its future cash flows, to arrive
at a Net Present Value (NPV). If the NPV is positive, the owner would consider
undertaking the project.
As all those involved in project work know (engineers, computer science); it is not
enough for a project to simply have a positive NPV - we also need to maximize the
value of the project opportunity.
In practice this means calculating the NPV of the project future cash-flow using a
series of increasing discount rates, and plotting the NPV against discount rate.
The result is typically the plot of a curve that will cross the x axis (discount rate)
in at least two places.
To get the most NPV out of the project, we need to finance it at the
discount rate corresponding to the curves peak NPV.
The points where the plot crosses the x axis (discount rate), are the
projects Internal Rate of Returns (IRRs)
The Meeting 9 Chapter 17, Model 1 Yield Curves and Forward Rates demonstrates how
to chart both a Yield Curve and a One-Year Forward Rate Curve, from a series of zero-
coupon maturities (column A) and yield to maturity (YTM) interest rates (column D). It is
essentially a 3-step process.
1. Express the maturity dates in years. Create another column (column B), divide
the number of months by 12 (column B), and express to 2 decimal places.
2. Create an additional column (column D). Populate with the one-year forward
rate values determined by the formula shown on p416. The formula, expressed
in MS Excel is visible in cell D6 of Model 1.
3. Create the chart. Select cells B5 through D17 as your data, clink on the ‘Insert’
tab, click on recommended charts, click on ‘scatter’ graph, click OK. Label as
you see fit.
The Meeting 9 Chapter 17, Budgeting Model demonstrates how to graph a NPV versus
time plot, a version of which you will need to use in part b) of Assignment #4.