Skip to content

Optimise your portfolio using Monte Carlo simulation and plot your efficient frontier curve

Notifications You must be signed in to change notification settings

Harishangaran/portfolio-optimisation

Repository files navigation

Portfolio-optimisation

Optimise your portfolio using Monte Carlo simulation and plot your efficient frontier curve

The following scripts allows you to call dynamic stock prices from yahoo finance and run monte carlo simulations model to get the optimised portfolio weightings for your desired stocks in your portfolio.

All you have to do is call the class and input your list of stocks in your portfolio, the period you want to lookback and the number of iterations you want to run.

Call many stocks as you want. For best results run atleast 10000 sims.

The model will output the best weightings for your stocks in the portfolio, the maximum return and the volatility and the best Sharpe ratio.

#Calling function:

optimisePortfolio(['AAPL','AMZN','IBM','MSFT'],'1000d',iterations=10000)

Call list of stocks from yahoo finance. Check yahoo finance for ticker
symbols

'd' is for daily data.

iterations is the number of simulations

Bonus: the model will output the efficient frontier curve with all the sim points along with the point with best Sharpe (large red dot). Also there will be table with the optimum weightings for your portfolio.

Sample Output

Efficient Frontier Curve

You are welcome to edit and improve the efficiency of the model.

If you find the object oriented code below difficult to understand just request for functional code.

About

Optimise your portfolio using Monte Carlo simulation and plot your efficient frontier curve

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages