Time value of money for engineers

In finance, as in any other discipline, there are a few key concepts one has to learn about in order to understand the language of experts in the field. I recently took the course Time value of money on Coursera and I had a tough time at the beginning figuring out the meaning of terms like present value (PV), future value (FV), annuity payment (PMT), and so on. The course itself is very nice and accessible to a wide audience, but in my opinion slightly lacks rigor. Thus, when it came to solving assignments, I felt short of generic analysis tools that I could readily apply. This post will fill this gap by introducing a convenient notation for value of money and describing the transformation of the value of money between different time instants. It turns out, one can consider value of money as a vector in $\mathbb{R}$ and calculate PV and FV as linear transformations of it. Such formalism eliminates ambiguity in terms and enables uniform treatment of a range of problems in finance. Several examples will demonstrate simplicity and generality of the proposed approach.

Value of money is a vector

It is customary in finance to consider a timeline with yearly marks from $0$ to $n$. Note that year one begins at $0$ and ends at $1$. There is also a convention that everything happens at the end of a time interval (e.g. payments, accumulation of interest). Thus, “at $1$” means “at the end of period one”.

Let’s denote the yearly interest rate by $r$ and introduce $\gamma=1+r$ for convenience. The value of money at time $i \in \{0, 1, \dots, n\}$ is denoted by $x_i$. It is the amount of money which we pay or which is paid to us at time $i$. Notice, that this amount of money is independent of the amounts of money paid at other time instants (i.e. there is generally no formula relating $x_i$ and $x_j$ for $i \neq j$).

Now we come to the first key idea. We can consider how much $x_1$ is worth at some future time, for example at time $3$. Let us denote the value of $x_1$ at time $3$ by $x_1^2$, which reads as “value of $x_1$ after two periods”. It is known from primary school that $x_1^2 = \gamma^2 x_1$. Observe that here $x_1^2$ is just like the coordinates of vector $x_1$ after a linear transformation $\gamma^2$. In general,

where $i+j \in \{0,1,\dots,n\}$. Note that $j$ can easily be negative. It happens when we want to know the worth of money in the past (e.g. $x_2^{-2} = \gamma^{-2} x_2$ gives the value of $x_2$ at $0$). If $j=0$, it immediately follows from \eqref{lin_trans} that $x_i^0 = x_i$.

Compute sums in one basis

Sums of vectors should be computed in one basis. It is a trivial statement in linear algebra, but perhaps the single most important source of errors and misunderstanding in finance. Since $x_1$ is given in basis $1$ and $x_2$ is given in basis $2$, the coordinates of these two vectors cannot be added directly. So, writing $x_1+x_2$ is wrong. One should bring them to the same basis first. For example, we could write $x_1^1 + x_2$, where $x_1^1$ is $x_1$ in basis $2$. Alternatively, we could shift $x_2$ one step back and write $x_1 + x_2^{-1}$.

An important object of interest in finance is the sum of money at some point in time. If you get a loan from a bank, it may be the total amount of money you borrowed or the total amount you have to pay back. If you put money in the bank, it may be the total sum you’ll have accumulated after several years. In any case, we need to be able to compute sums of yearly contributions somehow. As we have already understood, all computations need to be performed in one basis. Let’s first formally define the sum $S^k$ at time $k$ and then convince ourselves on examples that the definition is useful. Let

where $k \in \{0,1,\dots,n\}$. As an exercise, you may check that $S^{k+1} = \gamma S^k$. Therefore, we can express any $S^k$ in terms of $S := S^0$ by applying the propagation operator $\gamma$ appropriate number of times to $S$. Namely, $S^k = \gamma^k S$.


Let’s now consider examples from weeks 1 and 2 of the course on time value of money. We’ll only need formulas \eqref{lin_trans} and \eqref{sum} to solve all the problems.

Future value (1.4)

Problem. Suppose you invest $500 in the bank at an interest rate of 7%. How much will you have at the end of 10 years?

Solution. There are $n = 10$ time periods, the interest rate $r = 0.07$ is fixed, there is only one investment at time $0$ worth $x_0 = 500$, cash flow at other times is zero $x_{1:n} = 0$. We need to find $x_0^n$. Simply apply \eqref{lin_trans}:

Thus, $500 will almost double in value after 10 years when invested under 7%. This is the essence of compounding.

Present value (1.6)

Problem. Suppose you will inherit $121,000 two years from now, and the interest rate is 10%. What is the value to you today?

Solution. Here, $n=2$, $\gamma=1.1$, $x_2=121$. We need to find $x_2^{-2}$. Nothing easier:

Future money are worth less to you. It is called discounting.

FV of annuity (2.2)

Problem. What will be the value of your portfolio at retirement if you deposit $10,000 every year in a pension fund? You plan to retire in 40 years and expect to earn 8% on your portfolio.

Solution. Here, you pay $x = 10$ every year, so $x_{1:n} = x$, where $n = 40$. It is implied in such problems that $x_0 = 0$. Interest rate is 8%, therefore $\gamma = 1.08$. What you will get in the end is the sum of your yearly contributions in basis $n$. According to \eqref{sum},

That is, due to compounding, you will have about $2.5 million in the end. In general, FV of an annuity is

which is a special case of \eqref{sum} when $x_{1:n} = x$ and $x_0 = 0$.

Annuity payment (2.3)

Problem. Suppose you want to guarantee yourself $500,000 when you retire 25 years from now. How much must you invest each year, starting at the end of this year, if the interest rate is 8%?

Solution. It is the inverse of the previous problem. The solution is $x$ from \eqref{pmt}. Its numerical value in this case is $x \approx 6,840$.

PV of annuity (2.5)

Problem. How much money do you need in the bank today so that you can spend $10,000 every year for the next 25 years, starting at the end of this year? Interest rate is 5%.

Solution. What we need to compute is $S^0$ given that $x_{1:n} = x$. We can reuse \eqref{pmt}, because it is essentially the same problem, just the answer needs to be expressed in a different basis. We know that $S^n = \gamma^n S^0 = \gamma^n S$; therefore, substituting it in \eqref{pmt}, we obtain:

In this problem, $S \approx 141,000$.

Savings plan (2.9)

Problem. Suppose you are exactly 30 years old. You believe that you will be able to save for the next 20 years, until you are 50. For 10 years following that, till your retirement at age 60, you will have a spike in your expenses due to your kids’ college expenses, weddings, etc., and you will not be able to save. If you want to guarantee yourself $100,000 per year starting on your 61st birthday, how much should you save every year, for the next 20 years, starting at the end of this year? Assume that your investments are expected to yield 8% and you are likely to live till 80.

Solution. Here, we should simply apply \eqref{lin_trans} and \eqref{sum} taking care of the signs. The assumption of the problem is that you will spend all the money that you saved, i.e. $S=0$. You are saving $x$ every year for $20$ years, so $x_{31:50} = x$. Then, you are spending $y=100$ every year for $20$ years, so $x_{61:80} = -y$. Now, we just need to write down $S$ in some basis. Let’s choose year $60$ because it is most intuitive.

We have used \eqref{pv_pmt} to compute PV at 60 of your future expenses between 60 and 80, \eqref{pmt} to compute FV at 50 of your annual savings between 30 and 50, and \eqref{lin_trans} to find FV at 60 of the money you accumulated till 50. By setting $S^{60} = 0$, we find $x = \gamma^{-30} y \approx 10,000$. So, you only need to save 10,000 per year to later enjoy 100,000 per year. It’s not a bad investment, is it?


Formulas \eqref{lin_trans} and \eqref{sum} have proven handy for problem solving. If you continue with finance, you will realize that precisely the same formulas are used to calculate NPV, values of bonds, and prices of stocks. Appearances change, but the ideas stay the same.