logo

... cvxpy two.


When you invest in stocks you want to get a high return, but a low risk. There's also going to be a few constraints. That sounds like a job for cvxpy.


Episode Notes

You can use a dataset that we provide in this video but you're also free to download your own dataset using the yahoo finance python api. We've used the following code;

import pandas as pd
import yfinance as yf
from functools import reduce

dataframes = [] 
tickets = ["MSFT", "KLM", "ING", "MOS"]
for tick in tickets:
    hist = yf.Ticker(tick).history(period="max")
    hist = (hist['Open']
            .reset_index()
            .rename(columns={'Open': tick})
            .set_index('Date'))
    dataframes.append(hist)
df = (reduce(lambda d1, d2: d1.join(d2), dataframes)
  .dropna()
  .reset_index())

If you prefer to use the same dataset to follow along you can download it here or you can fetch it via;

wget https://calmcode.io/datasets/stocks.csv

Feedback? See an issue? Feel free to mention it here.

If you want to be kept up to date, consider getting the newsletter.