For developers:
import numpy as np
import pandas as pd
# import pandas_datareader.data as web
import matplotlib.pyplot as plt
import datetime
# from scipy.sparse.linalg import lsqr
import scipy.optimize as optimization
import yfinance as yf
from datetime import datetime
...
main:
data = download_data(stocks)
show_data(data)
returns = parse_returns(data)
plot_daily_returns(returns)
show_statistics(returns)
weights = stack_weights(stocks)
calculate_portfolio_return(returns,weights)
calculate_portfolio_variance(returns,weights)
preturns,pvariances = port_generate(weights,returns,stocks)
plot_portfolios(preturns,pvariances)
statistics(weights,returns)
#statistics(weights,preturns)
sharpe_max = sharpe_pass(weights,returns)
optimum = optimizations(weights,returns,stocks)
parse_portfolios(optimum, returns,stocks)
show_optimal_portfolio(optimum,returns,preturns,pvariances)