数学建模社区-数学中国
标题:
基于金融工具箱投资组合均值-方程模型求解
[打印本页]
作者:
建不了的模。
时间:
2015-1-12 12:07
标题:
基于金融工具箱投资组合均值-方程模型求解
金融工具箱提供了以后函数用于求解投资组合分析
8 O' _/ \ C; x3 E1 j# \3 u
5 Y% T; h6 Y5 X
2 e3 G) j1 j, z1 r& V2 D
frontcon函数:Mean-variance efficient frontier
8 M1 H2 ]& Y2 }3 E3 E6 U6 E5 w
' B8 k6 O6 b) G" C. n
) O1 T9 |9 k1 G" r" }
portopt函数:Portfolios on constrained efficient frontier
K5 R+ a( m0 X; x* R" y
4 A, R1 y8 m6 ], y
8 @7 s: G, B# I, t) w
portvrisk函数:Portfolio value at risk (VaR)
4 ?$ Z: m3 A! d7 v3 @2 S
( v" s* m; f s4 f- m+ d( [
# B# e' p7 ^- |. x& k
下面给一个小例子说明下,程序运行必须用到附件中的“股票数据.txt”数据
* q7 }& k! H- s5 |
* t1 c3 v. ?7 s6 |4 k$ L2 N
' _! D7 c8 N; B: ]
数据结构如下,每列代表一只股票,每行是一天的股票售价。
. Y Y) ^/ |* j/ Y! f' M5 q
2 _5 ^) H- l0 {8 X* A& E% _
/ Z- n* P8 }8 u8 v3 [7 y6 X; a
均值方程模型,要求先计算出股票的日收益率、日平均收益率和日收益率方差,然后再调用金融工具箱函数
6 K0 ?# Q; \. ?, ~/ X7 u, n
% by dynamic of Matlab技术论坛
4 O* a9 c4 r& @- x# E, e' R" N
% see also
http://www.matlabsky.com
) |5 V, B* T3 L1 G3 t c
% contact me
matlabsky@gmail.com
$ G4 ?/ O3 v5 `, y N- @; z8 C
% 2010-04-07 10:33:28
& O! h# {4 Z! p+ r! P
%
V& G' ^4 D, v6 t
6 C( c' o. z. I9 U) o$ `- P( S) `
" J9 T3 X5 V6 V) ^6 y" x
clc
3 D; Y9 N% }# w# v* O
clear
* A! \0 A- y& A/ c9 S
9 d0 u% J/ @, w9 c* A
, D. c7 K8 n5 Y" K5 I
web
http://www.matlabsky.com
-browser
5 i& q2 Z$ h, V5 E. n1 o
0 p# i b f- ]% i3 h
2 c" R" N! ?2 y9 j2 i5 Z
h=msgbox({'本程序由MATLAB技术论坛编写','','contact me
matlabsky@gmail.com
','','see also
http://www.matlabsky.com
'},'版权申明','warn','modal');
' F$ l/ h; R. e! L2 ~3 K
uiwait(h);
( c: Z6 M, X8 S4 x
0 H7 |& L/ Z3 S
. p" ~, r: |$ i' A3 H4 C8 Z+ J
data=load('股票数据.txt'); % 数据载入
% P* I, `& Z( F# p
r=diff(data)./data(1:end-1,
; % 日收益率
6 J0 A1 Y' h" ~) R: B! T
mr=mean(r); % 平均收益率
& M3 w% T0 G$ J9 F5 R! `
sigma=cov(r); % 资产回报方差
# h) X! H) R1 f( m
9 Y. Q2 Y# x( S; e
# w$ [$ n7 w" E
ExpReturn=mr; % 期望(平均)收益率
/ p- ?# h" I( Z7 [; z- f
ExpCov=sigma; % 资产回报方差
m% x! t% `; B/ F! n
NumPorts=100; % 有限前沿点的个数
$ v3 ^0 d4 {3 f& L4 B$ e) C
PortReturn=[]; % 目标收益率,NumPorts和PortReturn只能选一个,另外一个必须置为[]
# W& s# ?0 G0 \, r( H
bound=inputdlg('投资比例,默认[0 1]','参数输入',1,{'[0 1]'});
5 f4 l! n4 ^9 \
bd=str2num(bound{1});
" ~; z9 w) @/ v& e8 d
AssetBounds=repmat(bd(
,1,4); % 投资边界
% H# L8 d+ }8 [, m2 N5 D
: N+ f* C' K+ ~% b5 e$ ~
1 J4 I4 p8 @9 C. K( b) r) e
[PortRisk, PortReturn, PortWts] = frontcon(ExpReturn,ExpCov, NumPorts, PortReturn, AssetBounds);
# [1 {$ W/ {( G9 N3 C% ? w
data=cell(101,6);
* q) ~4 W. s5 x
data(1,
={'风险','回报','美元','欧元','日元','英镑'};
/ |9 p. _* P! |
data(2:end,
=num2cell([PortRisk, PortReturn, PortWts]);
3 _& C8 h2 P& x7 r
xlswrite(['股票数据-',bound{1},'.xls'],data)
8 q+ v% y7 c- x8 X& I, {
复制代码
" S: \% q' ?6 Z. f3 J
! _! F, q* V( c1 U7 ^1 k" u. A
股票数据.txt
(347 Bytes, 下载次数: 3)
2015-1-12 12:07 上传
点击文件名下载附件
下载积分: 体力 -2 点
g; x& u* S3 N2 q) K
* j; R9 F7 @+ L7 Y( i5 N
作者:
宇仲
时间:
2015-1-13 15:27
有价值的东西,收藏了,顶!.
5 A2 ]* X8 C, L: t0 \0 `* y
作者:
crolfer
时间:
2015-1-19 11:19
谢谢分享,收藏
/ q4 ]0 l- m L. T7 H
作者:
opsops
时间:
2015-2-27 11:42
啦啦啦~~~我是默认签名(*^__^*)
@, a- k5 F X- X; k
作者:
Kuniy_Guo
时间:
2015-4-10 14:06
这么牛!看看怎么用?!
8 K. U1 Z, T! b. L9 m- V& R" W
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5