基于金融工具箱投资组合均值-方程模型求解
金融工具箱提供了以后函数用于求解投资组合分析frontcon函数:Mean-variance efficient frontier
portopt函数:Portfolios on constrained efficient frontier
portvrisk函数:Portfolio value at risk (VaR)
下面给一个小例子说明下,程序运行必须用到附件中的“股票数据.txt”数据
数据结构如下,每列代表一只股票,每行是一天的股票售价。
均值方程模型,要求先计算出股票的日收益率、日平均收益率和日收益率方差,然后再调用金融工具箱函数
% by dynamic of Matlab技术论坛
% see also http://www.matlabsky.com
% contact me matlabsky@gmail.com
% 2010-04-07 10:33:28
%
clc
clear
web http://www.matlabsky.com -browser
h=msgbox({'本程序由MATLAB技术论坛编写','','contact me matlabsky@gmail.com','','see also http://www.matlabsky.com'},'版权申明','warn','modal');
uiwait(h);
data=load('股票数据.txt'); % 数据载入
r=diff(data)./data(1:end-1,:); % 日收益率
mr=mean(r); % 平均收益率
sigma=cov(r); % 资产回报方差
ExpReturn=mr; % 期望(平均)收益率
ExpCov=sigma; % 资产回报方差
NumPorts=100; % 有限前沿点的个数
PortReturn=[]; % 目标收益率,NumPorts和PortReturn只能选一个,另外一个必须置为[]
bound=inputdlg('投资比例,默认','参数输入',1,{''});
bd=str2num(bound{1});
AssetBounds=repmat(bd(:),1,4); % 投资边界
= frontcon(ExpReturn,ExpCov, NumPorts, PortReturn, AssetBounds);
data=cell(101,6);
data(1,:)={'风险','回报','美元','欧元','日元','英镑'};
data(2:end,:)=num2cell();
xlswrite(['股票数据-',bound{1},'.xls'],data)
复制代码
有价值的东西,收藏了,顶!.
谢谢分享,收藏
啦啦啦~~~我是默认签名(*^__^*)
这么牛!看看怎么用?!
页:
[1]