版本 1.0.1 (802.7 KB) 作者: Elliot Layden
Optimize portfolio weights for a weighted linear combination of Sortino ratio, Sharpe ratio, total return, downside risk, SD, & max drawdown

210.0 次下载

更新时间 2018/8/21

来自 GitHub

在 GitHub 上查看许可证

*Info: This function optimizes portfolio weights based on a user-specified weighted linear combination of the Sortino ratio, Sharpe ratio, average total return, average downside risk, average standard deviation of returns, and max drawdown. The basic idea is to provide a directory as input 'csv_dir'. This folder should contain .csv files of historical data for each ticker desired to comprise part of a portfolio. The function will then return an optimized weighting scheme based on user's criteria. It will also output historical performance data for the portfolio, an alternative equally-weighted portfolio, and for each individual ticker. Furthermore, you can choose to plot a matrix showing correlations among the individual assets, as well as a 3D point cloud showing where the optimized portfolio falls among other randomly generated portfolios on the highest-weighted dimensions. The function was designed using data from Yahoo Finance (https://finance.yahoo.com/) but should work with other data sources provided the formatting is similar. Try optimizing the sample portfolio included (with data from 2006-2018) to gain a better understanding of use cases. (See example below.)

*Note: you must keep ^IRX.csv (13 week treasury bill rates) in the util folder up-to-date for risk free rate data. Download historical data at https://finance.yahoo.com/quote/%5EIRX/history?. If other data in your portfolio is more recent than ^IRX.csv, that additional data will be discarded automatically. Also, statistics will only go back as far as the most recent oldest data across all tickers.

*Cautionary note: your results may be skewed if your data does not go back sufficiently far and includes only one portion of a market cycle (e.g., all bull market, no recessions). To gain insight into performance over the whole market cycle, try to include data going back to 2008 or 2000, if not longer. When this is not possible, note that assets with high volatility and high annual returns during a bull market will often be the same assets that sustain the largest losses during major market corrections. In the case of major recessions these losses can sometimes exceed -40% in a calendar year.

*Disclaimer: This open-source research tool is not intended to provide investment advice. It is intended only for informational purposes, and the user is not recommended to use the tool to make actual investment decisions. Seek a duly licensed professional for investment advice.


Elliot Layden (2023). portfolio_sortino_ratio (https://github.com/elayden/portfolio_sortino_ratio), GitHub. 检索来源 .

MATLAB 版本兼容性
创建方式 R2016a
与 R2014b 及更高版本兼容
Windows macOS Linux
Help CenterMATLAB Answers 中查找有关 Financial Data Analytics 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

无法下载基于 GitHub 默认分支的版本

版本 已发布 发行说明

-added photo


要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库