数学建模社区-数学中国

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

作者: 建不了的模。    时间: 2015-1-12 12:07
标题: 基于金融工具箱投资组合均值-方程模型求解
金融工具箱提供了以后函数用于求解投资组合分析
$ `+ p* V" N4 p+ s  W: x. v6 _* d% J7 }6 \
7 C; e7 S) f5 }1 T5 h
frontcon函数:Mean-variance efficient frontier
' Z8 X& |* H/ ?. A- z1 o" s: s! r# u' M6 Q) A4 d; `$ P7 P0 q

& D# s0 Y3 k1 Aportopt函数:Portfolios on constrained efficient frontier) b0 @- V7 e) R3 K) ^3 @& T8 A! ]
, h% ^0 G2 D" X# h3 Z3 Y& w. f

" b4 z/ F' Y+ N/ Sportvrisk函数:Portfolio value at risk (VaR), |! I7 d: t; f" a

( o0 T& ~% ?6 K' X- H" l

6 N0 t$ W, |& q/ c1 Z) Q下面给一个小例子说明下,程序运行必须用到附件中的“股票数据.txt”数据
6 g$ v# f' x. h& m+ X1 K% _$ x6 P6 y5 e+ x3 x; B
  Z" y: v+ Z) J: _( K2 O
数据结构如下,每列代表一只股票,每行是一天的股票售价。$ m7 i6 K. @  g/ e

. Q; o" X) S# q" k

! ?9 q2 C: [3 G& T5 j2 d均值方程模型,要求先计算出股票的日收益率、日平均收益率和日收益率方差,然后再调用金融工具箱函数. i4 I8 H* k) V9 j
% by dynamic of Matlab技术论坛7 w5 M4 V+ Q; X7 p+ p
% see also http://www.matlabsky.com2 m' g6 z+ Z* z  |% Q/ K4 S7 w2 |
% contact me matlabsky@gmail.com
+ W: L* E1 |6 r" Y% 2010-04-07 10:33:28
: y. w$ _+ C7 B& r%7 ~5 m' L2 {0 ?2 O7 ?6 q

( E+ Q( F' k- W) W2 J/ t( W

8 x6 U& a- r$ R+ [5 gclc( k6 k9 P" M9 ~( p
clear
" D+ Q9 W) e+ z9 K2 R
( f& v; w$ J; x5 ^3 U+ _

+ ~' h- @9 p. L$ vweb http://www.matlabsky.com -browser
: q0 Z  k, T8 X1 _. D4 E8 _8 J1 m( ?3 a4 K

9 W3 m0 G- V6 v, E/ o1 eh=msgbox({'本程序由MATLAB技术论坛编写','','contact me matlabsky@gmail.com','','see also http://www.matlabsky.com'},'版权申明','warn','modal');$ K& T" Y1 j5 B, q
uiwait(h);
) N. N- \( G9 K# |9 O2 S" b& }- e" y

2 q' D) P7 e# ~data=load('股票数据.txt'); % 数据载入+ D) k* D3 e$ Y( w
r=diff(data)./data(1:end-1,; % 日收益率
# j6 n8 O2 B. L2 @mr=mean(r); % 平均收益率
" s1 J0 j  I2 x; e7 hsigma=cov(r); % 资产回报方差
! F" K3 V+ Y* Z' b; H
& p# [) T; g- E7 O

8 d2 M' ?0 A* t7 x6 A# hExpReturn=mr; % 期望(平均)收益率+ E0 c" M0 K0 @, M
ExpCov=sigma; % 资产回报方差6 H: n  i, M6 a" e7 V4 e- N' R
NumPorts=100; % 有限前沿点的个数
$ ~& x$ i. X/ @# u0 w1 j( ^. JPortReturn=[]; % 目标收益率,NumPorts和PortReturn只能选一个,另外一个必须置为[]; x+ |- J) K: Q" l# a4 g% q" B2 R
bound=inputdlg('投资比例,默认[0 1]','参数输入',1,{'[0 1]'});- Y! ]4 W. M% o- W
bd=str2num(bound{1});- N* F% C$ @: V7 Y( T
AssetBounds=repmat(bd(,1,4); % 投资边界
  F' G: G* ^! L+ E0 h
/ C( n4 n2 w6 k8 Z* G# \
- |+ q; B; C; a" e
[PortRisk, PortReturn, PortWts] = frontcon(ExpReturn,ExpCov, NumPorts, PortReturn, AssetBounds);
. }7 z0 K) U3 t9 v6 S* rdata=cell(101,6);
4 W9 s8 o( e% |/ {data(1,={'风险','回报','美元','欧元','日元','英镑'};/ o: O9 i% A* U/ T
data(2:end,=num2cell([PortRisk, PortReturn, PortWts]);7 n: @7 i4 b( I+ {6 p1 j
xlswrite(['股票数据-',bound{1},'.xls'],data)+ P$ ~8 i# G7 O' Y) O; Q$ Z2 w
复制代码. I4 A" g5 I7 M5 B
: b+ f5 U8 D4 C* ?' [& k5 s
股票数据.txt (347 Bytes, 下载次数: 3) ) i2 F; O% C; }& h7 \
* a! h. |' V, Q% F  c

作者: 宇仲    时间: 2015-1-13 15:27
有价值的东西,收藏了,顶!. & E- X. D6 z% o, L5 l, p

作者: crolfer    时间: 2015-1-19 11:19
谢谢分享,收藏/ ]" v7 c0 V1 ~4 Y5 }

作者: opsops    时间: 2015-2-27 11:42
啦啦啦~~~我是默认签名(*^__^*)
- ^& p; S2 p+ c8 ?8 v
作者: Kuniy_Guo    时间: 2015-4-10 14:06
这么牛!看看怎么用?!8 d' V% U3 f/ S0 Y, z





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