Number of variables dependent on user input
2 次查看(过去 30 天)
显示 更早的评论
Hi Everyone, I would like to have user input for number of Securities and weights for each security in a portfolio. For Example:
numsec = ('Enter the number of securities in Portfolio: ');
numsec = input(numsec)
If the user input is "2" then
Security1 = ('Enter Security 1 Ticker: ');
Security1 = input(Security1,'s');
Security1Wt = ('Enter Security 1 Weight (ex: .25): ');
Security1Wt = input(Security1Wt);
Security2 = ('Enter Security 2 Ticker: ');
Security2 = input(Security2,'s');
Security2Wt = ('Enter Security 2 Weight (ex: .25): ');
Security2Wt = input(Security2Wt);
I want this to be dynamic so that there are Securities and Security weight variables for the number of securities in the portfolio. Sorry if I am not asking this clearly as I am a matlab rookie. Also, if any of the code I posted is ugly and can be done in a betterfashion, please let me know! Kind regards.
0 个评论
采纳的回答
the cyclist
2015-10-12
编辑:the cyclist
2015-10-12
Use cell arrays:
numsec = ('Enter the number of securities in Portfolio: ');
numsec = input(numsec)
Security = cell(numsec,1);
SecurityWt = nan(numsec,1);
for ns = 1:numsec
securityNumberString = num2str(ns);
Security{ns} = input(['Enter Security ',securityNumberString,' Ticker: '],'s');
SecurityWt(ns) = input(['Enter Security ',securityNumberString,' Weight (ex: .25): ']);
end
Notice that Security is a cell array, convenient for storing text. SecurityWt is a numeric array. Pay attention to where I used curly brackets instead of parentheses.
5 个评论
the cyclist
2015-10-13
编辑:the cyclist
2015-10-13
You have the label as the first argument, and the numeric value second. It should be the other way around:
pie(SecurityWt,Security)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Portfolio Optimization and Asset Allocation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!