数学建模社区-数学中国
标题:
基于金融工具箱投资组合均值-方程模型求解
[打印本页]
作者:
建不了的模。
时间:
2015-1-12 12:07
标题:
基于金融工具箱投资组合均值-方程模型求解
金融工具箱提供了以后函数用于求解投资组合分析
* \% z2 g) D5 ^- e
' ?. i: Z- S8 r
- j- P8 b d- t! n# P0 A& R
frontcon函数:Mean-variance efficient frontier
; ]& |! ]* | X1 X( |+ R
* _# X- O/ Y/ b' r5 N( x
! w, x' f# j! v. e6 p! u# x
portopt函数:Portfolios on constrained efficient frontier
# a6 K2 A" D9 V% [8 }) D( i: B
( m0 z! B6 ~8 x' w% O& C8 R- _
2 F% L ] A1 M
portvrisk函数:Portfolio value at risk (VaR)
+ v+ u& F1 b) y6 r' P
* S+ K- K3 k4 C& B: W/ l* W% z: q9 f
. y' A; a1 A8 R1 g
下面给一个小例子说明下,程序运行必须用到附件中的“股票数据.txt”数据
8 n l) V$ f0 z. L3 A1 J4 p! @
( O$ i9 z( [" @! u: }' {
V* G9 e/ Y. z; d! d- m$ B
数据结构如下,每列代表一只股票,每行是一天的股票售价。
' _% Z8 @) |! B2 O
. s- E& n9 j8 J: Z* [
" g5 t4 }5 h: N$ L' s
均值方程模型,要求先计算出股票的日收益率、日平均收益率和日收益率方差,然后再调用金融工具箱函数
6 A; y" x( n( Z
% by dynamic of Matlab技术论坛
. r3 y( x$ m1 C
% see also
http://www.matlabsky.com
3 b7 u( _& |9 f4 X
% contact me
matlabsky@gmail.com
! C( C' x4 F* ?: ]0 \
% 2010-04-07 10:33:28
7 }$ x5 a9 q; {, A0 b6 t" G
%
! R, W m g( u" E V
" [8 J1 b% b$ ]- J% x" r
! x& m9 ]+ H7 L9 X& k5 N7 ] c
clc
6 b5 e, L" J6 T# r E
clear
4 U; R6 z5 }$ V- J$ q7 [. o0 q, i$ }
6 u# _* }5 o$ G
# u" F" x5 P) ]- G+ W1 ]
web
http://www.matlabsky.com
-browser
5 T* D+ ?' {+ [) j% f; T# P
2 D6 M/ u$ f1 L
1 o, G0 L/ r6 i2 T H
h=msgbox({'本程序由MATLAB技术论坛编写','','contact me
matlabsky@gmail.com
','','see also
http://www.matlabsky.com
'},'版权申明','warn','modal');
, F6 g6 s6 P$ b5 W# y# k3 h6 k
uiwait(h);
6 P" a/ F# b/ a" N! V% g
4 Q7 v# ~. G' t! j* C& x
8 d% E8 V1 T* M; Z# }
data=load('股票数据.txt'); % 数据载入
- J8 o4 l8 R5 h Q
r=diff(data)./data(1:end-1,
; % 日收益率
; `4 T" i# `7 ]5 S5 n- A$ W
mr=mean(r); % 平均收益率
8 T7 T1 t( W. D0 \# F
sigma=cov(r); % 资产回报方差
! D5 Q# q) W; b/ N t. Y
1 {. E& V" S2 Q6 Y" m
$ F7 {; z9 a( G8 `* R! E% Y
ExpReturn=mr; % 期望(平均)收益率
5 Z7 L# F. t6 q8 _$ _
ExpCov=sigma; % 资产回报方差
% N: n. F4 g" j% ]3 P+ U: @" ?% n4 r1 P
NumPorts=100; % 有限前沿点的个数
* S( \; X+ {" W/ r
PortReturn=[]; % 目标收益率,NumPorts和PortReturn只能选一个,另外一个必须置为[]
5 Z; k* c9 v1 ~6 {$ k
bound=inputdlg('投资比例,默认[0 1]','参数输入',1,{'[0 1]'});
" Y+ I: L& R& y
bd=str2num(bound{1});
+ U0 v4 T& z8 G6 n6 |
AssetBounds=repmat(bd(
,1,4); % 投资边界
5 |* F0 D9 k# w5 N
5 @2 X1 r2 a( q$ {! t& G
$ N, m) U2 h2 e: q: P+ d3 f
[PortRisk, PortReturn, PortWts] = frontcon(ExpReturn,ExpCov, NumPorts, PortReturn, AssetBounds);
7 f& X* ? r2 k7 E7 x
data=cell(101,6);
# R4 i. ^: A2 H* w$ f- {
data(1,
={'风险','回报','美元','欧元','日元','英镑'};
; H% l l8 t+ }+ Q
data(2:end,
=num2cell([PortRisk, PortReturn, PortWts]);
, T- v- B9 Q( ]0 M) T5 s1 n
xlswrite(['股票数据-',bound{1},'.xls'],data)
; p( p& d: J% ?; H3 V- g8 f/ }9 [
复制代码
1 } s3 Z/ @, e+ p& V4 w1 U$ H
2 ?& _2 ~* Q( A, a6 k
股票数据.txt
(347 Bytes, 下载次数: 3)
2015-1-12 12:07 上传
点击文件名下载附件
下载积分: 体力 -2 点
; I4 n' f6 O2 E* M8 q: _
/ @: A5 u2 t6 F: x3 X! a" W1 M' { t
作者:
宇仲
时间:
2015-1-13 15:27
有价值的东西,收藏了,顶!.
- u/ _( G( ~ i) L
作者:
crolfer
时间:
2015-1-19 11:19
谢谢分享,收藏
4 M( M4 p! f. l, ?
作者:
opsops
时间:
2015-2-27 11:42
啦啦啦~~~我是默认签名(*^__^*)
' W, w2 n3 ~( E0 F. w! E3 ]+ B
作者:
Kuniy_Guo
时间:
2015-4-10 14:06
这么牛!看看怎么用?!
. o( N7 P3 r. z3 L
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5