当前位置:文档之家› 最优投资组合选择SAS实现

最优投资组合选择SAS实现

最优投资组合选择SAS实现
最优投资组合选择SAS实现

最优投资组合选择——SAS实现

1、分享一些感觉

当初,在我翻看《金融计算与建模》这本书的时候,我也感觉:哇,会很难懂吧!yes,有这种感觉应该正常,因为书中的有些细节确实不是那么好理解,但这不影响我们有选择性地加以应用。整本书的大部内容都突出了“计算”二字——各种收益率计算、各种指数计算、各种风险价值(价格或指标)计算、VaR计算、利率计算等等。这些计算搞得我很“蒙蔽”,因为,当我在阅读程序语句时总是搞不明白,这些计算对应的是哪个数据集、哪个字段。

现在,用一种轻松的感觉挑选着翻看其中某些章节的内容,顿时发现“山重水复疑无路,柳暗花明又一村”了,原来当初是“不识庐山真面目,只缘生在此山中”啊,好吧,接下来,我就股票/证券领域中的投资组合理论来介绍一下我是如何柳暗花明的。

参看书籍是朱世武的《金融计算与建模》,数据集来自锐思数据库。

2、一句话的阳光

在SAS中进行最优投资组合选择需要:

计算股票期望收益率——μ

计算风险度量指标——σ/β

优化求解组合权重——weight

Yes,就是这三句话。前两句没什么好说的,第三句由于是规划问题,所以就要考虑到优化建模的一系列问题,比如,灵敏度分析、

整型规划、变量限制条件,等等。

投资组合就这些内容吧,分解一下就so easy吧。

3、各个击破

在对上述三个步骤进行各个击破前,让我们来熟悉一下,我们所要使用的数据集,以及数据集中的字段吧————这是一个十分十分重要的觉悟性认识!

需要字段:8只股票包括代码名、1995-2005年A股市场月持有收益率、3只股票月持有收益率。由于这三个字段来自不同方的数据集,所以需要进行整合。为什么选择这8只股票?这就是我们最初选股的问题了,而不是投资组合问题。

数据说明:resdat是自建的存储在SAS系统逻辑库下的库名,类似Work。monret是个股月持有期收益率数据集;monretm是市场持有期收益率数据集。(这里,我门不关心这两个收益率是如何得来的) 数据准备阶段,程序见下:

⑴创建8只股票的代码收益率

data Stk8;

input stkcd$6.;

cards;

000002

000007

000011

000016

600601

600604

600651

600653

;run;

⑵按8只股票名合并数据,回忆一下merge函数,学习samp变量作

用哟

data return;

merge resdat.monret stk8(in=samp);

by stkcd;

if samp;

year=year(date);

month=month(date);

if 1995<=year<=2005;

keep stkcd date year month monret;

⑶提取1995-2005年A股市场月持有期收益率

data monretm;

set resdat.monretm;

year=year(date);

month=month(date);

If 1995<=year<=2005 and Exchflg='0' and Mktflg='A';

keep date year month Mretmc;

proc sort data=return;

by year month;

⑷合并市场月收益率数据集和8只股票月收益率

data return;

merge return monretm;

by year month;

proc sort data=return;

by stkcd year month;

run;

数据计算阶段,程序见下:

⑴计算期望收益,没什么好解释的,复习一下output和where

proc means data=return noprint;

by stkcd;

var monret;

output out=m_out;

data m_out1a;

set m_out;

where _stat_='MEAN';

keep stkcd monret;

run;

⑵计算风险度量指标

常用的风险度量指标有股票收益标准差 i和资本资产定价模型

(CAPM )的β。

①计算σi

注意,_stat_=“大写”(看看m_out 数据集就知道了),SAS 不分函数大小写,但是变量名(有些时候也宽容地认为不分大小写的)和值分大小写。

data m_out1b; set m_out; where _stat_='STD'; keep stkcd monret; rename monret=std;

label monret='月收益率标准差'; run;

②计算β

根据CAPM 模型,资产i 的期望收益和市场收益之间的关系为:

)()(E R R M i

i

i E β

α

+

=

,设投资组合权重为X i ,投资组合p 的参数为:

∑==

N

i

i i p

X 1

αα

, ∑==

N

i

i

i p X 1

ββ,(在这里要理解一下N 和p 的关系,N 可以理解为股票的个数,p 可以理解为选出的组合,p ≤N ,M 就不难理解了,表示市场总体)定义总风险为收益的标准差,则资产i 收益的方差为:σ

σ

βσε2

2

2

2

i i

M

i

+=

,投资组合p 收益的方差为:

∑=+

=

N

i

i M

p

i

X 1

2

22

2

2p

σσ

βσ

ε,σ

ε2

i

相当于单个股票的收益方法差,

∑=N

i

i i

X 1

2

2

σε写成这样有一个隐含的假设,即各只股票的收益不相关(独

立),既然这样,当投资组合相当分散时,∑=N

i i i

X 1

2

2

σε会趋近于0,收

益方差近似为:σ

βσ2

2

2

p M

p

=

。其实,在我们的数据分析中,就是搞

了一个线性回归(由于是时间序列数据,所以做了一个dw 自相关检

验),来看下程序吧:

proc reg data=return outest=capmest11;

by stkcd;

model monret=Mretmc/dw;

quit;/*换成run也可以,这就是SAS的包容性所在,交互环境问题*/

/*我查看了一下常数项不显著,反正它没什么解释性意义,去掉常数项重新拟合模型,这里保持原文,不做修改*/

/*proc reg data=return outest=capmest11;*/

/*by stkcd;*/

/*model monret=Mretmc/dw noint;*/

/*run;*/

⑶优化求解组合权重——无限制权重

对期望收益进行组合后的最大化求解,选择 为风险

①建立优化求解的数据格式,这种实现整理好优化建模所需数据集格式的方式真值得学习(只要足够认真,就能发现书中的错误,改正之便是一种超越,走进书还要跳出书)

data weight1;

input _id_ : $10. r000002 r000007 r000011 r000016 r600601 r600604 r600651 r600653 _type_ $ _rhs_ ;

cards;

exp_return 0.0247 0.0127 0.0124 0.008 0.0216 0.0068 0.0263 0.0144 max .

beta 1.1185001891 1.3470123011 1.3185749233 1.0260654129 1.3509499965 0.9038958443 1.2559109335 1.2961143173 eq 1.2

sum_wts 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 eq 1.0

available 1 1 1 1 1 1 1 1 upperbd .

available 0 0 0 0 0 0 0 0 lowerbd .

;run;

②优化求解权重

proc lp data=weight1 primalout=lp_out1;

title1 '最优投资组合权重';

run;

quit;

⑷优化求解组合权重——增加限制权重条件

将权重设置为0.05~0.3333,这样做的意义何在呢?确保投资组合的分散性

data weight2;

input _id_ : $10. r000002 r000007 r000011 r000016 r600601 r600604 r600651 r600653 _type_ $ _rhs_ ;

cards;

exp_return 0.0247 0.0127 0.0124 0.008 0.0216 0.0068 0.0263 0.0144 max .

beta 1.1185001891 1.3470123011 1.3185749233 1.0260654129 1.3509499965 0.9038958443 1.2559109335 1.2961143173 eq 1.2

sum_wts 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 eq 1.0

available .3333 .3333 .3333 .3333 .3333 .3333 .3333 .3333 upperbd .

available .05 .05 .05 .05 .05 .05 .05 .05 lowerbd .

;

run;

proc lp data=weight2 primalout=lp_out2;

title2 '多约束的投资组合权重';

run;

quit;

⑸灵敏度分析——以weight2为例

选项rangeprice是规定输出价格系数范围的分析,rangehs是规定输出优化求解中右侧变化的分析。

proc lp data=weight2 primalin=lp_out2 rangeprice rangerhs;

title2 '灵敏度分析';

run;

quit;

⑹当限定组合的最高风险水平时

设定投资组合风险小于等于1.2,这样做事为了放宽风险的下限变化区域,在一个宽松的环境中求解目标函数,当出现更大的收益和更小的风险时,说明这种投资组合更优越。

data weight3;

set weight2;

if _id_='beta' then _type_='le';

run;

proc lp data=weight3 primalout=lp_out3;

run;

quit;

⑺计算投资金额,很简单的程序,没什么可解释的

data lp_out3a;

set lp_out3;

if _n_ > 8 then delete;

amount= _value_*100000;

rename _var_=asset;

proc print data=lp_out3a;

var asset amount;

title '线性规划';

title2 '在每种资产上的投资金额';

run;

⑻整数规划

①创建只股票2005年12月30日的收盘价数据集

data price;

merge resdat.qttndist stk8(in=samp);

by stkcd;

if samp and date='30dec2005'd;

keep stkcd clpr;

run;

②规划求解

收盘价乘以100作为每手价格,限定投资总额小于等于100000,每只股票的手数设定为5~50手,每只股票的风险与购买手数的乘积之和小于200。

data weight4;

input _id_ : $10. r000002 r000007 r000011 r000016 r600601 r600604 r600651 r600653 _type_ $ _rhs_ ;

cards;

exp_return 0.0247 0.0127 0.0124 0.008 0.0216 0.0068 0.0263 0.0144 max .

beta 1.1185001891 1.3470123011 1.3185749233 1.0260654129 1.3509499965 0.9038958443 1.2559109335 1.2961143173 le 200

lots 431 322 522 352 320 349 596 148 le 100000

upper 50 50 50 50 50 50 50 50 upperbd .

lower 5 5 5 5 5 5 5 5 lowerbd .

integer 1 2 3 4 5 6 7 8 integer .

;

proc lp data=weight4 imaxit=200 primalout=lp_out4 dualout=d_out;

run;

/*imaxit设置最大迭代次数,默认100次,primalout和dualout是输出整型规划的主要解和对偶解到数据集*/

以下程序语句是对结果进行整理:

data lp_out4a(keep= _var_ _value_ rename=_var_=name);

set lp_out4;

if _n_ > 8 then delete;

run;

proc print data=lp_out4a;

title '整数规划';

title2 '购买手数';

run;

打印出对偶数据集中的投资组合收益、最佳投资金额、最佳投资组合风险水平(结果分别为:3.6423,71975,199.51):

proc print data=d_out;

title '整数规划';

title2 '收益、风险和投资金额';

run;

以下程序还是数据集操作——为了进行结果对比,没什么可说的,so easy的

proc transpose data=weight4 out=wt1;

run;

data wt2(drop=col4 col5 col6);

set wt1;

if _n_ > 8 then delete;

rename _name_=name col1=return col2=beta col3=lots;

run;

proc print data=wt2;

title '整数规划';

title2 '转置和修改后的输入数据集';

data wt3;

merge lp_out4a wt2;

proc print data=wt3;

title '整数规划';

title2 '合并数据集';

run;

以下程序计算每只股票对风险和收益的贡献,并求其累积值,理解其意义就easy了,结果为:8只股票的投资组合的风险为1.2213942,data wt4;

set wt3;

amt=71975;

fraction=_value_*lots/amt;

risk=fraction*beta;

exp_ret=fraction*return;

run;

proc means data=wt4 sum;

var risk exp_ret;

title2 '风险和收益的比较量度';

run;

⑼允许卖空时的投资组合计算

设定组合风险水平小于1,组合权重在-1~1之间,组合权重的绝对值为1,这样设定是为了体现卖空,期望收益中加了负号的表示卖空。

data weight5;

input _id_ : $10. r000002_1 r000007_1 r000011_1 r000016_1 r600601_1 r600604_1 r600651_1 r600653_1 r000002_2 r000007_2 r000011_2 r000016_2 r600601_2 r600604_2 r600651_2 r600653_2 _type_ $ _rhs_ ;

cards;

exp_return 0.0247 0.0127 0.0124 0.008 0.0216 0.0068 0.0263 0.0144 -0.0247 -0.0127 -0.0124 -0.008 -0.0216 -0.0068 -0.0263 -0.0144 max .

beta 1.1185001891 1.3470123011 1.3185749233 1.0260654129 1.3509499965 0.9038958443 1.2559109335 1.2961143173 -1.1185001891 -1.3470123011 -1.3185749233 -1.0260654129 -1.3509499965 -0.9038958443 -1.2559109335 -1.2961143173 le 1.0

sum_wts 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 eq 1.0

available 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 upperbd .

;run;

data lp_out5a;

set lp_out5;

if _n_ > 16 then delete;

if _value_ = 0 then delete;

amount=_value_*100000;

rename _var_=asset;

run;

proc print data=lp_out5a;

var asset amount ;

title '整数规划';

title2 '每只股票的投资金额';

run;

不再展示以上程序的输出结果,这种设定更符合实际,因为某一

只股票的期望收益可能为负值,并且绝对值还会比较大,因此,持有和卖空的收益是不同的。值得注意的是,在线性约束条件下的优化求解中可能会出现全部非0的权值(这个应该能够理解吧,得细细斟酌!),如果全部非0 的话,那么就说明某只股票的期望收益的正负与你设定的持有还是卖空不对应,还有可能是期望收益的绝对量都相差不大。

⑽设定投资组合风险小于等于0.75,和上文⑹的程序差不多这里明示一个小观念:可以设定投资组合风险为负值,如果这样,则说明投资组合与市价波动相反,当市价上涨时投资组合收益下降,反之投资组合收益上升。

data weight5b;

set weight5;

if _id_='beta' then _rhs_= .75;

run;

proc lp data=weight5b primalout=lp_out5b;

run;

quit;

⑾设最优的权重边界——没啥好说的,主要是修改约束条件,重在理解经济意义啦!

设定持有每只股票数量的上界为0.25,卖空的下界为0.3时

data weight6;

input _id_ : $10. r000002_1 r000007_1 r000011_1 r000016_1 r600601_1 r600604_1 r600651_1 r600653_1

r000002_2 r000007_2 r000011_2 r000016_2 r600601_2 r600604_2 r600651_2 r600653_2

_type_ $ _rhs_ ;

cards;

exp_return 0.0247 0.0127 0.0124 0.008 0.0216 0.0068 0.0263 0.0144 -0.0247 -0.0127 -0.0124 -0.008 -0.0216 -0.0068 -0.0263 -0.0144 max .

beta 1.1185001891 1.3470123011 1.3185749233 1.0260654129 1.3509499965 0.9038958443 1.2559109335 1.2961143173 -1.1185001891 -1.3470123011 -1.3185749233 -1.0260654129 -1.3509499965 -0.9038958443 -1.2559109335 -1.2961143173 eq 1.0

sum_wts 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 eq 1.0 available .25 .25 .25 .25 .25 .25 .25 .25 .3 .3 .3 .3 .3 .3 .3 .3 upperbd . ;

proc lp data=weight6 primalout=lp_out6;run; quit; data lp_out6a; set lp_out6;

if _n_ > 16 then delete; if _value_ = 0 then delete; amount=_value_*100000; rename _var_=asset; run;

proc print data=lp_out6a; var asset amount ; title '整数规划';

title2 '每只股票的投资金额'; run;

⑿非线性规划

马柯维茨模型是非线性规划问题,因为它考虑到了股票间的相关性。

①建立数据集——用到了对数据的转置操作

data return1; set return;

where stkcd in ('000002' '000007' '000011');run;

proc transpose data=return1 out=return1(drop=_name_ _label_); by stkcd; var monret;run;

proc transpose data=return1 out=return1(drop=_name_); run;

②求3只股票期望收益的协方差

proc corr data=return1 cov outp=cov_out1 nosimple; var col1 col2 col3; title 'Markowitz 模型'; quit;

③计算投资组合收益

两只股票的组合收益为:R R

R x x p 21

)1(-+=,x 是自主设定

的权重值。

用循环建立了一个新变量x

data cov_out2(drop=_name_);

set cov_out1;

if _type_ ne 'MEAN' then delete;

do x=0 to 1 by .05;

output;

end;

rename col1=r000002 col2=r000007 col3=r000011;

label x='投资组合的权重';

run;

计算不同权重下的组合收益:

data mean1;

set cov_out2;

pfol_m1=x*r000002+(1-x)*r000007;

pfol_m2=x*r000002+(1-x)*r000011;

pfol_m3=x*r000007+(1-x)*r000011;

run;

proc print data=mean1;

title 'Markowitz 模型';

title2 '两种股票投资组合的收益';

run;

图形展示——直接看图就能明白程序啦proc gplot data=mean1;

plot pfol_m1*x=1 pfol_m2*x=2 pfol_m3*x=3/ overlay; symbol1 v=star i=none c=black;

symbol2 v== i=none c=red;

symbol3 v=plus i=none c=green;

title1 ' ';/*貌似无用*/

title2 '投资组合收益与投资组合权重散点图';

run;

quit;

④计算投资组合风险——我们的目的是找到在不同的x 下的最低风险水平——找最小值或图形化展示

两只股票时:)2(2

122

22

12

22

22

12

1σσσσx x x x p ++=

不用被以下程序中的数组和循环吓倒,就是求了个平方根嘛——搞这么多语句,很想用R 语言实现吧。

data risk1; set mean1;

pfol_v1=x**2*0.0194244422+(1-x)**2*0.024*******+2*x*(1-x)*0.012652434; pfol_v2=x**2*0.0194244422+(1-x)**2*0.024841303+2*x*(1-x)*0.0150048423; pfol_v3=x**2*0.024*******+(1-x)**2*0.024841303+2*x*(1-x)*0.0164591308; array pfol_v(3) pfol_v1-pfol_v3; /*定义数组*/ array pfol_r(3) pfol_r1-pfol_r3;

do i=1 to 3; /*在DO 循环中的数组处理*/ pfol_r(i)=sqrt(pfol_v(i)); end; run;

proc print data=risk1; var x pfol_r1-pfol_r3;

title2 '含有两支股票投资组合的风险水平'; run;

又来了几个图形:

proc gplot data=risk1;

plot pfol_r1*x=1 pfol_r2*x=2 pfol_r3*x=3 / overlay; symbol1 v=star i=none c=black;

symbol2 v== i=none c=red;

symbol3 v=plus i=none c=green;

title1 ' ';

title2 '投资组合风险与权重散点图';

run;

quit;

上图说明,组合权重x设在0.5~0.7之间三种组合取得最小风险,其中组合1的风险和另外两种组合相比最小

proc gplot data=risk1;

plot pfol_m1*pfol_r1=1 pfol_m2*pfol_r2=2 pfol_m3*pfol_r3=3/ overlay;

symbol1 v=star i=none c=black;

symbol2 v== i=none c=red;

symbol3 v=plus i=none c=green;

title1 ' ';

title2 '投资组合收益对风险的散点图';

run;

quit;

我们关注的当然是左上部分了——分散投资、风险较小、收益较大情形

data risk2(drop=pfol_m3 pfol_r3);

set risk1;

if x < 0.4 then delete;

run;

proc gplot data=risk2;

plot pfol_m1*pfol_r1=1 pfol_m2*pfol_r2=2/ overlay;

symbol1 v=star pointlabel=("#x") i=none c=black;

symbol2 v== pointlabel=("#x") i=none c=red;

title1 ' ';

title2 '投资组合收益对风险的散点图';

run;

quit;

从上图可以看出,投资组合的有效边界是0.65~1(看左上部分)或0.7~1

生成一个三种族票的组合情形:

(权重为0.7的组合1)×0.5+(权重为0.75的组合2)×0.5=(0.7r000002+0.3r000007)×0.5+(0.75r000007+0.25r000011)

×0.5=0.725r000002+0.15r000007+0.125r000011

⑤非线性优化求解投资组合

构造所需数据集

data return2;

set return;

proc transpose data=return2 out=return2(drop=_name_ _label_);

by stkcd;

var monret;

proc transpose data=return2 out=return2(drop=_name_);

data return2;

set return2;

rename col1=x1 col2=x2 col3=x3 col4=x4 col5=x5 col6=x6 col7=x7 col8=x8;run;

计算协方差阵:

proc corr data=return2 cov outp=cov_out3 nosimple;

var x1-x8;

title 'Markowitz 模型';

run;

求解非线性规划——组合权重:

proc nlp outest=nlp_out4;

parms x1-x8;

var =x1*x1* 0.0194244422 +x2*x2* 0.024*******+x3*x3* 0.024841303

+x4*x4* 0.0150937098+x5*x5* 0.029767682+x6*x6* 0.0156948233

+x7*x7* 0.029*******+x8*x8* 0.022*******

+2*x1*x2* 0.012652434+2*x1*x3* 0.0150048423+2*x1*x4* 0.0085234643

+2*x1*x5* 0.0087603573+2*x1*x6* 0.0043113555+2*x1*x7* 0.0078285695

+2*x1*x8* 0.0068767269

+2*x2*x3* 0.0164591308+2*x2*x4* 0.010*******+2*x2*x5* 0.0125957989

+2*x2*x6* 0.0091172983+2*x2*x7* 0.0140708542+2*x2*x8* 0.0126957816

+2*x3*x4* 0.0084318348+2*x3*x5* 0.0097300933+2*x3*x6* 0.0075174348

+2*x3*x7* 0.0084425639+2*x3*x8* 0.0090521457

+2*x4*x5* 0.009197054+2*x4*x6* 0.0043473766+2*x4*x7* 0.0070145728

+2*x4*x8* 0.0091100859

+2*x5*x6* 0.010*******+2*x5*x7* 0.0175577636+2*x5*x8* 0.0167131136

+2*x6*x7* 0.010*******+2*x6*x8*0.0083393987

+2*x7*x8* 0.0136299731;

risk=sqrt(var);

min risk;

bounds 0<=x1-x8 <= 1;

lincon 1=x1+x2+x3+x4+x5+x6+x7+x8,

.019 <= 0.024********x1+ 0.0127497123*x2+ 0.0124444582*x3+

0.0079714507*x4+ 0.021********x5+ 0.0067692931*x6+

0.0263324389*x7+ 0.0143749164*x8;

run;

以上proc nlp过程是求解非线性规划的主要过程,其中要求目标函数值最小,即组合风险最小,约束条件有权重值x的和为1,权重x下期望期望收益(千万要注意说法,重在理解吧,这里是为了转化成约束条件)大于等于0.019.

计算投资金额(100000按组合权重分给8只股票)——感觉SAS 提取输出结果就是麻烦:

data amt_out3;

set nlp_out4;

if _TYPE_ ne 'PARMS' then delete;

array xa(8) x1-x8;

array a(8) a1-a8;

do i=1 to 8;

a(i)=round(xa(i)*100000,.01);

end;

total=sum(of a1-a8);

run;

set amt_out3;

rename a1=r000002 a2=r000007 a3=r000011 a4=r000016 a5=r600601 a6=r600604 a7=r600651 a8=r600653;

run;

proc print data=amt_out4;

var r000002 r000007 r000011 r000016 r600601 r600604 r600651 r600653 total;

title2 '每只股票投资的数额';

run;

和⑶类似,用事先定义好数据集的形式进行非线性规划求解,学习这些程序吧,没啥可解释的:

data in_nlp4(type=est);

input _type_ $8. x1-x8 _rhs_;

cards;

parms .125 .125 .125 .125 .125 .125 .125 .125 .

lowerbd 0 0 0 0 0 0 0 0 .

upperbd 1 1 1 1 1 1 1 1 .

eq 1 1 1 1 1 1 1 1 1

ge 0.024******* 0.0127497123 0.0124444582 0.0079714507 0.021*******

0.0067692931 0.0263324389 0.0143749164 0.019

;

proc nlp inest=in_nlp4 outest=nlp_out5;

parms x1-x8;

var =x1*x1* 0.0194244422 +x2*x2* 0.024*******+x3*x3* 0.024841303

+x4*x4* 0.0150937098+x5*x5* 0.029767682+x6*x6* 0.0156948233

+x7*x7* 0.029*******+x8*x8* 0.022*******

+2*x1*x2* 0.012652434+2*x1*x3* 0.0150048423+2*x1*x4* 0.0085234643

+2*x1*x5* 0.0087603573+2*x1*x6* 0.0043113555+2*x1*x7* 0.0078285695

+2*x1*x8* 0.0068767269

+2*x2*x3* 0.0164591308+2*x2*x4* 0.010*******+2*x2*x5* 0.0125957989

+2*x2*x6* 0.0091172983+2*x2*x7* 0.0140708542+2*x2*x8* 0.0126957816

+2*x3*x4* 0.0084318348+2*x3*x5* 0.0097300933+2*x3*x6* 0.0075174348

+2*x3*x7* 0.0084425639+2*x3*x8* 0.0090521457

+2*x4*x5* 0.009197054+2*x4*x6* 0.0043473766+2*x4*x7* 0.0070145728

+2*x4*x8* 0.0091100859

+2*x5*x6* 0.010*******+2*x5*x7* 0.0175577636+2*x5*x8* 0.0167131136

+2*x6*x7* 0.010*******+2*x6*x8*0.0083393987

+2*x7*x8* 0.0136299731;

risk=sqrt(var);

min risk;

run;

data cov_out4;

if _type_ ne 'cov' then delete;

_type_='quad';

proc nlp inest=in_nlp4 inquad=cov_out4 outest=nlp_out6;

min;

parms x1-x8;

run;

异曲同工的简化实现:

data quad;

set cov_out4 in_nlp4;

keep _type_ _name_ x1-x8 _rhs_;

proc nlp inquad=quad outest=nlp_out7;

min;

parms x1-x8;

run;

又异曲同工的实现——直接在data步中定义好输入数据和约束条件:

data quada(type=est);

keep _type_ x1-x8 _rhs_;

array x x1-x8;

n=8;

_type_='parms';

_rhs_=.;

do over x; x=1/n; end;

output;

_type_='lb';

do over x; x=0; end;

output;

_type_='ub';

do over x; x=1; end;

output;

_type_='eq'; _rhs_=1;

do over x; x=1; end;

output;

run;

data quadb;

set cov_out3 (in=d) quada;

keep _type_ _name_ x1-x8 _rhs_;

if d then do;

if _type_='cov' then _type_='quad';

else if _type_ ne 'mean' then delete;

投资组合资产选择策略

Lecture Note 15 投资组合资产选择策略 -修炼型股票选择策略 根据资本市场有效性理论,如果资本市场达到有效,则整个技术分析和基本分析无效,此时宜采用保守的资产选择策略;如果资本市场无效,则应采取积极的资产选择策略,先采用一定的投资分析方法选择成长型资产,再采用组合策略进行组合管理与控制。 问题是:绝大多数资本市场是无效的,或者没有达到弱式有效,或者没有达到半强式有效,因此采用积极的组合管理策略是十分必要的,以获得更高的投资收益率。 在介绍完投资组合理论和资产定价理论后,现在我们来讨论投资组合管理策略。 一、 引言 本章主要是基于无效市场而言的,即在无效市场条件下股票的选择、资产的配置和市场时机的选择以及组合资产的动态管理策略。本节首先讨论积极的和消极的投资策略,其次讨论修炼型股票选择策略(disiplined stock selection strategy ),分析修炼型股票选择策略确立投资目标的方法,最后讨论投资过程设计和战略实施的方式。 二、 积极的和消极的投资策略 1. 积极战略与消极战略的思路差别 收益率导向 风险导向 积极战略- return oriented 消极战略-risk-oriented

积极战略措施:当预测市场上升时,将现金转化为股票,或提高投资组合的beta系数;当预测市场下降时,将股票转化为现金,或降低投资组合的beta系数,或者两种技术结合。2.消极战略措施:当无法对市场趋势进行预测时,可以考虑采用消极策略。所谓消极策略,即构建或选择这样一个投资组合,这个投资组合相当分散,每一项资产在组合中所占比重与市场指数中所占比重相同。或购买市场指数或买卖指数基金。从而取得与市场相一致的收益率和风险。 3.积极战略措施:当认为市场存在趋势并且可预测时,可以采用某种方法首先预测市场,然后积极地选择股票,以期得到比市场收益率高的收益率。采用这一战略时,首先,根据对类别资产或行业资产发展前景乐观或悲观的估计,使投资组合中某类别或某行业资产的比重高于(买多)或低于(卖空)其在市场指数中的权重。其次,投资者在单支股票的选择上,仍可采用广泛的积极策略。被认为看涨的股票,其权重要大于其在市场指数中所占的权重;被认为看跌的股票,其权重要小于其在市场指数中的比重。当然作为一个无法预测市场的消极的策略,就是实行充分分散化的投资策略,也就是买卖指数基金。 三、股票选择策略 以上介绍了积极和消极的资产选择的两大战略,有时这两个战略是可以转换的,不过不能混淆,也不能同时实施两个战略。因为每种战略的假定前提是不同的。在每种战略下,还可以采用不同的具体策略。这里我们介绍三个具体的策略。 (1)对股票、类别和市场这三个部分的收益率都完全保持被动,即完全的消极策略;(2)对市场和类别成份保持被动,对股票选择保持主动;即部分积极的策略。 (3)对所有三个成份都采用主动策略。 注意下图中的水平线是整个市场收益率,它是一个业绩基准,在市场收益率直线之上的任何部分都是高于平均收益率的,在市场收益率水平线之下的任何部分均低于平均收益率。方框中的横线表明各战略投资组合的预期收益率。长方形的高表示各战略的预期收益率范围或风险水平。 率(正a 预期市场 收益率 率(负a 完全积极型选择策略

最优投资组合的计算

最优投资组合的计算 案例:设风险证券A 和B 分别有期望收益率%201=- r ,%302=- r ,标准差分别为 %301=σ,%402=σ,它们之间的协方差%612=σ,又设无风险证券的收益率f r =6%, 求切点处风险证券A 、B 的投资比例及最优风险资产投资组合的期望收益率和标准差;再求效用函数为()2005.0σA r E U -=,A=4时,计算包含无风险资产的三种资产最优组合的结构。 求解: 第一步,求风险资产的最优组合及该组合的收益率与标准差。 随意指定一个期望收益率%14=- P r ,考虑达到- P r 的最小方差的投资比例(因为无风险证券的方差以及与其他风险证券的协方差也都等于零,所以包括无风险证券在内的投资组合的方差实际上就等于风险证券组合的方差): min(12212 22 22 12 12σσσx x x x ++), S.T.- - - =--++P f r r x x r x r x )1(212211. 令L=(12212 22221212σσσx x x x ++)+λ- - P r ])1(212211f r x x r x r x ----- -, 由一阶条件: = ??λL - - P r 0)1(212211=----- -f r x x r x r x 0)(2211222 111 =--+=??- f r r x x x L λσσ 0)(22212122 22 =--+=??- f r r x x x L λσσ 代入上述数字解得268 25.8,268 521= = x x 。风险证券A 、B 的组合结构为 62.0, 38.02 122 11=+=+x x x x x x ,这就是风险证券内部的组合结构和比例。 如果投资者比较保守,不追求那么高的收益率,比如选择%8=- P r ,则解得风险证券内部的组合结构和比例,仍然不变(忽略计算)。说明投资者的风险偏好无论怎样,只是改变资金在无风险证券和风险证券之间的分配比例,风险资产投资的内部结构不会改变。 风险资产最优组合的收益率和标准差为:

运用Excel Solver构建最优投资组合(王世臻)

运用Excel Solver构建最优投资组合 王世臻(20121563)黄燕宁(20121941)王爽(20125204)汪雅娴(20121336)杨瑞(20121799)潘晓玉(20123384)本文运用马科维茨投资组合优化程序来说明股票市场的分散化投资,借助Excel Solver构建最优投资组合。我们从Resset金融研究数据库中从电子信息行业选取启明星辰等40只股票2010年至2013年的月收益率以及对应的无风险收益率等数据。 来源于Resset金融研究数据库

二、模型设定 我们可以设第i 只股票的期望风险溢价为i (r )E ,第i 只股票的权重为i w ,整体的期望风险溢价为p (r )E ,标准差为p σ,夏普比率为p S ,因此我们可以得到组合的期望风险溢价为: 11224040()()()()()p i i E r w E r w E r w E r w E r =+++++L L (1) 整体的标准差为: 1 4040[(,)]11 i j i j p w w Cov r r i j σ=∑∑== (2) 夏普比率为: p (r ) p p E S σ= (3) 三、构建组合 我们分卖空和未卖空两种情况分别进行讨论: (一)允许进行卖空 在这种情况下,为了找出最小的方差组合,我们以(2)式为目标函数,以40 11i i w ==∑为 约束条件运用Excel solver 求解可以得到最小的标准差为0.04127,此时的风险溢价为0.03901 ,夏普比率为0.94525,同时可以得到此时的风险组合如表。 为了画出风险组合的有效边界,我们以(2)式为目标函数,通过改变(1)式的值利用Excel solver 画出下图1: 图1 有效边界与资本配置线图 选取边界上夏普比率最高的组合,即有效边界上的最优的风险组合。我们 标准差 风险溢价

实验五:运用Excel规划求解进行最优投资组合地求解

实验报告 证券投资 学院名称 专业班级 提交日期 评阅人____________ 评阅分数____________

实验五:运用Excel规划求解进行最优投资组合的求解 【实验目的】 1、理解资产组合收益率和风险的计算方法,熟练掌握收益率与风险的计算程序; 2、进一步理解最优投资组合模型,并据此构建多项资产的最优投资组合; 【实验条件】 1、个人计算机一台,预装Windows操作系统和浏览器; 2、计算机通过局域网形式接入互联网; 3、matlab或者Excel软件。 【知识准备】 理论知识:课本第三章收益与风险,第四章投资组合模型,第五章CAPM 实验参考资料:《金融建模—使用EXCEL和VBA》电子书第三章,第四章,第五章 【实验项目容】 请打开参考《金融建模—使用EXCEL和VBA》电子书第四章相关章节(4.3)完成以下实验 A.打开“实验五组合优化.xls”,翻到“用规划求解计算最优组合”子数据表; B.调用规划求解功能进行求解。 点击“工具”在下拉菜单点击“规划求解”,如没有此选项说明需要加载规划求解后才能使用,如何加载见实验补充文档“EXCEL规划求解功能的安装”。 C.

D.在规划求解选项卡里面选择“选项”,再选择“非负”再运行一次,比较两次返回的投资比例值的正负。在实验报告中记录两次得到的最优投资组合,并说明投资比例是负值说明什么? E.(选做)借助连续调用规划求解的VBA过程生成有效组合以及资本市场线。 参考实验参考电子书《金融建模—使用EXCEL和VBA》电子书第四章P83 F.对比可卖空和不可卖空的有效前沿图试对比说明其不同? 【实验项目步骤与结果】 A.

最优投资组合模型剖析

最优投资组合模型 陈家跃1 肖习雨2 杨珊珊3 1.韶关学院2004级数学与应用数学广东韶关 512005 2.韶关学院2003级信息技术(1)班广东韶关 512005 3.韶关学院2004级信息技术班广东韶关 512005 摘要 本文通过各种投资回报数据,对各种投资方案的回报效益进行分析,以平均回报期望为回报率,用回报方差来衡量风险,建立了在VaR(风险价值)约束下的经典马柯维茨(Markowitz)均值-方差模型,并从几何角度具体地阐述了此模型的算法,最后根据此算法和借助数学软件LINGO、MATLAB计算出在VaR=1%,…,10%下的最优投资组合为方案一投资1421万美元,方案二投资2819.5万美元,方案三投资759.5万美元,得到的最大净收益为500.00万美元,结果令人满意. 关键词:马柯维茨均值-方差模型;VaR约束;置信水平

1问题的提出 某基金会有科学基金5000万美元,现有三种不同的投资方式,分别为政府债券、石化产业股票、信息产业股票,为了保证其基金安全增殖,设计收益最大且安全的投资方案,要求(1)获得最大的投资回报期望(2)投资的风险限制在一定的范围。保证该投资方案资金保值概率不低于95%。(假设石化产业的投资回报率变化与信息产业的投资回报率变化彼此独立) 三种投资方式分别为: 投资方式一: 购买政府债券,收益为5.6%/年; 投资方式二: 投资石化产业股票 根据有关的随机抽样调查,得到四十宗投资石化产业股票的案例记录(如附录图表一); 投资方式三: 投资信息产业股票 根据有关的随机抽样调查,得到四十宗投资信息产业股票的案例记录(如附录图表二)。 2 模型的假设 2.1 该基金投资持有期为一年; 2.2 投资政府债券的风险为零; 2.3 方案二和方案三中选取的八十只股票具有代表性,能反映总体股市情况; 2.4 不考虑交易过程中的手续费,即手续费为零; 2.5 总体投资金额设为单位1. 3 符号的约定 ?:表示证券组合在持有期t?内的损失; P X:表示第i种方案的投资权重(投资比例); i c:表示置信水平,反映了投资主体对风险的厌恶程度; 2 σ:表示第i种方案的投资回报方差; i

金融证券市场中最优投资组合与模型选择问题探讨

金融证券市场中最优投资组合与模型选择问题探讨 投资组合理论是证券投资学中最重要、最复杂和最有应用价值的部分。它研究并且回答在面临各种相互关联、确定的特别是不确定结果的条件下,理性投资者应该怎样做出最佳投资选择,把一定数量的资金按合适的比例,分散投放在多种不同资产上,以实现投资者效用极大化的目标。随着概率论和随机过程等近代数学理论的发展和应用,利用随机分析投资与消费问题已成为金融学中定量研究的热门领域之一。投资组合理论[1]的产生使得数理金融学作为金融学的一个独立的分支迅速发展起来。但围绕投资组合理论,过去的一系列研究存在许多不足,如:均值—方差投资组合理论单纯地考虑一个确定的投资时域,并且考虑的市场环境比较简单;投资消费理论考虑的是一类单一的消费品,投资对象仅限于无风险证券和风险证券。而目前市场上消费品与投资对象日益丰富,原来的投资理论的一些结论不能满足实际的需求。 因此,如何建立更为完善的投资组合模型,一些算法不能够很简便地使计算机进行计算和模拟,且导致结果不够准确,寻找简便且准确的算法,需要不断地去研究。本项目基于模型选择,根据投资组合理论与投资消费理论,在均值—方差模型的框架下,首先研究确定时域的M-V最优投资组合选择,然后研究随机时域的M-V最优投资组合选择[2]次拓展研究特殊消费的最优投资消费决策及含期权的最优

投资消费模型,最后应用于分析实际数据并寻求最优的证券组合。 一、主要模型 (一)单阶段M-V投资组合模型 在金融市场,风险投资有两个决策目标,一个是收益率高低,另一个是风险大小,二者相互矛盾和制约。在理论上,最大风险最小的投资方案是不存在的,只能在收益和风险之间做出理性的权衡然后构造最优组合模型,确定最优投资比例,如理性投资者希望在风险最小的前提下实现较为满意的收益水平。此时建立马科维茨(Markowitz)模型,根据马科维茨(Markowitz)的假设,多数投资者均为风险厌恶者,在风险投资决策中,首先考虑最小风险这一目标,其次考虑收益水平。由此,以组合投资的方差最小为决策目标,构造最小风险组合投资模型[3]。 minσ2(r)=WT∑Ws.t.ETW=1 这是一个二次规划间题,构造Lagrange函数L(W)=WT∑W+λ(ETW-1),令=0,=0,有: 2∑W+λE=0ETW-1=0

购买十只股票的最优投资组合

作业二:购买十只股票的最优投资组合 1、理论基础 马科维茨讨论了投资者将一笔资金在给定的持有期进行投资的问题,也就是 选择一个最优的证券组合。由于每种证券(从而证券组合)未来的收益率是未知的,因此,不可能做出一个保证获得最高收益的决策。尽管可以估计每种证券未来的收益率(期望收益率),仍然不能满足上面的要求,这是因为,基于期望收益率的决策最多只能获得最高平均收益率(组合的期望收益率)。 正是因为对收益率的不确定性(风险)在决策中的关注,马柯维茨指出,任何一位投资者在追求“高收益”的同时,还希望“收益尽可能是确定的”。决策目标应该有两个:第一,“尽可能高的收益率”;第二,“尽可能低的不确定性(风险)”。 1.1 收益与风险的度量 有关风险和收益的度量,本文用期望度量收益,用方差(或标准差)度量风险。具体的用历史数据估计期望收益率和方差——样本均值和样本方差。 假设收益率的概率分布是恒定的,那么,实际收益率就是来自同一概率分布的抽样样本。因而,可以用样本均值和样本方差对期望收益率和方差进行估计。 假设从时刻1=t 到n t =的实际收益率是),...,2,1(n i r i =,这就是由收益率的时间序列所构成的样本,则样本均值和样本方差为: ∑==n i i r n r 1 1 ∑=--=n i i r r n 1 22 )(11σ 1.2 证券之间的关联性--协方差与相关系数 用B A r r ,分别表示证券A 和证券B 的收益率,则其联合分布通常表示为: ij Bj B Ai A P r r r r P ===),( 证券A 和证券B 的协方差由下式计算: ∑∑==--=m i n j ij B Bj A Ai B A p Er r Er r r r 11))((),cov(

投资组合资产选择策略

投资组合资产选择策略

Lecture Note 15 投资组合资产选择策略 -修炼型股票选择策略 根据资本市场有效性理论,如果资本市场达到有效,则整个技术分析和基本分析无效,此时宜采用保守的资产选择策略;如果资本市场无效,则应采取积极的资产选择策略,先采用一定的投资分析方法选择成长型资产,再采用组合策略进行组合管理与控制。 问题是:绝大多数资本市场是无效的,或者没有达到弱式有效,或者没有达到半强式有效,因此采用积极的组合管理策略是十分必要的,以获得更高的投资收益率。 在介绍完投资组合理论和资产定价理论后,现在我们来讨论投资组合管理策略。 一、引言 本章主要是基于无效市场而言的,即在无效市场条件下股票的选择、资产的配置和市场时机的选择以及组合资产的动态管理策略。本节首先讨论积极的和消极的投资策略,其次讨论修炼型

股票选择策略(disiplined stock selection strategy),分析修炼型股票选择策略确立投资目标的方法,最后讨论投资过程设计和战略实施的方式。 二、积极的和消极的投资策略 1.积极战略与消极战略的思路差别 收益率导向风险导向 整体市场类别行业 成长类股票 Beta或市类别风险或不同类别股

单支个别残差或 积极战略-return oriented 消极战略-risk-oriented 积极战略措施:当预测市场上升时,将现金转化为股票,或提高投资组合的beta系数;当预测市场下降时,将股票转化为现金,或降低投资组合的beta系数,或者两种技术结合。2.消极战略措施:当无法对市场趋势进行预测时,可以考虑采用消极策略。所谓消极策略,即构建或选择这样一个投资组合,这个投资组合相当分散,每一项资产在组合中所占比重与市场指数中所占比重相同。或购买市场指数或买卖指数基金。从而取得与市场相一致的收益率和风险。 3.积极战略措施:当认为市场存在趋势并且可

购买十只股票的最优投资组合

作业二:购买十只股票得最优投资组合 1、理论基础 马科维茨讨论了投资者将一笔资金在给定得持有期进行投资得问题,也就就 是选择一个最优得证券组合。由于每种证券(从而证券组合)未来得收益率就是未知得,因此,不可能做出一个保证获得最高收益得决策。尽管可以估计每种证券未来得收益率(期望收益率),仍然不能满足上面得要求,这就是因为,基于期望收益率得决策最多只能获得最高平均收益率(组合得期望收益率)。 正就是因为对收益率得不确定性(风险)在决策中得关注,马柯维茨指出,任何一位投资者在追求“高收益”得同时,还希望“收益尽可能就是确定得”。决策目标应该有两个:第一,“尽可能高得收益率”;第二,“尽可能低得不确定性(风险)”。 1、1 收益与风险得度量 有关风险与收益得度量,本文用期望度量收益,用方差(或标准差)度量风险。具体得用历史数据估计期望收益率与方差——样本均值与样本方差。 假设收益率得概率分布就是恒定得,那么,实际收益率就就是来自同一概率分布得抽样样本。因而,可以用样本均值与样本方差对期望收益率与方差进行估计。 假设从时刻到得实际收益率就是,这就就是由收益率得时间序列所构成得样本,则样本均值与样本方差为: ∑=--=n i i r r n 1 22 )(11σ 1、2 证券之间得关联性协方差与相关系数 用分别表示证券A 与证券B 得收益率,则其联合分布通常表示为: 证券A 与证券B 得协方差由下式计算: 协方差反映两种证券协同变化得数量,数值大小依赖于证券收益率与自身期望收益率得偏离程度。然而,协方差得数值大小并不能完全反映证券间得关联关系。 为了对相关程度做出衡量,应将上面得偏离程度进行标准化,标准化后得协方差就就是相关系数。数学公式如下: ,

投资组合的选择

投资组合的选择(M) 投资组合选择问题所涉及的情况是财务经理从多种投资选择中选择具体的一些投资,如股票和债券、共有基金、信用合作社、保险公司等等,银行经理们经常会遇到这样的麻烦。投资组合选择问题的目标函数通常是使预期收益最大化或使风险最小化。约束条件通常表现为对准许的投资类型,国家法律,公司政策,最大准许风险等方面的限制。对于此类问题,我们可以通过使用各种数学规划方法建立模型进而求解。此节中,我们将把投资组合选择问题作为线性规划问题来求解。 假设现在有一家坐落于纽约的威尔特(Welte)共有基金公司。公司刚刚完成了工业债券的变现进而获得了100,000美元的现金,并正在为这笔资金寻找其他的投资机会。根据威尔特目前的投资情况,公司的上层财务分析专家建议新的投资全部投在石油、钢铁行业或政府债券上。分析专家已经确定了5个投资机会,并预计了它们的年收益率。表4-3是各种投资及它们的收益率。 投资预期收益率(%) 大西洋石油7.3 太平洋石油10.3 中西部钢铁 6.4 Huber钢铁7.5 政府债券 4.5 威尔特的管理层已经设置了以下的投资方针: 1.在任何行业(石油或钢铁)的投资不得多于50000美元。 2.对政府债券的投资至少相当于对钢铁行业投资的25%。 3.对太平洋石油这样高收益但高风险的投资项目,投资额不得多于对整个石油行业投资的60%。 可使用的100,000美元应该以什么样的投资方案(投资项目及数

量)来投资呢?以预期收益最大化为目标,并遵循预算和管理层设置的约束条件,我们可以通过建立并解此问题的线性规划模型来回答它。解决方案将为威尔特共有基金公司的管理层提供建议。 投资组合选择问题所涉及的情况是财务经理从多种投资中选择一些具体的方案,如股票和债券。共同基金经理、信用合作社、保险公司以及银行经常遇到这样的问题。投资组合选择问题的目标函数通常是是预期收益最大化或风险最小化。约束条件通常表现为对允许的投资类型、国家法规律、公司政策、最大准许风险等方面的限制。我们可以通过使用各种数学规划方法建立模型进而求解。 这笔可使用的100000美元资金应以怎样的投资方案(投资项目及数量)来分配呢?以预期收益率最大化为目标,并根据预算和管理层的约束条件,我们可以通过建立此问题的线性规划模型来求解。求解的结果将为威尔特公司的管理层提供建议。 解:设决策变量为: 设A—投资于大西洋石油的资金数 P——投资于太平洋石油的资金数 M—投资于中西部钢铁的资金数 H—投资于Huber钢铁的资金数 G—投资于政府债券的资金数 利用表4-3提供的预期收益率,我们得出投资收益最大化的目标函数:设可用的100000美元资金的约束条件为: A+P+M+G=100000

最优投资组合选择SAS实现

最优投资组合选择——SAS实现 1、分享一些感觉 当初,在我翻看《金融计算与建模》这本书的时候,我也感觉:哇,会很难懂吧!yes,有这种感觉应该正常,因为书中的有些细节确实不是那么好理解,但这不影响我们有选择性地加以应用。整本书的大部内容都突出了“计算”二字——各种收益率计算、各种指数计算、各种风险价值(价格或指标)计算、VaR计算、利率计算等等。这些计算搞得我很“蒙蔽”,因为,当我在阅读程序语句时总是搞不明白,这些计算对应的是哪个数据集、哪个字段。 现在,用一种轻松的感觉挑选着翻看其中某些章节的内容,顿时发现“山重水复疑无路,柳暗花明又一村”了,原来当初是“不识庐山真面目,只缘生在此山中”啊,好吧,接下来,我就股票/证券领域中的投资组合理论来介绍一下我是如何柳暗花明的。 参看书籍是朱世武的《金融计算与建模》,数据集来自锐思数据库。 2、一句话的阳光 在SAS中进行最优投资组合选择需要: 计算股票期望收益率——μ 计算风险度量指标——σ/β 优化求解组合权重——weight Yes,就是这三句话。前两句没什么好说的,第三句由于是规划问题,所以就要考虑到优化建模的一系列问题,比如,灵敏度分析、

整型规划、变量限制条件,等等。 投资组合就这些内容吧,分解一下就so easy吧。 3、各个击破 在对上述三个步骤进行各个击破前,让我们来熟悉一下,我们所要使用的数据集,以及数据集中的字段吧————这是一个十分十分重要的觉悟性认识! 需要字段:8只股票包括代码名、1995-2005年A股市场月持有收益率、3只股票月持有收益率。由于这三个字段来自不同方的数据集,所以需要进行整合。为什么选择这8只股票?这就是我们最初选股的问题了,而不是投资组合问题。 数据说明:resdat是自建的存储在SAS系统逻辑库下的库名,类似Work。monret是个股月持有期收益率数据集;monretm是市场持有期收益率数据集。(这里,我门不关心这两个收益率是如何得来的) 数据准备阶段,程序见下: ⑴创建8只股票的代码收益率 data Stk8; input stkcd$6.; cards; 000002 000007 000011 000016 600601 600604 600651 600653 ;run; ⑵按8只股票名合并数据,回忆一下merge函数,学习samp变量作

6投资组合有效边界计算

6最优投资组合选择 最优投资组合选择的过程就是投资者将财富分配到不同资产从而使自己的效用达到最大的过程。然而,在进行这一决策之前,投资者首先必须弄清楚的是市场中有哪些资产组合可供选择以及这些资产组合的风险-收益特征是什么。虽然市场中金融资产的种类千差万别,但从风险-收益的角度看,我们可以将这些资产分为两类:无风险资产和风险资产。这样一来,市场中可能的资产组合就有如下几种:一个无风险资产和一个风险资产的组合;两个风险资产的组合;一个无风险资产和两个风险资产的组合。下面分别讨论。 一、一个无风险资产和一个风险资产的组合 当市场中只有一个无风险资产和一个风险资产的时候,我们可以假定投资者投资到风险资产上的财富比例为w ,投资到无风险资产上的财富比例为1-w ,这样一来,投资组合的收益就可以写为: f P r w r w r )1(-+= 其中,r 为风险资产收益,这是一个随机变量;f r 为无风险资产的收益,这是一个常数。 这样,资产组合的期望收益和标准差就可以写出下述形式: f P r w r wE r E )1()()(-+= σσw P = (因为122 22212 2 )1(2)1(σσσσw w w w P -+-+=,2112122,0σσρσσ===0) 其中σ为风险资产的标准差。 根据上两式,我们可以消掉投资权重,并得到投资组合期望收益与标准差之间的关系: P f f P r r E r r E σσ -+ =)()( 3-1 当市场只有一个无风险资产和一个风险资产时,上式就是资产组合所以可能的风险-收益集合,又称为投资组合的可行集合。在期望收益-标准差平面上,3-1是一条直线,我们称这条直线为资本配置线。

相关主题
文本预览
相关文档 最新文档