
R語言解讀資本資產(chǎn)定價(jià)模型CAPM
伴隨2016年中國金融交易市場的跌宕起伏,風(fēng)險(xiǎn)越來越不確定,利率持續(xù)走低,理財(cái)?shù)葻o風(fēng)險(xiǎn)資產(chǎn)收益持續(xù)下降的情況,唯有投資組合才能讓我們的資產(chǎn)保值、增值。根據(jù)資本資產(chǎn)定價(jià)模型(CAPM),通過對金融數(shù)據(jù)的分析,構(gòu)建投資組合,幫助我們在有效的市場中控制風(fēng)險(xiǎn)、穩(wěn)定收益。
本文將深入淺出地介紹資本資產(chǎn)定價(jià)模型,從理論到建模,再到程序現(xiàn)實(shí)。資本資產(chǎn)定價(jià)模型反應(yīng)的是資產(chǎn)的風(fēng)險(xiǎn)與期望收益之間的關(guān)系,風(fēng)險(xiǎn)越高,收益越高。當(dāng)風(fēng)險(xiǎn)一樣時(shí),投資者會選擇預(yù)期收益最高的資產(chǎn);而預(yù)期收益一樣時(shí),投資者會選擇風(fēng)險(xiǎn)最低的資產(chǎn)。
由于本文為非金融教材類文章,所以當(dāng)出現(xiàn)與教課書不符的描述,請以教課書為準(zhǔn)。本文力求用簡化的語言,來介紹自資本資產(chǎn)定價(jià)模型的知識,同時(shí)配合R語言的實(shí)現(xiàn)。
目錄
故事背景
資本市場線
資本資產(chǎn)定價(jià)模型
用R構(gòu)建投資組合模型
Beta VS Alpha
1. 故事背景
1952年,馬科維茨(Markowitz)提出了投資組合選擇理論,他認(rèn)為最佳投資組合應(yīng)當(dāng)是,風(fēng)險(xiǎn)厭惡特征的投資者的無差異曲線和資產(chǎn)的有效邊界線的交點(diǎn)。投資者在選擇資產(chǎn)時(shí)會在收益和風(fēng)險(xiǎn)之間做出平衡:當(dāng)風(fēng)險(xiǎn)一樣時(shí),會選擇預(yù)期收益最高的資產(chǎn);而預(yù)期收益一樣時(shí),會選擇風(fēng)險(xiǎn)最低的資產(chǎn)。
圖1 投資組合選擇示意圖
到1964年,威廉-夏普(William Sharp),約翰-林特納(John Lintner)與簡-莫森(Jan Mossin)則在馬科維茨基礎(chǔ)上提出的單指數(shù)模型,將市場組合引入均值-方差模型,極大地簡化了計(jì)算,他們認(rèn)為獲得了市場任意資組合的收益與某個共同因素之間是有線性關(guān)系,最終將其發(fā)展為資本資產(chǎn)定價(jià)模型(Capital Asset Pricing Model, CAPM)。從馬科維茨的投資組合選擇理論,發(fā)展到資本資產(chǎn)定價(jià)模型經(jīng)歷了一個漫長的過程。
簡單一句話概括,資本資產(chǎn)定價(jià)模型的核心思想,資產(chǎn)價(jià)格取決于其獲得的風(fēng)險(xiǎn)價(jià)格補(bǔ)償。
假設(shè)條件
資本資產(chǎn)定價(jià)模型,是基于一系列假設(shè)條件而成立的。但這些條件,可能并不符合現(xiàn)實(shí)的標(biāo)準(zhǔn),資本資產(chǎn)定價(jià)模型也一度遭到質(zhì)疑。
資產(chǎn)可以無限分割。
不存在交易成本和個人所得稅。
可以無限賣空。
存在一種無風(fēng)險(xiǎn)利率,投資者在此利率水平下,可以無限制地貸出和借入任意數(shù)額的資金。
投資者是價(jià)格接受者,市場是完全競爭的。
投資者是理智的,通過比較資產(chǎn)的期望收益和方差來作出投資決策,在相同預(yù)期收益下會選擇風(fēng)險(xiǎn)最小的資產(chǎn)。
投資者在相同的投資期限出作出決策,而市場信息是公開免費(fèi)的,并可以及時(shí)獲得。
投資者對市場中的經(jīng)濟(jì)變量有相同的預(yù)期,他們對任意資產(chǎn)的預(yù)期收益率、市場風(fēng)險(xiǎn)的看法是一致的。
資本資產(chǎn)定價(jià)模型的核心假設(shè)是認(rèn)為市場滿足完全、無摩擦和信息完會對稱的條件,市場中的投資人都是Markowitz理論中的理性經(jīng)濟(jì)人。
2. 資本市場線
由于涉及到金融專業(yè)領(lǐng)域,有幾個概念是我們應(yīng)該提前知道的。
風(fēng)險(xiǎn)資產(chǎn):風(fēng)險(xiǎn)資產(chǎn)是指具有未來收益能力的資產(chǎn),但收益率不確定且可能招致?lián)p失,比如股票、債券等。
無風(fēng)險(xiǎn)資產(chǎn):沒有任何風(fēng)險(xiǎn)或者風(fēng)險(xiǎn)非常小的資產(chǎn),有確定的收益率,并且不存在違約的風(fēng)險(xiǎn)。
收益率:指從投資開始到投資結(jié)束時(shí),所獲得的投資回報(bào)率。
無風(fēng)險(xiǎn)收益率:無風(fēng)險(xiǎn)資產(chǎn),所產(chǎn)生的投資回報(bào)率。
投資組合:由投資人或金融機(jī)構(gòu)所持有的股票、債券、基金、衍生金融產(chǎn)品等組成的集合,目的在于分散風(fēng)險(xiǎn)。
杠桿交易:就是利用小資金來進(jìn)行數(shù)倍于原始金額的投資,以期望獲取相對投資標(biāo)的物波動的數(shù)倍收益率的盈利或虧損
2.1 風(fēng)險(xiǎn)資產(chǎn)
對于風(fēng)險(xiǎn)資產(chǎn)來說,我們可以用預(yù)期收益和風(fēng)險(xiǎn),通過二維的坐標(biāo)來進(jìn)行描述。
對上圖的解釋:
X軸,為風(fēng)險(xiǎn)
y軸,為收益率
灰色區(qū)域,為金融資產(chǎn)可投資區(qū)域
黑色線,為有效投資邊界
A和B點(diǎn),為2個風(fēng)險(xiǎn)資產(chǎn)
A和B有相同的x值,表示具有相同的風(fēng)險(xiǎn)。B點(diǎn)在A點(diǎn)上面,表示B的收益率高于A。對于理性的投資者來說,如果只在A點(diǎn)和B點(diǎn)之間做投資選擇,那么大家都會投資到B點(diǎn),而不投資于A點(diǎn)。
2.2 無風(fēng)險(xiǎn)資產(chǎn)
在下圖中,我們加入無風(fēng)險(xiǎn)資產(chǎn),來比較無風(fēng)險(xiǎn)資產(chǎn)和風(fēng)險(xiǎn)資產(chǎn)的關(guān)系。
對上圖的解釋:
B點(diǎn),為1個風(fēng)險(xiǎn)資產(chǎn),在有效投資邊界上
C點(diǎn),為無風(fēng)險(xiǎn)資產(chǎn),在y軸上
X軸,為風(fēng)險(xiǎn)
y軸,為收益率
灰色區(qū)域,金融資產(chǎn)為可投資區(qū)域
黑色線,為有效投資邊界
C點(diǎn)為無風(fēng)險(xiǎn)資產(chǎn),他的位置在圖示的y軸上,這時(shí)x為0,即風(fēng)險(xiǎn)為0。我們可以把投資,分配到C點(diǎn)或B點(diǎn)上。如果都投到C點(diǎn),那么我們將獲得的是R0部分的無風(fēng)險(xiǎn)收益;如果都投到B點(diǎn),那么我們需要承擔(dān)σB的風(fēng)險(xiǎn),同時(shí)獲得RB的風(fēng)險(xiǎn)收益。如果我們把資金,一部分投資到B點(diǎn)對應(yīng)的風(fēng)險(xiǎn)資產(chǎn)上,另一部分投資到C點(diǎn)對應(yīng)的無風(fēng)險(xiǎn)資產(chǎn)上,那么將構(gòu)成一個由B和C資產(chǎn)組成的投資組合,而且風(fēng)險(xiǎn)和收益部分,將體現(xiàn)在B和C的連線上。
2.3 最優(yōu)組合
那么,有沒有最優(yōu)的投資組合呢?收益最大、風(fēng)險(xiǎn)最小。下面就讓我們來,發(fā)現(xiàn)這個最優(yōu)的組合M。
對上圖的解釋:
M點(diǎn),為最優(yōu)組合的風(fēng)險(xiǎn)資產(chǎn)
B點(diǎn),為1個風(fēng)險(xiǎn)資產(chǎn),在有效投資邊界上
C點(diǎn),為無風(fēng)險(xiǎn)資產(chǎn),在y軸上
X軸,為風(fēng)險(xiǎn)
y軸,為收益率
灰色區(qū)域,金融資產(chǎn)為可投資區(qū)域
黑色線,為有效投資邊界
假設(shè)有最優(yōu)的組合,在上圖中M點(diǎn)處,當(dāng)我們把C和M進(jìn)行連線,使得CM的連線與灰色區(qū)域相切。從圖上看,CM的連線會比任意的C與可投資區(qū)域點(diǎn)的連線斜率都要大,比如C和B的連線。我們?nèi)B的連線的延長線,在CB的延長線上找到,與M具有相同x的點(diǎn)B’,這時(shí)M與B’風(fēng)險(xiǎn)相同,M點(diǎn)在B’點(diǎn)的上面,所以M點(diǎn)的收益率大。也就是說,當(dāng)風(fēng)險(xiǎn)相同的時(shí)候,我們都會選擇收益率最大的資產(chǎn)。
不論從可投資區(qū)域中怎么選取,M點(diǎn)都是斜率最大的點(diǎn),那么我們可以認(rèn)為,M點(diǎn)為市場上各資產(chǎn)的最優(yōu)的投資組合.
對于最優(yōu)的投資組合,其實(shí)不管投資者的收益風(fēng)險(xiǎn)的偏好是什么樣子的,只要找到了最優(yōu)的風(fēng)險(xiǎn)資產(chǎn)組合,再加上無風(fēng)險(xiǎn)的資產(chǎn),就可以為投資者獲得最佳的投資方案了。那么對于理性的投資者,如果發(fā)現(xiàn)了最優(yōu)的組合,他們只會投資于這個組合,這時(shí)與收益和風(fēng)險(xiǎn)偏好無關(guān)。
M點(diǎn)構(gòu)建的投資組合,一般是由所有可投資證券產(chǎn)品組成的,每種證券資產(chǎn)構(gòu)成的比例,為證券的相對市值。無風(fēng)險(xiǎn)資產(chǎn)C,并沒有包括在M中,人們都會選擇CM的連接線進(jìn)行投資,來構(gòu)建最優(yōu)的投資組合。
在實(shí)際的市場交易中,金融資產(chǎn)的價(jià)格會發(fā)生偏離,因?yàn)閮r(jià)格受市場的供需關(guān)系所影響,當(dāng)價(jià)格發(fā)生偏離后,市場會自動修復(fù)會回均衡價(jià)格水平。
2.4 資本市場線
對于CM的連線,就是馬科維茨提出了投資組合選擇理論,風(fēng)險(xiǎn)厭惡特征的投資者的無差異曲線和資產(chǎn)的有效邊界線的交點(diǎn)。這條線就叫,資本市場線(Capital Market Line)。
資本市場線是指表明有效組合的期望收益率和標(biāo)準(zhǔn)差之間的一種簡單的線性關(guān)系。
資本市場線決定了證券的價(jià)格。因?yàn)橘Y本市場線是證券有效組合條件下的風(fēng)險(xiǎn)與收益的均衡,如果脫離了這一均衡,則就會在資本市場線之外,形成另一種風(fēng)險(xiǎn)與收益的對應(yīng)關(guān)系。
2.5 投資組合構(gòu)建
資本市場線,就是我們最優(yōu)的投資組合,當(dāng)我們發(fā)現(xiàn)這個投資組合,所有資金都會投到這個組合上。通過對無風(fēng)險(xiǎn)資產(chǎn)C和風(fēng)險(xiǎn)資產(chǎn)M分配不同的投資權(quán)重,我們可以自己配置出自己想要的風(fēng)險(xiǎn)和收益來,同時(shí)可以利用金融工具來加杠桿放大風(fēng)險(xiǎn)和收益的范圍。
如果我們把投資者分成,風(fēng)險(xiǎn)厭惡型和風(fēng)險(xiǎn)激進(jìn)型。
對于風(fēng)險(xiǎn)厭惡型,他們對于資金安全有非常高的要求,不追求高收益但求本金安全,這些資金通常都是用來生活的。那么在為這些資金做資產(chǎn)配置方案的時(shí)候,可以把一部分資金配置無風(fēng)險(xiǎn)資產(chǎn)上,同時(shí)少量資金配置到M點(diǎn)的最優(yōu)組合上,保證低風(fēng)險(xiǎn)并獲得少量收益。
如圖中CM1點(diǎn),如果配置50%的風(fēng)險(xiǎn)資產(chǎn)M和50%的無風(fēng)險(xiǎn)資產(chǎn)C,來實(shí)現(xiàn)投資組合。公式如下:
CM1 = 0.5C + 0.5M
對于風(fēng)險(xiǎn)激進(jìn)型,他們對于資金有非常高的收益要求,本金可以部分或全部損失,這些資金通常都是“閑錢”,就是用來進(jìn)行投資活動的。那么在為這些資金做資配置方案時(shí),可以全部都投到M上,再激進(jìn)點(diǎn),可以通過借錢、融資的方式,增加杠桿,把資金放大進(jìn)行投資。這種操作風(fēng)險(xiǎn)會隨著杠桿的放大劇增,當(dāng)然同時(shí)你也會有更大的收益。
如圖中CM2點(diǎn),落在了CM的延長線上。我們可以配置150%的風(fēng)險(xiǎn)資產(chǎn)M,同時(shí)用50%的錢去抵押以無風(fēng)險(xiǎn)資產(chǎn)C的收益率去借錢。公式如下:
CM2 = -0.5C + 1.5M
2.6 風(fēng)險(xiǎn)和收益的關(guān)系
上面我們描述風(fēng)險(xiǎn)和收益的關(guān)系,主要是從思路上定性介紹,沒有進(jìn)行定量描述,那么究竟風(fēng)險(xiǎn)和收益從數(shù)學(xué)上怎么進(jìn)行定義呢。
對上圖的解釋:
M點(diǎn),為最優(yōu)組合的風(fēng)險(xiǎn)資產(chǎn)
C點(diǎn),為無風(fēng)險(xiǎn)資產(chǎn),在y軸上
r0,為無風(fēng)險(xiǎn)資產(chǎn)的收益率
rM,為M點(diǎn)的收益率
x軸,σp為風(fēng)險(xiǎn)資產(chǎn)的收益率的方差
y軸,rp為收益率
根據(jù)威廉-夏普所引入的均值-方差模型,極大地簡化了計(jì)算,就是解決了公式計(jì)算的問題。用方差來刻畫風(fēng)險(xiǎn),建立收益和風(fēng)險(xiǎn)的一元線性關(guān)系??梢杂孟旅婀絹肀硎荆?
公式
E(rm) – r0 = A * σM^2
公式解釋:
E(rm):市場投資組合的預(yù)期收益率
r0:無風(fēng)險(xiǎn)收益率
E(rm)–r0, 市場投資組合的風(fēng)險(xiǎn)溢價(jià)
σM^2: 市場投資組合方差Var(rM)
A:風(fēng)險(xiǎn)厭惡水平
有了公式,我們就明確的知道了,風(fēng)險(xiǎn)和收益的定量關(guān)系,并且可以利用數(shù)據(jù)來進(jìn)行計(jì)算。
3. 資本資產(chǎn)定價(jià)模型
對于市場的投資組合,風(fēng)險(xiǎn)溢價(jià)和市場投資組合的方差成線性關(guān)系。但對于單個資產(chǎn)來說,收益和風(fēng)險(xiǎn)是市場投資組合組成的一分部,受市場共同變化的影響。
3.1 單個資產(chǎn)風(fēng)險(xiǎn)溢價(jià)
對于單個資產(chǎn)的風(fēng)險(xiǎn)來說,在資本資產(chǎn)定價(jià)模型中,用β來進(jìn)行表示。β是衡量單個金融資產(chǎn)與市場收益的共同變化程度,通過協(xié)方差來計(jì)算。單個資產(chǎn)的風(fēng)險(xiǎn)為,當(dāng)前資產(chǎn)與投資組合收益率的協(xié)議差,除以投資組合收益率的方差。
單個資產(chǎn)的風(fēng)險(xiǎn)的計(jì)算公式:
βi = Cov(ri, rm) / Var(rm)
= Cov(ri, rm) / σm^2
單個資產(chǎn)的風(fēng)險(xiǎn)溢價(jià)的計(jì)算公式:
E(ri) – rf = (Cov(ri, rm) / σm^2)*[E(rm) – rf]
= βi * [E(rm) – rf]
對公式的解釋:
E(ri),為風(fēng)險(xiǎn)資產(chǎn)i的預(yù)期收益
E(rm),為市場投資組合的預(yù)期收益
rf,為無風(fēng)險(xiǎn)資產(chǎn)收益
Cov(ri, rm),為風(fēng)險(xiǎn)資產(chǎn)收益率和市場投資組合收益率的協(xié)議差
Var(rm),為市場投資組合的收益率的方差
從公式可以看出,單個資產(chǎn)的風(fēng)險(xiǎn)溢價(jià)與市場投資組合M的風(fēng)險(xiǎn)溢價(jià)成正比,受β影響。
3.2 資本資產(chǎn)定價(jià)模型
資本資產(chǎn)定價(jià)模型,是現(xiàn)化金融學(xué)中的基石理論。在上述假設(shè)條件下,可以推到出資本資產(chǎn)定價(jià)模型的具體公式。整個和推到過程,就是上面文章介紹的過程,從后人學(xué)習(xí)的角度看,這個理論比較簡單的,僅用到了簡單地統(tǒng)計(jì)學(xué)知識,但是前人卻花了很長的時(shí)間研究和探索。
判斷單個資產(chǎn)的風(fēng)險(xiǎn)時(shí),當(dāng)β=1時(shí),則說明當(dāng)前資產(chǎn)與整個市場的趨勢是完全保持一致的;當(dāng)β為2時(shí),代表高風(fēng)險(xiǎn),其回報(bào)的變化將大于市場大盤的變化幅度;當(dāng)β為0.5時(shí),代表是低風(fēng)險(xiǎn)的資產(chǎn)配置。
3.3 2種風(fēng)險(xiǎn)
在資本資產(chǎn)定價(jià)模型,定義了2種風(fēng)險(xiǎn),即系統(tǒng)性風(fēng)險(xiǎn)和非系統(tǒng)性風(fēng)險(xiǎn)。
系統(tǒng)性風(fēng)險(xiǎn),就是由外部因素引起的風(fēng)險(xiǎn),比如:通貨膨脹,GDP,重大政治事件等等。這一類事件對于資產(chǎn)收益率的影響不能通過組合本身來消除的,所以這一類風(fēng)險(xiǎn)對于投資者來說是無法回避的。
非系統(tǒng)性風(fēng)險(xiǎn),就是組合內(nèi)部結(jié)構(gòu)引起的風(fēng)險(xiǎn),比如:A股與B股高度相關(guān),A股的收益率出現(xiàn)大幅波動的時(shí)候,B股也會出現(xiàn)相似幅度的波動,波峰疊加或波谷疊加,就會增加整個組合的風(fēng)險(xiǎn);反之,如果A與B為負(fù)相關(guān),則A與B的波動就會相互抵消。這樣,風(fēng)險(xiǎn)是由組合里的資產(chǎn)類型決定的,所以通過多樣化分散的投資策略,無論在理論還是實(shí)際上,這種風(fēng)險(xiǎn)都是可以最小化甚至消除的。而這個消除的過程中,整個投資組合的收益率是不會下降的。
3.4 2種收益
與風(fēng)險(xiǎn)相對應(yīng)是收益,我們承受了2種風(fēng)險(xiǎn)的同時(shí),也獲得了風(fēng)險(xiǎn)所帶來的收益。一部分是與市場完全相關(guān)收益部分,即beta(β)收益;另一部分與市場不相關(guān)的收益部分,即alpha(α)收益。
beta收益,相對容易獲得,例如,你看好一個市場,可以持有成本低廉的對應(yīng)市場的指數(shù)基金,等待市場上漲。
alpha收益,比較難獲得,alpha是體現(xiàn)投資水平的策略收益。
alpha是,投資組合的實(shí)際期望收益與預(yù)期收益之間的差。計(jì)算alpha的公式為:
E(ri) – rf = αi + βi * [E(rm) – rf]
αi = [E(ri) – rf] - βi * [E(rm) – rf]
alpha是衡量投資人投資水平的,我們舉個例來說明。比如:市場收益率為14%,A證券的β=1.2,短期國債利率6%,投資者對這只股票的進(jìn)行了交易,獲得的實(shí)際收益為17%,那么我們怎么判斷投資人的水平呢?
首先,先求出A證券的預(yù)期收益率 = 6% + 1.2*(14-6)% = 15.6%,再用投資者實(shí)際收益減去A證券預(yù)期收益 17% – 15.6% = 1.4%。最后獲得的1.4%就是alpha,表示投資者能力,可以額外獲得1.4%的收益。
3.5 資本資產(chǎn)定價(jià)模型的應(yīng)用場景
進(jìn)行組合投資分散風(fēng)險(xiǎn):投資者可以按市場組合的構(gòu)成比例分散持有多種風(fēng)險(xiǎn)資產(chǎn),使持有的風(fēng)險(xiǎn)資產(chǎn)組合最大限度地接近市場組合,以達(dá)到消除非系統(tǒng)風(fēng)險(xiǎn)的目的。
調(diào)整收益風(fēng)險(xiǎn)比例:將無風(fēng)險(xiǎn)資產(chǎn)與風(fēng)險(xiǎn)資產(chǎn)市場組合進(jìn)行再組合,以獲得所希望的個性化的風(fēng)險(xiǎn)收益組合。
指數(shù)化投資:將資產(chǎn)配置在與某一指數(shù)相同的權(quán)重的投資方法,通過微調(diào)權(quán)重或成分,獲得比指數(shù)更好的alpha。
資產(chǎn)定價(jià):資本資產(chǎn)定價(jià)模型可以用來判斷有價(jià)證券或其他金融資產(chǎn)的市場價(jià)格是否處于均衡水平,是否被高估或低估,以便通過套利活動獲取超額收益。
基金購買:舉一個貼近市場的例子,當(dāng)我們要購買基金時(shí),也可以用到資本資產(chǎn)定價(jià)模型幫我們分析。比如,基金A的期望收益率12%,風(fēng)險(xiǎn)β=1,基金B(yǎng)期望收益率13%,β=1.5。市場期望收益率11%,無風(fēng)險(xiǎn)資產(chǎn)收益率r0 = 5%。 那么哪只基金更值得買?
當(dāng)你每天打開支付寶,看到里面的各種基金推薦。你就會發(fā)現(xiàn)這是一個實(shí)際的問題。如果你懂學(xué)了本文,按照資本資產(chǎn)定價(jià)模型的思路,其實(shí)就是求alpha,哪個基金的alpha高,就買哪個。
求alpha,我們就直接套用公式。
αA = 12 – 5 – 1 * [11 - 5] = 1%
αB = 13 – 5 – 1.5* [11 -5 ] = -1%
基金A的alpha為1%,而基金B(yǎng)的alpha為-1%。結(jié)論就很明顯,基金A的管理人能力很好,超額收益1%;而基金B(yǎng)的管理人,就差一些,盈利低于市場1%。所以,我們會投資基金A,而不會投資基金B(yǎng)。
4. 用R構(gòu)建投資組合模型
花了大量的篇幅介紹了資本資產(chǎn)定價(jià)模型的原理,對于程序?qū)崿F(xiàn)其實(shí)是相當(dāng)簡單地。因?yàn)?a href='/map/r/' style='color:#000;font-size:inherit;'>R語言中,已經(jīng)把資本資產(chǎn)定價(jià)模型相關(guān)的計(jì)算函數(shù)都封包好了,我們僅僅是調(diào)用就能完成整個的計(jì)算過程。
R語言程序?qū)崿F(xiàn),我們主要會用到2個包,quantmod和PerformanceAnalytics。對于為什么要用R語言,可以參考文章R語言為量化而生
quantmod,用于下載數(shù)據(jù)。
PerformanceAnalytics,用于進(jìn)行各種評價(jià)指標(biāo)計(jì)算。
我們設(shè)計(jì)一個應(yīng)用場景,假如我有10萬美金想投資于美國的股市,我想獲得比標(biāo)普好(SP500)的投資收益,那么我應(yīng)該如何購買股票。
首先,我們先想清楚,我的最終的目標(biāo)是“比標(biāo)普好的投資收益”。其次,我們基于資本資產(chǎn)定價(jià)模型理論基礎(chǔ),從投資組合角度思考投資策略,而不是技術(shù)指標(biāo)的角度。比標(biāo)普好,那么我們就需要以標(biāo)普指數(shù)做為理想投資組合。然后,我們?nèi)ナ袌錾线x擇幾個股票,分別計(jì)算出收益率,beta,alpha等指標(biāo),判斷是否符合的預(yù)期,反復(fù)測試,直到找到合適的股票或股票組合。
本文只是案例介紹,用于說明投資思路和方法,不購成任何的股票推薦。
本文的系統(tǒng)環(huán)境
Win10 64bit
R version 3.2.3 (2015-12-10)
從yahoo下載IBM,GE(通用電器),YHOO(Yahoo)的3只股票,從2010年01月01日的日行情數(shù)據(jù),同時(shí)下載標(biāo)普指數(shù)(SP500)的日行情數(shù)據(jù)。
下面代碼并不完整,但思路已經(jīng)給出,請大家不要太隨意地張嘴要數(shù)據(jù)和代碼,畢竟寫一篇文章非常辛苦。如果你想直接用我的代碼,請掃文章下面二維碼,請作者喝杯咖啡吧。 :_D
執(zhí)行R語言程序。
# 加載程序包
> library(quantmod)
> library(PerformanceAnalytics)
# 從yahoo下載3只股票的數(shù)據(jù),和SP500的數(shù)據(jù)
> getSymbols(c('IBM','GE','YHOO','^GSPC'), from = '2010-01-01')
# 打印前6行和后6行數(shù)據(jù)
> head(GSPC)
open high low close volume adjusted
2010-01-04 1116.56 1133.87 1116.56 1132.99 3991400000 1132.99
2010-01-05 1132.66 1136.63 1129.66 1136.52 2491020000 1136.52
2010-01-06 1135.71 1139.19 1133.95 1137.14 4972660000 1137.14
2010-01-07 1136.27 1142.46 1131.32 1141.69 5270680000 1141.69
2010-01-08 1140.52 1145.39 1136.22 1144.98 4389590000 1144.98
2010-01-11 1145.96 1149.74 1142.02 1146.98 4255780000 1146.98
> tail(GSPC)
open high low close volume adjusted
2016-12-20 2266.50 2272.56 2266.14 2270.76 3298780000 2270.76
2016-12-21 2270.54 2271.23 2265.15 2265.18 2852230000 2265.18
2016-12-22 2262.93 2263.18 2256.08 2260.96 2876320000 2260.96
2016-12-23 2260.25 2263.79 2258.84 2263.79 2020550000 2263.79
2016-12-27 2266.23 2273.82 2266.15 2268.88 1987080000 2268.88
2016-12-28 2270.23 2271.31 2249.11 2249.92 2392360000 2249.92
# 畫出SP500的K線圖
> barChart(GSPC)
把4個品種的調(diào)整后的價(jià)格進(jìn)行合并。
> # 改列名
> names(IBM)<-c("open","high","low","close","volume","adjusted")
> names(GE)<-c("open","high","low","close","volume","adjusted")
> names(YHOO)<-c("open","high","low","close","volume","adjusted")
> names(GSPC)<-c("open","high","low","close","volume","adjusted")
# 數(shù)據(jù)合并
> dat=merge(IBM$adjusted,GE$adjusted,YHOO$adjusted,GSPC$adjusted)
> names(dat)<-c('IBM','GE','YHOO','SP500')
# 打印前6行
> head(dat)
IBM GE YHOO SP500
2010-01-04 112.2859 12.27367 17.10 1132.99
2010-01-05 110.9295 12.33722 17.23 1136.52
2010-01-06 110.2089 12.27367 17.17 1137.14
2010-01-07 109.8274 12.90920 16.70 1141.69
2010-01-08 110.9295 13.18724 16.70 1144.98
2010-01-11 109.7680 13.31435 16.74 1146.98
計(jì)算每日收益率,合并收益率到dat_ret
> dat_ret=merge(IBM_ret,GE_ret,YHOO_ret,SP500_ret)
> names(dat_ret)<-c('IBM','GE','YHOO','SP500')
> head(dat_ret)
IBM GE YHOO SP500
2010-01-04 0.009681385 0.015111695 0.009445041 0.0147147759
2010-01-05 -0.012079963 0.005177994 0.007602339 0.0031156762
2010-01-06 -0.006496033 -0.005151320 -0.003482298 0.0005455205
2010-01-07 -0.003461515 0.051779935 -0.027373267 0.0040012012
2010-01-08 0.010034759 0.021538462 0.000000000 0.0028817272
2010-01-11 -0.010470080 0.009638554 0.002395150 0.0017467554
定義無風(fēng)險(xiǎn)收益率為4%,計(jì)算4個資產(chǎn)的平均年化收益率。
# 無風(fēng)險(xiǎn)收益率
> Rf<-.04/12
# 計(jì)算平均年化收益率,平均年化標(biāo)準(zhǔn)差,平均年化Sharpe
> results<-table.AnnualizedReturns(dat_ret,Rf=Rf)
> results
IBM GE YHOO SP500
Annualized Return 0.0345 0.1108 0.1257 0.1055
Annualized Std Dev 0.1918 0.2180 0.3043 0.1555
Annualized Sharpe (Rf=84%) -2.8892 -2.3899 -1.6911 -3.3659
統(tǒng)計(jì)指標(biāo)分析,每個資產(chǎn)有1760個樣本點(diǎn),沒有NA值。日最小收益率,YHOO最小為-0.0871。日最大收益率,在GE為0.1080。算數(shù)平均,幾何平均,方差,標(biāo)準(zhǔn)差都是YHOO最大。
# 計(jì)算統(tǒng)計(jì)指標(biāo)
> stats
IBM GE YHOO SP500
Observations 1760.0000 1760.0000 1760.0000 1760.0000
NAs 0.0000 0.0000 0.0000 0.0000
Minimum -0.0828 -0.0654 -0.0871 -0.0666
Quartile 1 -0.0060 -0.0065 -0.0098 -0.0039
Median 0.0002 0.0004 0.0005 0.0005
Arithmetic Mean 0.0002 0.0005 0.0007 0.0004
Geometric Mean 0.0001 0.0004 0.0005 0.0004
Quartile 3 0.0067 0.0077 0.0112 0.0053
Maximum 0.0567 0.1080 0.1034 0.0474
SE Mean 0.0003 0.0003 0.0005 0.0002
LCL Mean (0.95) -0.0004 -0.0001 -0.0002 0.0000
UCL Mean (0.95) 0.0008 0.0012 0.0015 0.0009
Variance 0.0001 0.0002 0.0004 0.0001
Stdev 0.0121 0.0137 0.0192 0.0098
Skewness -0.5876 0.3084 0.0959 -0.3514
Kurtosis 4.6634 4.7294 2.9990 4.0151
畫出IBM股票,日收益和月收益的圖,4個資的累積收益率圖,并對4個資產(chǎn)做相關(guān)性分析。
IBM股票,每日收益圖
IBM股票,每月收益圖
4個品種的累積收益率圖
從上圖中可以看出,紅線(GE)和藍(lán)線(SP500)的走勢基本穩(wěn)合,說明GE在從2010開始在跟著美國經(jīng)濟(jì)持續(xù)發(fā)展。綠線(YHOO)從2013初到2015年初大幅拉升,領(lǐng)先于SP500很多,說明這段時(shí)期YHOO所處的互聯(lián)網(wǎng)行業(yè),帶來了非常大的市場紅利;從2015年到2016年,又下跌很大,大起大落,受市場影響非常敏感。黑線(IBM)大部分時(shí)間都處于SP500的下方,說明美國經(jīng)濟(jì)這幾年的高速發(fā)展,并沒有給IBM帶來很大的發(fā)展空間。如果從我們的目標(biāo)來說,”比標(biāo)普好的投資收益”那么我們只能選擇GE或YHOO。
相關(guān)性分析
對4個品種進(jìn)行相關(guān)性分析,發(fā)現(xiàn)GE和SP500相關(guān)系數(shù)為0.78,是3只股票中最相關(guān)的。而YHOO是與其他3個品種走勢最不一樣的。
最后,以SP500為市場組合,分別計(jì)算出3只股票的alpha和beta。
# 計(jì)算alpha
> CAPM.alpha(dat_ret[,1:3],dat_ret[,4],Rf=Rf)
IBM GE YHOO
Alpha: SP500 -0.000752943 0.0003502332 0.0003944279
# 計(jì)算beta
> CAPM.beta(dat_ret[,1:3],dat_ret[,4],Rf=Rf)
IBM GE YHOO
Beta: SP500 0.8218135 1.098877 1.064844
3只股票中,IBM的alpha是最小的,而且是負(fù)的,說明IBM落后于市場,買IBM不如直接SP500更好。GE的Beta是最大的,在上升時(shí)期beta越大,獲得的市場收益也會越大。YHOO從Alpha和Beta上看,雖然與GE接近,但由于標(biāo)準(zhǔn)差,最大回撤等指標(biāo)過大,會導(dǎo)致波動太大。
綜上分析,我們?nèi)绻渲貌糠諫E和部分YHOO,就可以獲得比標(biāo)普好的收益,但由于GE和YHOO的beta都高于SP500,所以風(fēng)險(xiǎn)也會高于SP500,需要增加新的股票來分散風(fēng)險(xiǎn),具體的定量分析,將在以后的文章中再進(jìn)行介紹了。
5. Beta VS Alpha
最后,補(bǔ)充一些Alpha和Beta的說明。Alpha和Beta的認(rèn)知最早是一個股市起源的概念,是一個關(guān)于投資組合的收益率分解的問題
Alpha:一般被認(rèn)為是投資組合的超額收益,也既管理人的能力;
Beta:市場風(fēng)險(xiǎn),最初主要指股票市場的系統(tǒng)性風(fēng)險(xiǎn)
Alpha是平均實(shí)際回報(bào)和平均預(yù)期回報(bào)的差額。
α>0,表示一基金或股票的價(jià)格可能被低估,建議買入。
α<0,表示一基金或股票的價(jià)格可能被高估,建議賣空。
α=0,表示一基金或股票的價(jià)格準(zhǔn)確反映其內(nèi)在價(jià)值,未被高估也未被低估。
Beta反映了單個證券與整體市場組合的聯(lián)動性。
β>1,攻擊性,市場上升時(shí)漲幅大。
β<1,防御性,市場下跌時(shí)跌幅小。
β=1,中立性,與市場波動一致。
從資本資產(chǎn)定價(jià)模型開始發(fā)展到現(xiàn)今,已經(jīng)有很長的時(shí)間了。金融理論在一直發(fā)展,繼資本資產(chǎn)定價(jià)模型之后又一重要的理論突破是套利定價(jià)理論,我將在下一篇文章中進(jìn)行介紹。
本文中,我詳細(xì)地介紹了資本資產(chǎn)定價(jià)模型的金融理論、推到過程、以及R語言實(shí)現(xiàn),用我自己的理解進(jìn)行闡述。希望能給走在量化道路上的朋友帶來入門的指引和幫助,也希望找到像我一樣,通過IT轉(zhuǎn)金融的人,讓我一起用IT技術(shù)+金融的思維在金融市場搶錢吧。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10