- Definition
- Discount Rate
- WACC
- Takeaway
- Formula
- Discount Rate
- Weighted Average Cost of Capital (WACC)
- Python Code
- Discount Value Code - Simple Calculation
- WACC Code - Simple Calculation

**This is not investment advice, there is no implication of any guarantee. All investment is risky and you should take advice from actual advisors. EDUCATION ONLY.**

## Definition

### Discount Rate

The discount rate is a calculation that allows us to find a company’s intrinsic value and compare it to the asking price. A higher rate means more risk, but higher returns. A lower discount rate is the inverse.

### WACC

The Weighted Average Cost of Capital, or WACC, is a weighted average of all investments. If you have a diverse portfolio of investments, you need a way to figure out how you are generally performing.

## Takeaway

To properly invest, you need to understand value and financial denomination are not the same. The value of money fluctuates all the time, typically decreasing. At the same time, any money not held in a nest egg must be invested to retain value. We use discount rates and weighted averages to understand our positions in growing our value.

## Formula

### Discount Rate

- n = number of periods

### Weighted Average Cost of Capital (WACC)

*E *= Market value of equity

*D *= Market value of debt

*V *= *E *+*D*

*Re = Equity Cost*

*Rd *= Cost of debt

*Tc *= Corporate tax rate

## Python Code

### Discount Value Code - Simple Calculation

We want to start with the simplest exploration of our concept. Let’s take in our expected future value, our present value, and the number of periods

```
def simple_discount_rate(PV,FV,n):
dr = (((FV/PV)**(1/n))-1)
return dr
simple_discount_rate(100,200,5)
#14.8%
```

### WACC Code - Simple Calculation

I’m going to simplify the WACC Calculation a bit for simplicity sake. Let’s say we have a portfolio of investments, each with a different return.

```
import numpy as np
import pandas as pd
calc = []
investments = pd.DataFrame(np.array([['Stocks', .1, .5], ['Bonds', .04, .3], ['House', .02, .2]]),
columns=['Investment Name', 'Discount Rate', '% of Portfolio'])
def simple_wacc(investments_table):
for n in investments_table.index:
DR = float(investments_table.loc[n]["Discount Rate"])
PP = float(investments_table.loc[n]["% of Portfolio"])
calc.append(DR * PP)
return sum(calc)
simple_wacc(investments)
#.066 or 6.6%
```