標籤:

在MATLAB下實現股票組合的有效前沿的計算

在MATLAB下實現股票組合的有效前沿的計算

10 人贊了文章在資產組合中,核心思想是分散投資配置,防範個別風險,從而實現不把所有雞蛋都放在一個籃子里。由此產生了很多種組合,也引出了如何計算最有配置的問題。按照馬科維茨的理論,資產配置就是將資產在不同投資品之間進行分配,以求達到方差和期望收益的最佳組合。而是否最優並不是由客觀決定的,取決於投資者對於風險的偏好以及資產的有效配置等問題。

資產配置的有效性是建立在資產配置位於投資組合的有效前沿上,有效前沿為當投資者處於相同的風險水平,他們會選擇能提供最大收益率的組合;對於相同的預期收益率,他們會選擇風險最小的組合。能同時滿足這兩個條件的投資組合就是有效集(efficient set, 又稱有效邊界、有效前沿efficient frontier在此前提下才能實現資產組合的最優。

資產有效前沿是建立在均值-方差基礎上的投資組合理論,尋求的是在等方差的情況下收益的最大化,或者收益相同的情況下,方差的最小化。(可以將此處的方差理解為風險)由於本篇面向的是剛剛入門的零基礎學者,所以裡面涉及到的數學語言就不再贅述,簡單來說就是追求同等收益下,風險最小的資產組合;在同等風險下,收益率最高的資產。

在MATLAB中,計算資產組合有效前沿的函數為frontcon,語法為:

其中輸入變數的解釋為:

ExpReturn

資產組合中每項資產的期望回報

ExpCovariance

單項資產的協方差矩陣

NumPorts

資產有效前沿的點的個數(可自定義)

PortReturn

資產有效前沿上的資產組合的回報(可選)

AssetBounds

單項資產的權重約束(資產的投資百分比)

Groups

分組條件

GroupBounds

組約束條件

varargin

自選參數

對於輸出變數

PortRisk

資產組合的標準差

PortReturn

資產組合收益

PortWts

資產組合的權重

NumPorts是指在我們計算出的結果中有多少的個樣本其直接決定了輸出參數的維度。

PortReturn、AssetBounds、Groups、GroupBounds、varargin等在投資組合中會用到,本文章討論對於股票組合的有效前沿的計算,所以就不做詳細介紹。

我們以隨機給定五支股票的收益率,來利用MATLAB計算其有效前沿。

資產

A

B

C

D

E

收益率

0.40533

0.49012

0.507552

0.620121

0.438577

並計算其協方差矩陣

協方差

A

B

C

D

E

A

0.000603

0.000565

0.000644

0.000589

0.000512

B

0.000565

0.000596

0.000656

0.000612

0.000537

C

0.000644

0.000656

0.000839

0.00071

0.000648

D

0.000589

0.000612

0.00071

0.000716

0.000643

E

0.000512

0.000537

0.000648

0.000643

0.000712

然後在MATLAB中輸入上述數據

下為源代碼

ExpReturn =[0.40533 0.49012 0.507552 0.620121 0.438577];

ExpCovariance=[0.000603 0.000565 0.000644 0.000589 0.000512

0.000565 0.000596 0.000656 0.000612 0.000537

0.000644 0.000656 0.000839 0.00071 0.000648

0.000589 0.000612 0.00071 0.000716 0.000643

0.000512 0.000537 0.000648 0.000643 0.000712];

NumPorts=50;

[PortRisk,PortReturn,PortWts] = frontcon(ExpReturn,ExpCovariance,NumPorts);

plot(PortRisk,PortReturn,r+-);

畫出所求有效前沿圖


推薦閱讀:

山田的金融日記(2)-兩種推導BS-equation的方式
用金融工程治療癌症
利用馬科維茨投資組合理論構建自己的投資組合
Excel VBA 期權定價
金融工程/金融數學項目分析

TAG:金融工程學 |