Homework 5

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

Homework 5

Calculating Beta in Python


Due September 29th by 11:59 PM
Submit assignments as last_first_hw5.py

Summary:

In this assignment you will calculate the beta coefficient of a stock(s) using different
methods in Python. You are free to use any library and data container.

Notation for financial mathematics


- Denote the spot price and logarithmic price as 𝑆𝑡 and 𝑋𝑡 = log⁡(𝑆𝑡 ), respectively
▪ Logarithmic return at time 𝑡 is then defined as 𝑟𝑡 = 𝑋𝑡 − 𝑋𝑡−1
- Denote continuous time as 𝑡 ∈ [0, 𝑇]
- Denote the discretization of 𝑇 into a grid of 𝑛 ∈ [0, 𝑁] steps (indexes) as 𝑡𝑛
𝑇
▪ The step size is then Δ𝑡 =
𝑁
▪ The time of the initial observation occurs at 𝑛 = 0, i.e. 𝑡 = 𝑡0.
▪ In our setting, 𝑇 = 23400, 𝑁 = 4680, and Δ𝑡 = 5

Homework Instructions:

Start with a fresh Python script:


1. Read the price series, 𝑆𝑡 , for the stocks in CRSP_1.csv or CRSP_5.csv:

2. Compute the beta coefficient for the stock(s) using the following methods:
𝐶𝑜𝑣(𝑟𝐹 ,𝑟𝑆𝑃⁡500 )
a. Using the mathematical function: 𝛽𝐹,𝑆𝑃500 =
𝑉𝑎𝑟(𝑟𝐹 )

b. Using the matrix/vector method of OLS (See eq. (12)): (𝑟𝐹𝑇 · 𝑟𝐹 )−1 · 𝑟𝐹𝑇 · 𝑟𝑆𝑃500
c. Using the linear regression package in SciPy
3. Plot 𝑟𝑡,𝑖 and 𝑟𝑡,𝑆𝑃500 , with the x-axis set to time and the x-label set to years.

Grading Process

I will award points according the rubric in the syllabus. To determine whether the script
is correct and efficient, the program will be run on a separate stock-day file. The script, if
done correctly, will report accurate results for a random stock day file.
If you are unable to complete all the tasks above, at a minimum make sure your script can
run and produce some output. A script that doesn’t run receives the least amount of points.

You might also like