数量金融学(3):Markowitz均值-方差模型

数量金融学(3):Markowitz均值-方差模型用 Matlab 玩一下 Markowitz 均值 方差模型

大家好,欢迎来到IT知识分享网。

上个世纪50年代(1952年),Markowitz发表一篇论文,标志着证券投资组合理论的正式诞生。

简单来说,Markowitz投资组合模型是根据每种证券的预期收益率、方差及证券之间的协方差矩阵,计算得到投资组合的有效边界。

再根据投资者的效用无差异曲线,确定最佳投资组合。

模型的前提。这是至关重要的。

(1)投资者希望财富越多越好,且被投资效用为财富的增函数,但财富的边际效用是递减的。

(2)投资者事先知道投资报酬率分布为常态分布。

(3)投资者希望投资效用的期望值最大而该期望值是预期报酬率和风险的函数,因此影响投资决策的主要因素是预期报酬率和风险。

(4)投资者对风险是反感的,投资风险以预期报酬率的方差或标准差来表示。

(5)投资者是理性的。他遵循的原则是:在相同的预期报酬率下选择风险小的证券,或者在相同的投资风险下选择预期报酬率最大的证券。

学习:效用(一般而言,效用是指对于消费者通过消费或者享受闲暇等使自己的需求、欲望等得到的满足的一个度量)

学习:边际效用(边际效用指在一定时间内消费者增加一个单位商品或服务所带来的新增效用,即总效用的增量。也就是说,在其他条件不变的情况下,随着消费者对某种物品消费量的增加,他从该物品连续增加的每一消费单位中所得到的满足程度称为边际效用。效用函数的一阶导函数)

学习:无差异曲线(指这样一条曲线,在它上面的每一点,商品的组合是不同的,但是,它表示人们从中得到的效用程度却是相同的。)

经典的Markowitz均值-方差模型为:

数量金融学(3):Markowitz均值-方差模型

假设只有两种证券。

clear; close all; clc %% syms w1 real syms w2 real syms sigma1 real syms sigma2 real syms rho real w = [w1;w2]; cov_mat = [sigma1^2, rho*sigma1*sigma2; rho*sigma1*sigma2,sigma2^2 ]; sigma_2 = w'*cov_mat*w; simplify(sigma_2)

资产组合的方差:
sigma1^2*w1^2 + 2*rho*sigma1*sigma2*w1*w2 + sigma2^2*w2^2

批量指定符号为real类型

syms(‘w1’, ‘w2’, ‘sigma1’, ‘sigma2’, ‘rho’, ‘real’)

其实这个问题。。。哪里需要用matlab的符号运算……

D(aX+bY) = a^2 D(X) + b^2 D(Y) + 2abCov(X,Y)

Cov(X,Y) = rho * std_x * std_y

收益与风险计算函数

一个问题,现在看好3只股票,但现在他们的市场价都不相同。

方案A:等量地买这三只股票。

方案B:等市值地买。

问:方案A和方案B有何差异。

ExpReturn = [0.1 0.2 0.15]; ExpCovariance = [0.0100 -0.0061 0.0042 -0.0061 0.0400 -0.0252 0.0042 -0.0252 0.0225 ]; PortWts=[0.4 0.2 0.4; 0.2 0.4 0.2]; [PortRisk, PortReturn] = portstats(ExpReturn, ExpCovariance,... PortWts) 

ExpReturn

1-by-number of assets (NASSETS) vector specifying the expected (mean) return of each asset.

ExpCovariance

NASSETS-by-NASSETS matrix specifying the covariance of the asset returns.

PortWts

(Optional) Number of portfolios (NPORTS) by NASSETS matrix of weights allocated to each asset. Each row represents a different weighting combination. Default = 1/NASSETS (equally weighted).

[PortRisk, PortReturn] = portstats(ExpReturn, ExpCovariance, PortWts) computes the expected rate of return and risk for a portfolio of assets.

PortRisk is an NPORTS-by-1 vector of the standard deviation of each portfolio.

PortReturn is an NPORTS-by-1 vector of the expected return of each portfolio.

Matlab的doc里面有一段Portfolio Optimization Theory。好像很深奥的样子。



有效前言计算函数

数量金融学(3):Markowitz均值-方差模型



然而Matlab已经将这个函数remove了。。。

Create Portfolio object for mean-variance portfolio optimization.Use the Portfolio function to create a Portfolio object for mean-variance portfolio optimization.

To set up a portfolio optimization problem in a Portfolio object, the simplest syntax is:

p = Portfolio;

代码等我搞懂以后再贴上……

可以添加各种约束条件。

1. lowerbound,lowerbudget……

2. 把资产分组,每个组最多可以配多少……

3. 基金的双10%规则。单一证券不能超过基金资产的10%(防止非系统性风险),投资于某一上市公司的股票不能超过该公司资产的10%(防止操纵市场)。



免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/136173.html

(0)
上一篇 2025-06-29 15:45
下一篇 2025-06-29 16:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信