Kevin Crotty
BUSI 448: Investments
Last time:
Today:
For an investment, a gross return is the value today scaled by the value in a prior period:
\[ \text{Gross Return}_t = \frac{\text{Value}_t}{\text{Value}_{t-1}} .\]
A net return is the change in value, scaled by the value in a prior period:
\[ \text{Net Return}_t = \frac{\Delta \text{Value}_t}{\text{Value}_{t-1}} .\]
We will usually use net returns in class.
For stocks, the value today is measured by the current price and any dividends \((D)\).
\[ R_t = \frac{P_t +D_t -P_{t-1}}{P_{t-1}} \]
If a company does an \(x\)-for-\(y\) stock split, then each shareholder gets \(x\) new shares for every \(y\) of her existing shares. Shares are worth roughly \(y/x\) as much.
Data vendors routinely compute split-adjusted prices, scaling down old prices by the same factor for comparability to new prices.
Example: finance.yahoo.com is a good source for data.
For bonds, the value today is measured by the current price and any accrued interest \((AI)\) or coupon payments \((C)\).
\[ R_t = \frac{P_t + AI_t + C_t - (P_{t-1}+AI_{t-1})}{P_{t-1}+AI_{t-1}} \]
\[ (1+r_1)(1+r_2)...(1+r_T)-1 \]
Install and import yfinance package
price = yf.download('AAPL', start='2000-01-01', end='2020-12-31', progress=False)['Adj Close']
ret_monthly = price.resample('M').last().pct_change()
ret_annual = price.resample('Y').last().pct_change()
# change index from datetime to period (optional)
ret_monthly.index = ret_monthly.index.to_period('M')
ret_annual.index = ret_annual.index.to_period('Y')
Install and import pandas-datareader package
Datasets include
For each $100 of Tesla stock, shareholders experienced 100 → 50
and then 50 → 75.
They lost 25%, even though the average return was zero.
So, lose 50% and make 50% → lose 25%. Suppose you
make 50% and then lose 50%?
lose 50% and then make 100%?
make 100% and then lose 50%?
\[(1+r)^{n}=(1+r_1)\cdots(1+r_{n})\]
\[r=[(1+r_1)\cdots(1+r_n)]^{1/n}-1\]
\[\sqrt{1.5 \times 0.5}-1=-0.134\]
\[\sqrt{2 \times 0.5}-1=0\]
Given a net return pandas data series ret
, arithmetic average returns can be calculated:
Sample standard deviation for sample mean \(m\):
\[ \sqrt{ \sum_{t=1}^T \frac{(r_{t}-m)^2}{T-1}}\]
BUSI 448