Datacamp Python 4
Datacamp Python 4
theory
I N T R O D U C T I O N TO P O R T F O L I O A N A LY S I S I N P Y T H O N
Charlotte Werger
Data Scientist
Creating optimal portfolios
df=pd.read_csv('portfolio.csv')
df.head(2)
XOM RRC BBY MA PFE
date
2010-01-04 54.068794 51.300568 32.524055 22.062426 13.940202
2010-01-05 54.279907 51.993038 33.349487 21.997149 13.741367
Charlotte Werger
Data Scientist
Remember the Ef cient Frontier?
raw_weights = ef.min_volatility()
Charlotte Werger
Data Scientist
Expected risk and return based on historic data
symbol
XOM 0.103030
BBY 0.394629
PFE 0.186058
Remember the Sortino ratio: it uses the variance of negative returns only
PyPortfolioOpt allows you to use semicovariance in the optimization, this is a measure for
downside risk:
print(Sigma_semi)
Charlotte Werger
Data Scientist
Chapter 1: Calculating risk and return
Diversi cation
Fama French 3 factor model to breakdown performance into explainable factors and alpha
Markowitz' portfolio optimization: ef cient frontier, maximum Sharpe and minimum volatility
portfolios