数学建模社区-数学中国

标题: 基于金融工具箱投资组合均值-方程模型求解 [打印本页]

作者: 建不了的模。    时间: 2015-1-12 12:07
标题: 基于金融工具箱投资组合均值-方程模型求解
金融工具箱提供了以后函数用于求解投资组合分析
; L9 }  H$ g8 R
% |4 z! Q% Z+ ^- q; b4 |" }2 W
; E: n7 F& s$ d. X
frontcon函数:Mean-variance efficient frontier& B2 d5 e  a- u1 I0 v- U( W
- y/ B2 F5 D/ y3 }( i& ~3 @& }
% t; S9 }( A& x7 l
portopt函数:Portfolios on constrained efficient frontier5 z5 w# C. B- `7 q% C

4 ~$ g$ C% a9 r1 I: l( ~

& D3 K. m/ g2 U  [" v8 fportvrisk函数:Portfolio value at risk (VaR)
/ R' C+ n. n( Z9 W* \! e- c+ M+ x" o; q; F1 p  ]- Q/ _
/ U2 a6 Q" S- ]6 R' ]5 E7 l
下面给一个小例子说明下,程序运行必须用到附件中的“股票数据.txt”数据
3 i  [  R  }8 R& W! W8 ^- G5 ]* W1 c! g

( \7 ?5 N( x& u% n& t数据结构如下,每列代表一只股票,每行是一天的股票售价。
" t' y' X) Q' x" I8 r" U8 y0 L( U) t; ?" a& D8 \
' N' n8 ~! V- m& D$ C! U4 s# l  Y
均值方程模型,要求先计算出股票的日收益率、日平均收益率和日收益率方差,然后再调用金融工具箱函数6 u+ p. e) k! W
% by dynamic of Matlab技术论坛
1 a2 z& Y, B$ i. k% see also http://www.matlabsky.com% D7 R& a( C' _- w. Y4 ?/ C$ e
% contact me matlabsky@gmail.com
- ~9 b/ d/ B- s/ G# W! c  t( s- |% 2010-04-07 10:33:28
' a# _" o5 C' Y1 ~5 A) I5 m, }4 {' M%
1 F! n$ @8 a/ [5 I/ \$ y, z4 r+ I$ s. g  [. l3 f

* n/ H. ^' ~6 b% kclc
4 x: |) t  ?4 j6 |- Zclear) y- A& j' s6 X3 m6 j, l- l

8 `6 S- H3 t8 k' r& }6 p+ E

& H0 w7 u! D9 b% [$ N  Bweb http://www.matlabsky.com -browser& [, Q! c) J$ j! `

) x% X7 X( n6 z2 U6 q& ]

' k  K' Z0 N$ ]7 bh=msgbox({'本程序由MATLAB技术论坛编写','','contact me matlabsky@gmail.com','','see also http://www.matlabsky.com'},'版权申明','warn','modal');* l. A- D* U! q
uiwait(h);6 k$ D3 q( C) e$ }0 r* H

- q1 ~, A- _$ m; B$ \( G
& M" a# h/ g0 K3 T
data=load('股票数据.txt'); % 数据载入' V7 }: C2 l' Z7 d% u/ }+ L
r=diff(data)./data(1:end-1,; % 日收益率" a8 i5 t3 u0 u6 p( k
mr=mean(r); % 平均收益率2 ~* D! X, s; o+ M5 {
sigma=cov(r); % 资产回报方差# y* Z& P! ^. A2 }, Z

7 x$ }/ s' [, _* o* @2 J
' h8 x' K& q0 M; W! Z
ExpReturn=mr; % 期望(平均)收益率
2 N6 y, ?9 [% t- LExpCov=sigma; % 资产回报方差/ c" n. s0 B; U2 R- d; T
NumPorts=100; % 有限前沿点的个数
1 E: E6 I% e  rPortReturn=[]; % 目标收益率,NumPorts和PortReturn只能选一个,另外一个必须置为[]
& v1 f; Z1 t( ^! D. v, _bound=inputdlg('投资比例,默认[0 1]','参数输入',1,{'[0 1]'});& J) z& v) j# @
bd=str2num(bound{1});0 \& i: ], L; s: l5 l6 X. I
AssetBounds=repmat(bd(,1,4); % 投资边界
$ e0 j8 L8 _( I2 _0 c9 |* Z& t% s' K- M+ Y! ]; \- I

* w! f9 V1 r7 H$ [: p2 x8 i[PortRisk, PortReturn, PortWts] = frontcon(ExpReturn,ExpCov, NumPorts, PortReturn, AssetBounds);, c3 U5 D: J  _" d/ [! J  N
data=cell(101,6);
" q! d* Q( S& k& x2 ^data(1,={'风险','回报','美元','欧元','日元','英镑'};3 r$ B( d5 c. I" D. m
data(2:end,=num2cell([PortRisk, PortReturn, PortWts]);
7 u5 \/ c3 `- w; I8 r2 r4 mxlswrite(['股票数据-',bound{1},'.xls'],data)% H6 E5 ^3 h& E2 N: l; x
复制代码
. V- j( K8 v& c7 {( f: E& p! j  g7 e; n# G& \' z0 w
股票数据.txt (347 Bytes, 下载次数: 3)
8 K7 @8 D6 {5 M
1 |  K! G$ F) {2 V; r7 K$ x
作者: 宇仲    时间: 2015-1-13 15:27
有价值的东西,收藏了,顶!.
3 J/ [: x0 ^  o/ R$ h% |; U8 U
作者: crolfer    时间: 2015-1-19 11:19
谢谢分享,收藏1 ]! V* y6 G) A# I

作者: opsops    时间: 2015-2-27 11:42
啦啦啦~~~我是默认签名(*^__^*), M2 e; c3 f/ z3 J

作者: Kuniy_Guo    时间: 2015-4-10 14:06
这么牛!看看怎么用?!
; j0 d- f5 B4 r$ `




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5