Thursday, April 13, 2023

x̄ - > volatility of a portfolio of stocks

 The volatility of a portfolio of stocks

This code uses Python to calculate the expected annualized return and volatility of a portfolio of stocks. Here is a breakdown of what each line of the code does:

#list of stocks in portfolio #NOTE THAT THESE MUST BE ENTERED 
IN ALPHABETICAL ORDER FOR THE RESULTS TO BE CORRECT!!!
stocks = ['AAPL','AMZN','MSFT','YHOO']

This line defines the list of stocks in the portfolio. It is important to note that the stocks must be entered in alphabetical order for the code to work correctly.

#download daily price data for each of the stocks in the 
portfoliodata = web.DataReader(stocks,data_source='yahoo',start='01/01/2010')['Adj Close']data.sort_index(inplace=True)

These lines use the pandas_datareader library to download the daily closing price data for each stock in the portfolio from Yahoo Finance. The data is then sorted in ascending order by date.

#convert daily stock prices into daily returns
returns = data.pct_change()

This line calculates the daily returns of the portfolio by taking the percentage change in price from one day to the next.

#calculate mean daily return and covariance of daily returns
mean_daily_returns = returns.mean()cov_matrix = returns.cov()

These lines calculate the mean daily return and covariance of daily returns for the portfolio.

#set array holding portfolio weights of each stock
weights = np.asarray([0.5,0.2,0.2,0.1])

This line sets the array of portfolio weights for each stock. In this case, the portfolio is composed of 50% AAPL, 20% AMZN and MSFT, and 10% YHOO.

#calculate annualised portfolio return
portfolio_return = round(np.sum(mean_daily_returns * weights) * 252,2)

This line calculates the expected annualized return of the portfolio by multiplying the sum of the mean daily returns of each stock weighted by their respective portfolio weights by 252 (the number of trading days in a year). The result is rounded to two decimal places.

#calculate annualised portfolio volatility
portfolio_std_dev = round(np.sqrt(np.dot(weights.T,np.dot(cov_matrix, weights))) * np.sqrt(252),2)

This line calculates the expected annualized volatility of the portfolio by taking the square root of the dot product of the portfolio weights, covariance matrix, and transposing the portfolio weights, then multiplying by the square root of 252. The result is rounded to two decimal places.

print('Portfolio expected annualised return is {} and volatility is {}').format(portfolio_return,portfolio_std_dev)

This line prints out the expected annualized return and volatility of the portfolio in a formatted string. The values of portfolio_return and portfolio_std_dev are inserted into the string using the format() method.

No comments:

Meet the Authors
Zacharia Maganga’s blog features multiple contributors with clear activity status.
Active ✔
πŸ§‘‍πŸ’»
Zacharia Maganga
Lead Author
Active ✔
πŸ‘©‍πŸ’»
Linda Bahati
Co‑Author
Active ✔
πŸ‘¨‍πŸ’»
Jefferson Mwangolo
Co‑Author
Inactive ✖
πŸ‘©‍πŸŽ“
Florence Wavinya
Guest Author
Inactive ✖
πŸ‘©‍πŸŽ“
Esther Njeri
Guest Author
Inactive ✖
πŸ‘©‍πŸŽ“
Clemence Mwangolo
Guest Author

x̄ - > Bloomberg BS Model - King James Rodriguez Brazil 2014

Bloomberg BS Model - King James Rodriguez Brazil 2014 πŸ”Š Read ⏸ Pause ▶ Resume ⏹ Stop ⚽ The Silent Kin...

Labels

Data (3) Infographics (3) Mathematics (3) Sociology (3) Algebraic structure (2) Environment (2) Machine Learning (2) Sociology of Religion and Sexuality (2) kuku (2) #Mbele na Biz (1) #StopTheSpread (1) #stillamother #wantedchoosenplanned #bereavedmothersday #mothersday (1) #university#ai#mathematics#innovation#education#education #research#elearning #edtech (1) ( Migai Winter 2011) (1) 8-4-4 (1) AI Bubble (1) Accrual Accounting (1) Agriculture (1) Algebra (1) Algorithms (1) Amusement of mathematics (1) Analysis GDP VS employment growth (1) Analysis report (1) Animal Health (1) Applied AI Lab (1) Arithmetic operations (1) Black-Scholes (1) Bleu Ranger FC (1) Blockchain (1) CATS (1) CBC (1) Capital markets (1) Cash Accounting (1) Cauchy integral theorem (1) Coding theory. (1) Computer Science (1) Computer vision (1) Creative Commons (1) Cryptocurrency (1) Cryptography (1) Currencies (1) DISC (1) Data Analysis (1) Data Science (1) Decision-Making (1) Differential Equations (1) Economic Indicators (1) Economics (1) Education (1) Experimental design and sampling (1) Financial Data (1) Financial markets (1) Finite fields (1) Fractals (1) Free MCBoot (1) Funds (1) Future stock price (1) Galois fields (1) Game (1) Grants (1) Health (1) Hedging my bet (1) Holormophic (1) IS–LM (1) Indices (1) Infinite (1) Investment (1) KCSE (1) KJSE (1) Kapital Inteligence (1) Kenya education (1) Latex (1) Law (1) Limit (1) Logic (1) MBTI (1) Market Analysis. (1) Market pulse (1) Mathematical insights (1) Moby dick; ot The Whale (1) Montecarlo simulation (1) Motorcycle Taxi Rides (1) Mural (1) Nature Shape (1) Observed paterns (1) Olympiad (1) Open PS2 Loader (1) Outta Pharaoh hand (1) Physics (1) Predictions (1) Programing (1) Proof (1) Python Code (1) Quiz (1) Quotation (1) R programming (1) RAG (1) RL (1) Remove Duplicate Rows (1) Remove Rows with Missing Values (1) Replace Missing Values with Another Value (1) Risk Management (1) Safety (1) Science (1) Scientific method (1) Semantics (1) Statistical Modelling (1) Stochastic (1) Stock Markets (1) Stock price dynamics (1) Stock-Price (1) Stocks (1) Survey (1) Sustainable Agriculture (1) Symbols (1) Syntax (1) Taroch Coalition (1) The Nature of Mathematics (1) The safe way of science (1) Travel (1) Troubleshoting (1) Tsavo National park (1) Volatility (1) World time (1) Youtube Videos (1) analysis (1) and Belbin Insights (1) competency-based curriculum (1) conformal maps. (1) decisions (1) over-the-counter (OTC) markets (1) pedagogy (1) pi (1) power series (1) residues (1) stock exchange (1) uplifted (1)

Followers