CVaR风险度量下的最优投资组合求解(matlab)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目如下: 3)T n x 为投资组合的n 种资产的投资比例,123(,,)T
n Y y y y y =收益率与权重的乘积之和,:
1122(,)()T n n f x y y x x y x y x y =-=-+++
假设未来出现m 种情况,对n 种证券可以取m 个交易日的历史收益率,每种情况下Y 的取值j y ,则函数(,)F x βα可近似的表示为:
~
11(,)((,))(1)m j j F x f x y m βαααβ+==+--∑ 假定投资者预期的投资组合收益率为μ(常数),则在置信度β下该最优化问题可以转化为下列线性规划问题:
1
1min ((,))(1)m j j f x y m ααβ+=+--∑ 1
1
01,1,2,,..
0,1,2,,n
i i i T j T j x x i n s t x y j m
x y αμ=⎧=⎪⎪⎪≤≤=⎨⎪--≥=⎪⎪≥⎩∑ 假定收益率矩阵Y 为:
建立M 文件:
f function f=cvar(w)
paper = xlsread('C:\Users\Think\Desktop\paper.xls'); %导入收益率矩阵paper
[J, nAssets]=size(paper) %返回值J 为行数,nAssets 为列数i=1:nAssets
t=quantile([(paper)*w], 0.05) % 损益函数f(x,y)或分位数
f=t-sum(max(-[(paper)*w]+t,0))/362/(1-0.05)
命令里输入:
paper = xlsread('C:\Users\Think\Desktop\paper.xls'); %导入收益率矩阵paper paper=[paper]
w0=[(1/15)*ones(1,15)]'
A=-[ paper]%
b1=ones(362,1)
b=-0.04*b1 %这里假定了预期收益率为0.04
Aeq=[ones(1,15)] % 权重值之和为1
beq=[1]
lb=zeros(15,1) %9只股票即 9个权重值 w 上限为0
ub=ones(15,1)
options=optimset('LargeScale','off')
[w,fval,exitflag,output]=fmincon(@cvar,w0,A,b,Aeq,beq,lb,ub,[],option s)