电竞比分网-中国电竞赛事及体育赛事平台

分享

使用R語(yǔ)言構(gòu)造投資組合的有效前沿 | 統(tǒng)計(jì)之都

 ruiruiruiruichen 2014-01-02

構(gòu)造投資組合是金融投資分析中歷久彌新的問(wèn)題。多年以來(lái),學(xué)界、業(yè)界提出諸多對(duì)投資組合進(jìn)行優(yōu)化的方法。比如,最經(jīng)典的基于收益率均值和收益率波動(dòng)性進(jìn)行組合優(yōu)化,由于馬克維滋提出用收益率方差表示收益率的波動(dòng)性,所以,這種方法又稱為的 M-V 方法,即Mean-Variance 方法的縮寫;后來(lái),又衍生出基于夏普比率(Sharp Ratio)的投資組合優(yōu)化方法;近年來(lái),隨著VaR (Value at Risk) 和 CVaR (Conditional Vaule at Risk) 概念的興起,基于 VaR 和 CVaR 對(duì)投資組合進(jìn)行優(yōu)化的思路也開(kāi)始勃興;除此之外,對(duì)沖基金屆還有一種非常有生命力的投資組合優(yōu)化方法,即橋水公司(Bridge-Water)公司提出的風(fēng)險(xiǎn)均攤方法( Risk Pairy ),這種方法的核心思路在于,估計(jì)組合中各個(gè)資產(chǎn)的風(fēng)險(xiǎn)度及其占組合風(fēng)險(xiǎn)的比率,然后,按照該比例對(duì)組合頭寸進(jìn)行分配。

幾種方法中,在學(xué)界和業(yè)界最收關(guān)注的還是 M-V 方法。而在 M-V 方法中最基本的一個(gè)知識(shí)點(diǎn),就是構(gòu)造投資組合的有效前沿。理論這里不再贅述,簡(jiǎn)單說(shuō)一下其在 R 語(yǔ)言中的實(shí)現(xiàn)。構(gòu)造有效前沿的步驟大致可按照獲取數(shù)據(jù)、將數(shù)據(jù)加工處理為收益率矩陣、以收益率矩陣為輸入計(jì)算得到有效前沿這三個(gè)步驟來(lái)完成。下面分布來(lái)說(shuō)一說(shuō)。

第一步,獲取數(shù)據(jù)。最簡(jiǎn)單的方法是使用 quantmod 中的 getSymbols 函數(shù)。因?yàn)橐龅氖率菢?gòu)建資產(chǎn)組合,因此,得同時(shí)獲取多只股票的交易數(shù)據(jù),這里取 QQQ/SPY/YHOO 三只股票為例。需要運(yùn)行的代碼:

# 載入 quatnmod 包
require(quantmod) 
# 下載 QQQ/SPY/YHOO 交易數(shù)據(jù)
getSymbols(c('QQQ','SPY','YHOO')) 

第二步,將交易數(shù)據(jù)處理為收益率數(shù)據(jù)。這一步可以用 dailyReturn 函數(shù)來(lái)完成。

# 計(jì)算收益率序列
QQQ_ret=dailyReturn(QQQ)  
SPY_ret=dailyReturn(SPY)
YHOO_ret=dailyReturn(YHOO)

第三步,合并收益率序列。

dat=merge(QQQ_ret,SPY_ret,YHOO_ret)

第四步,計(jì)算投資組合的有效前沿。這一步使用 portfolioFrontier 函數(shù)來(lái)完成。由于 portfolioFrontier 函數(shù)的輸入必須是 timeSeries 類,因而,得將數(shù)據(jù)類型進(jìn)行轉(zhuǎn)化。

## 轉(zhuǎn)化為 timeSeries 類
require(timeSeries)
dat=as.timeSeries(dat)  
## 載入 fPortfolio
require(fPortfolio)
## 求frontier 
Frontier = portfolioFrontier(dat)
Frontier

Title:
 MV Portfolio Frontier 
 Estimator:         covEstimator 
 Solver:            solveRquadprog 
 Optimize:          minRisk 
 Constraints:       LongOnly 
 Portfolio Points:  5 of 50 

Portfolio Weights:
   daily.returns daily.returns.1 daily.returns.2
1         0.0000          1.0000          0.0000
13        0.2409          0.7541          0.0050
25        0.4853          0.5090          0.0057
37        0.7296          0.2640          0.0065
50        1.0000          0.0000          0.0000

Covariance Risk Budgets:
   daily.returns daily.returns.1 daily.returns.2
1         0.0000          1.0000          0.0000
13        0.2355          0.7596          0.0049
25        0.4877          0.5065          0.0058
37        0.7390          0.2545          0.0065
50        1.0000          0.0000          0.0000

Target Return and Risks:
     mean     mu    Cov  Sigma   CVaR    VaR
1  0.0002 0.0002 0.0151 0.0151 0.0368 0.0233
13 0.0003 0.0003 0.0149 0.0149 0.0361 0.0230
25 0.0003 0.0003 0.0148 0.0148 0.0358 0.0234
37 0.0004 0.0004 0.0149 0.0149 0.0356 0.0241
50 0.0005 0.0005 0.0152 0.0152 0.0357 0.0249

Description:
 Fri Aug 09 11:21:31 2013 by user: Owner 

上面結(jié)果中 title 部分表明的是本次操作過(guò)程中使用的相關(guān)方法。Portfolio Weights 部分返回的是三只股票在投資組合中的頭寸比例,每一行的和都是 1 。對(duì)于第二行,它表示的是在投資組合中將總頭寸以 24.09% 、 75.41% 、 0.50% 的比例分散到三只股票標(biāo)的上。Covariance Risk Budgets 表示的是協(xié)方差風(fēng)險(xiǎn)預(yù)算矩陣。Target Return and Risks 表示目標(biāo)組合的預(yù)期收益率和風(fēng)險(xiǎn)數(shù)據(jù)。

調(diào)用 plot 函數(shù)可以對(duì)上述結(jié)果進(jìn)行繪圖,調(diào)用 plot 之后,R 控制臺(tái)會(huì)返回一組繪圖選項(xiàng)卡:

plot(Frontier)

Make a plot selection (or 0 to exit): 

1:   Plot Efficient Frontier
2:   Add Minimum Risk Portfolio
3:   Add Tangency Portfolio
4:   Add Risk/Return of Single Assets
5:   Add Equal Weights Portfolio
6:   Add Two Asset Frontiers [LongOnly Only]
7:   Add Monte Carlo Portfolios
8:   Add Sharpe Ratio [Markowitz PF Only]

各選項(xiàng)卡對(duì)應(yīng)的繪圖類型依次是:有效前沿、最小風(fēng)險(xiǎn)組合、切線組合、單個(gè)資產(chǎn)的風(fēng)險(xiǎn)/收益、等權(quán)重投資組合、兩資產(chǎn)投資組合的有效前沿(禁止賣空)、模特卡羅模擬得到的投資組合、夏普比率。依次,選擇可以看到相應(yīng)的繪圖結(jié)果:

Selection: 1

Make a plot selection (or 0 to exit): 

1:   Plot Efficient Frontier
2:   Add Minimum Risk Portfolio
3:   Add Tangency Portfolio
4:   Add Risk/Return of Single Assets
5:   Add Equal Weights Portfolio
6:   Add Two Asset Frontiers [LongOnly Only]
7:   Add Monte Carlo Portfolios
8:   Add Sharpe Ratio [Markowitz PF Only]

pic1

Selection: 2

Make a plot selection (or 0 to exit): 

1:   Plot Efficient Frontier
2:   Add Minimum Risk Portfolio
3:   Add Tangency Portfolio
4:   Add Risk/Return of Single Assets
5:   Add Equal Weights Portfolio
6:   Add Two Asset Frontiers [LongOnly Only]
7:   Add Monte Carlo Portfolios
8:   Add Sharpe Ratio [Markowitz PF Only]

pic2

Selection: 3

Make a plot selection (or 0 to exit): 

1:   Plot Efficient Frontier
2:   Add Minimum Risk Portfolio
3:   Add Tangency Portfolio
4:   Add Risk/Return of Single Assets
5:   Add Equal Weights Portfolio
6:   Add Two Asset Frontiers [LongOnly Only]
7:   Add Monte Carlo Portfolios
8:   Add Sharpe Ratio [Markowitz PF Only]

pic3

Selection: 4

Make a plot selection (or 0 to exit): 

1:   Plot Efficient Frontier
2:   Add Minimum Risk Portfolio
3:   Add Tangency Portfolio
4:   Add Risk/Return of Single Assets
5:   Add Equal Weights Portfolio
6:   Add Two Asset Frontiers [LongOnly Only]
7:   Add Monte Carlo Portfolios
8:   Add Sharpe Ratio [Markowitz PF Only]

pic4

Selection: 5

Make a plot selection (or 0 to exit): 

1:   Plot Efficient Frontier
2:   Add Minimum Risk Portfolio
3:   Add Tangency Portfolio
4:   Add Risk/Return of Single Assets
5:   Add Equal Weights Portfolio
6:   Add Two Asset Frontiers [LongOnly Only]
7:   Add Monte Carlo Portfolios
8:   Add Sharpe Ratio [Markowitz PF Only]

pic5

Selection: 6

Make a plot selection (or 0 to exit): 

1:   Plot Efficient Frontier
2:   Add Minimum Risk Portfolio
3:   Add Tangency Portfolio
4:   Add Risk/Return of Single Assets
5:   Add Equal Weights Portfolio
6:   Add Two Asset Frontiers [LongOnly Only]
7:   Add Monte Carlo Portfolios
8:   Add Sharpe Ratio [Markowitz PF Only]

pic6

Selection: 7

Make a plot selection (or 0 to exit): 

1:   Plot Efficient Frontier
2:   Add Minimum Risk Portfolio
3:   Add Tangency Portfolio
4:   Add Risk/Return of Single Assets
5:   Add Equal Weights Portfolio
6:   Add Two Asset Frontiers [LongOnly Only]
7:   Add Monte Carlo Portfolios
8:   Add Sharpe Ratio [Markowitz PF Only]

pic7

Selection: 8

Make a plot selection (or 0 to exit): 

1:   Plot Efficient Frontier
2:   Add Minimum Risk Portfolio
3:   Add Tangency Portfolio
4:   Add Risk/Return of Single Assets
5:   Add Equal Weights Portfolio
6:   Add Two Asset Frontiers [LongOnly Only]
7:   Add Monte Carlo Portfolios
8:   Add Sharpe Ratio [Markowitz PF Only]

pic8

注:本文轉(zhuǎn)載自鄧一碩博客,原文請(qǐng)點(diǎn)擊此處。轉(zhuǎn)載請(qǐng)注明出處。

關(guān)于作者:鄧一碩,畢業(yè)于中央財(cái)經(jīng)大學(xué),感興趣領(lǐng)域是數(shù)據(jù)挖掘技術(shù)(R語(yǔ)言)在金融投資分析和計(jì)量經(jīng)濟(jì)學(xué)中的應(yīng)用。

博客:http://

微博:http://weibo.com/dengyishuo

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多