## What will we cover?

In this lesson we will learn about market **Beta** with S&P 500 index, how to calculate it, and comparison of calculations from last lesson.

The objective of the tutorial is:

- Understand what market
**Beta**tells you. - How to calculate the market (S&P 500)
**Beta**. - See how
**Beta**is related with**Linear Regression**.

## Step 1: What is BETA and how to interpret the value

**Beta** is a measure of a stock’s volatility in relation to the overall market (S&P 500). The S&P 500 index has **Beta** 1.

High-beta stocks are supposed to be riskier but provide higher potential return. While, low-beta stocks pose less risk but also lower returns.

**Interpretation**

**Beta**above 1: stock is more**volatile**than the market, but expects higher return.**Beta**below 1: stock with lower**volatility**, and expects less return.

The formula for **Beta** is **Covariance** divided by **variance**.

This sound more scary than it is.

The Beta on financial pages, like **Yahoo! Finance**, are calculated on the monthly price.

## Step 2: Get some historic stock prices with Pandas Datareader

Let’s make an example here.

```
import numpy as np
import pandas_datareader as pdr
import datetime as dt
import pandas as pd
from sklearn.linear_model import LinearRegression
tickers = ['AAPL', 'MSFT', 'TWTR', 'IBM', '^GSPC']
start = dt.datetime(2015, 12, 1)
end = dt.datetime(2021, 1, 1)
data = pdr.get_data_yahoo(tickers, start, end, interval="m")
data = data['Adj Close']
log_returns = np.log(data/data.shift())
```

Where we notice that we read data on **interval=”m”**, which gives the monthly data.

## Step 3: Calculate the BETA

Then the **Beta** is calculated as follows.

```
cov = log_returns.cov()
var = log_returns['^GSPC'].var()
cov.loc['AAPL', '^GSPC']/var
```

For Apple, it was 1.25.

If you wonder if it is related to the **Beta** value from **Linear** **Regression**. Let’s check it out.

```
X = log_returns['^GSPC'].iloc[1:].to_numpy().reshape(-1, 1)
Y = log_returns['AAPL'].iloc[1:].to_numpy().reshape(-1, 1)
lin_regr = LinearRegression()
lin_regr.fit(X, Y)
lin_regr.coef_[0, 0]
```

Also giving 1.25. Hence, it is the same calculation behind it.

## 12% Investment Solution

Would you like to get 12% in return of your investments?

D. A. Carter promises and shows how his simple investment strategy will deliver that in the book **The 12% Solution**. The book shows how to test this statement by using backtesting.

**Did Carter find a strategy that will consistently beat the market?**

Actually, it is not that hard to use Python to validate his calculations. But we can do better than that. If you want to work smarter than traditional investors then continue to read here.

## Want more?

This is part of a 2.5 hours in 8 lessons video course about Risk and Return.