㈠ 投資組合A的均值收益為10%標准差為8%,組合B為15%,30%。無風險收益率為5%。選哪個投資
組合A的夏普比例=(10%-5%)/8%=0.625
組合B的夏普比例=(15%-5%)/30%=0.33
組合A的經風險調整的收益明顯高於B,所以選A。
㈡ 根據馬科維茨的證券投資組合理論,投資者應如何決定其最優的資產組合
1.根據馬科維茨模型定義,我們得到最小風險組合中各組成資產的精確權重,如下圖所示。在這個投資組合中,10 只股票樣本中的資產仍然存在比重分配差異。值得注意的是,收益率最高的貴州茅台和恆瑞醫葯的分配比例並不高,分別占總投資組合的 0.64% 和 8.91%。獲得最大權重分配的是中國銀行和農業銀行,分別占 28.67% 和 23.84%,其收益率分別是 -0.27% 和 -6.69%。最小風險組合的平均收益為 2.95%,風險水平為 13% 。該投資組合的夏普比率為 0.211。
2.資產配置「太祖」:馬科維茨平均方差模型(1990年諾貝爾經濟學獎)最早的模型只考慮了三個維度的變數:資產的預期收益,預期波動率,以及資產之間的相關性。我們知道,一個理性的投資者總是希望資產的回報越高越好,風險越小越好。也就是說,我們總是希望在風險確定的情況下使預期收益率最大化,或者在預期收益率確定的情況下使風險最小化。基於這一思想,馬科維茨和威廉·夏普分別獲得了諾貝爾經濟學獎。事實上,這種邏輯很容易在數學上實現。我們用資產回報率除以風險的比率來衡量資產的表現。Sharp ratio, treno ratio和sotino ratio都採用了這種方法。對於一籃子股票或一籃子大型資產,我們只需要給這些資產賦予不同的權重,建立一個資產組合,計算資產組合的收益、風險和收益風險比指數,然後重復前面的步驟(例如10000次),給資產賦予不同的權重,計算資產組合的回報風險比,最後,我們比較這10000次的回報風險比的大小,其中回報風險比最大的資產組合就是我們尋找的最優組合。
3.例如,經典的股票債券模型就是由此衍生出來的60%股票+ 40%債券的經典組合。雖然這種組合分散了一些風險,但由於資產只有兩種類型,降低風險是遠遠不夠的。特別是隨著炫目的金融投資產品的發展,傳統的股票債券模式已經不夠好。
㈢ 組合投資的建議
認清你自己並認真梳理你的資產負債人
最難以認清的就是自己,但建立長期組合投資計劃的首要條件就是要認清自己,頂級的投資大師往往都是成功的做到了這一點。全面透徹的認清自己可能勉為其難,但你至少應該知道自己的風險偏好、對市場波動性的寬容度,只有這樣,才能保證實施長期的投資計劃不動搖,而長期投資行為沒有在最終得到好的結果往往都是敗在心理和情感因素上。
認清你自己可以保證在實施計劃時不出現偏差和退縮,但具體要建立怎樣的投資組合,就先需要清楚自己的資產狀況。你可以編制一張資產負債表,這對你的投資計劃很有幫助。以下是推薦的分類:
(1)付息投資工具;
(2)權益投資工具;
(3)生活類資產;
(4) 負債;
你最重要的決策就是決定付息投資工具和權益投資工具的相對配置權重,該權重大致決定了投資組合的收益/波動性的特徵。在梳理你的資產負債時,注意不要把資產類別搞混,而且要從盡可能寬泛的視角來審視他們。比如你認為度假別墅不應該歸為生活類資產,但是它一般只能消耗而不會創造財富,除非產生大於持有成本的租金收入從而帶來正的現金流。 堅定自己的投資觀
不同的投資觀決定不同的資金管理方式。對於採取分散組合投資的你來說,你這類投資者認為市場分析技術無法增加價值, 「戰勝市場」是不切實際的投資目標。因此你必須承認這一事實,即投資組合的潛在長期增長路徑就是可能實現的最佳結果。隨著你愈加接近第四象限代表的世界觀,技術因素便變得越來越不重要,而決策因素的重要性卻在遞增。後者與資產等級的選擇以及資金在這些資產等級之間的相對分配權重有關。
當你堅定了自己的投資觀後,就相當於為將要實施的長期組合投資計劃找到了理論根據,你的一切行為才變得有意義。 明確你的需要、所受限制及投資期
只有明確了自己的需要和限制才能保證長期組合投資計劃的實施執行。例如你必須考慮對投資組合流動性的需要,如果將來可能需要資金滿足花銷,那麼最好不要參與非流動性投資,比如房產投資。
你還要明確你的投資期,投資組合面臨的兩大風險包括通貨膨脹和收益波動性。在較長投資期內,通貨膨脹風險要高於市場波動風險。因而投資期較長的投資組合應該相應地將更多資產配置給權益投資工具,這樣可以保障提高購買力所需的長期資本增值。在較短投資期里,市場波動的危險性高於通貨膨脹。因此,投資期較短的組合應該更加關注付息投資工具,它們的本金價值更加穩定。
很多人往往會低估自己的投資期,結果導致權益投資比重過低,從而使投資組合過度暴露於通貨膨脹風險之下。之所以會這樣,部分是由於大多數人喜歡用預期的退休時間來定義投資期。它讓人們產生這樣一種錯誤觀點,即權益投資工具僅僅適合在退休前提高財富凈值,退休時應該將其賣出並將收益投資於付息投資工具。該傳統觀點的問題在於,它忽視了通貨膨脹在退休後仍將是一個巨大的威脅。 制定一個投資績效參考框架
只有在你對短期債券、大公司股票、小公司股票以及通貨膨脹率的長期歷史數據有所了解後,你才會明白世界上沒有完美的投資工具——既有高流動性,又有穩定的本金價值,還能產生足夠抵消通貨膨脹的高收益。對於完美投資工具的幻想一旦破滅,你就會明白構建投資組合時做出妥協的必要性。你在進行復合等級資產投資時,經常會發現某類資產最近表現很牛,而自己的投資組合卻由於分散化效應無法與之相提並論,那麼你的投資理念與實際情況之間就產生了矛盾。這時你的投資績效參考框架往往是報紙或電視新聞上談論的高收益資產,這更會加大你的心理壓力。而如果你是通過組合資產的歷史數據制定一個合理的投資績效參考框架,那麼會讓你忽略眼前的收益而著重於更長遠的利益。因此在實施長期組合投資計劃前,制定一個投資績效參考框架是關鍵的一步。 分配資產份額並設計投資組合
當你認清了你自己,知道自己想要什麼,而又明確了投資策略後,接下來就是具體實施了。與使用資產類別較少的傳統方法相比,廣泛分散的復合等級資產投資能夠產生更高的長期波動調整後收益。一旦你決定採用廣泛分散的投資組合,那麼就開始著手設計適合你自己的投資組合吧。
下面我們給出一種格式,你可以據此將當前的總現金價值(比如30萬)轉化成一個具體的推薦組合結構。
你首先輸入投資組合當前的總現金價值(30萬)。然後根據你的情況和需要,分別輸入分配給短期債券、長期債券和權益投資的百分比和金額。通常情況下,這些百分比一旦確定便不再更改,除非你的波動性寬容度、投資期或者財務狀況發生了重大改變。
根據廣泛分散的投資策略,接下來你需要在以下5類資產之間合理配置投資權重:
短期債券
長期債券
股票和股票型基金
房地產投資工具
資產保值投資
在付息類資產(短期債券、長期債券)的選擇和配置上,主要依據的是其質量和期限。投資者可以根據預期利率變動,決定短期與長期債券的相對配置。
對於權益類資產,股票和基金理所當然占據最大的權重。再進一步細分下去,大公司股票和小公司股票、成長型基金與價值型基金適當分散,以消除過度依賴某一類型權益資產帶來的風險。
房產通常是國人家庭資產中最大的一部分,一般情況下,購買個人住房及度假住宅主要不是為了投資目的,因而不能列入投資組合中。它們通常出現在客戶資產負債表的「生活類資產」中。
從歷史數據來看,資產保值投資,例如商品關聯證券與貴金屬投資,具有完全不同於其他資產等級的收益形態。分配給他們的投資比重相對較小,當組合的其餘部分由於嚴峻的經濟形勢而丟失城池時,也許它們反而表現優異。商品關聯證券很可能是資產保值的最佳例子。商品與很多其他資產類別負向相關,因而成了有力的分散投資手段。
資產配置不僅要決定構建投資組合所用的各類資產,還要決定這些資產類別之間的相對資金配置權重。那麼,如何決定這些資產類別在資產配置中的權重呢?最簡單的方式是考慮它們在國內資本總額中的相對比重。但這種方法顯然過於寬泛,而且不是根據每個人的具體情況設計不同的組合。
正確的方法是根據經濟情境預測、自己的期望收益、對資產波動的寬容度以及各種資產類別之間的相關系數來設計組合。這種方法比較復雜,也需要投資者不斷的在學習中進行調整。不管使用哪種方法,之前都最好設定每類資產的最低權重,從而保證分散投資的幅度。
你對資產波動的寬容度是影響投資組合的主要因素。
在資產配置中可以採取更積極的投資策略,為短期債券、長期債券、權益投資工具分別確定配置權重的波動范圍。在該范圍內進行有限的擇時操作。在下表中,根據最低配置規定,至少65%的資產將配置於「核心投資組合」,該組合由25%的短期債務工具、10%的長期債券和30%的權益投資構成。
投資分類 消極管理固定百分比 積極管理百分比波動范圍
短期債券 35% 25%-45%
長期債券 20% 10%-30%
權益投資 45% 30%-60%
總投資 100% 65%核心投資組合 備制投資策略書並實施投資策略
再美妙的計劃也離不開堅決的執行,我們強烈建議你制定一份書面的投資策略書,這有助於組合的投資策略得到嚴格堅決的實施,在極好或極壞的資本市場環境中做到這一點尤為重要。
投資策略書已經備制完畢,那麼就是該把策略付諸實施的時候了。若在預期投資目標和波動性寬容度下,當前配置不盡合理,那麼就應當盡快使組合回到目標。另一方面,可以考慮通過成本平均策略令投資組合逐漸回到目標配置,這樣經濟上與心理上都將獲得好處。
成本平均法並不難,只要對某項資產定期進行投資,且每次投資金額都相等。比如說想在股票上投資180000元,可以連續18個月每月投資 1000元。對本金價值不定的資產例如股票進行投資時,最理想的情況是在低價位買進。通過使用成本平均策略,股價低時買入的股份較多,而股價高時買入的股份較少。策略實施完畢後,每股平均成本將低於為這些股票支付的平均價格。我們已經知道在短期上,波動性資產的收益與長期平均期望差異可能很大。通過定期定額投資建立某種資產頭寸,客戶的投資績效接近長期期望的可能性也在增加。
被投資資產的波動越劇烈,就應該在越長時間里通過成本平均法定期定額地投資。譬如,股票的波動性高於債券,可以花12到24個月使投資組合接近股票的目標權重,而對於債券這一時間可能短得多,只要6到12個月即可。當你的投資組合已經處於或接近短期債券、長期債券、權益投資之間的理想配置,只需選擇其中的最優資產即可。
在實施組合投資策略過程中,隨著市場變化可對投資組合進行被動調整使其恢復目標配置。如果簡單的採用買入持有策略,各等級資產之間的相對比重會隨市場變動而改變,這也令組合的波動水平發生我們不希望看到的變動。
對投資組合進行被動調整可使投資組合始終保持平衡的分散程度,並嚴格約束投資組合,防止組合在市場繁榮時為權益分配過高權重,使風險暴露加大;在市場低迷時分配過低權重,未能充分利用即將開始的市場上漲帶來的好處。
㈣ 投資組合理論認為不同股票的投資組合可以降低風險,股票的種類越多,風險越小,對嗎
股票的種類多到一定規模,增加股票種類不會降低風險。
非系統性風險可以通過投資組合降低,
系統性風險不能通過投資組合降低。
㈤ 股票組合投資的優缺點。
股票組合投資的優點
風險分散,個股更好的規避和降低風險,收益會相對穩定。
缺點
需要資金量大
㈥ 投資組合優化課題畢業論文好寫嗎
不好寫
投資組合是由投資人或金融機構所持有的股票、債券、金融衍生產品等組成的集合。目的是分散風險。投資組合可以看成幾個層面上的組合。
投資組合優化是指應用概率論與數理統計、最優化方法以及線性代數等相關數學理論方法。主要看對平時知識的掌握和平時的積累。 畢業論文從文體而言,它也是對某一專業領域的現實問題或理論問題進行 科學研究探索的具有一定意義的論文。一般安排在修業的最後一學年(學期)進行。
㈦ 如何用python實現Markowitz投資組合優化
多股票策略回測時常常遇到問題。
倉位如何分配?
你以為基金經理都是一拍腦袋就等分倉位了嗎?
或者玩點玄乎的斐波拉契數列?
OMG,誰說的黃金比例,讓我看到你的腦袋(不削才怪)!!
其實,這個問題,好多好多年前馬科維茨(Markowitz)我喜愛的小馬哥就給出答案——投資組合理論。
根據這個理論,我們可以對多資產的組合配置進行三方面的優化。
1.找到有效前沿。在既定的收益率下使組合的方差最小。
2.找到sharpe最優的組合(收益-風險均衡點)
3.找到風險最小的組合
跟著我,一步兩步,輕松實現。
該理論基於用均值和方差來表述組合的優劣的前提。將選取幾只股票,用蒙特卡洛模擬初步探究組合的有效前沿。
通過最大Sharpe和最小方差兩種優化來找到最優的資產組合配置權重參數。
最後,刻畫出可能的分布,兩種最優以及組合的有效前沿。
註:
文中的數據API來自量化平台聚寬,在此表示感謝。
原文見【組合管理】——投資組合理論(有效前沿)(包含正態檢驗部分)
0.導入需要的包
import pandas as pd
import numpy as np
import statsmodels.api as sm #統計運算
import scipy.stats as scs #科學計算
import matplotlib.pyplot as plt #繪圖
1.選取幾只感興趣的股票
000413 東旭光電,000063 中興通訊,002007 華蘭生物,000001 平安銀行,000002 萬科A
並比較一下數據(2015-01-01至2015-12-31)
In[1]:
stock_set = ['000413.XSHE','000063.XSHE','002007.XSHE','000001.XSHE','000002.XSHE']
noa = len(stock_set)
df = get_price(stock_set, start_date = '2015-01-01', end_date ='2015-12-31', 'daily', ['close'])
data = df['close']
#規范化後時序數據
(data/data.ix[0]*100).plot(figsize = (8,5))
Out[1]:
2.計算不同證券的均值、協方差
每年252個交易日,用每日收益得到年化收益。計算投資資產的協方差是構建資產組合過程的核心部分。運用pandas內置方法生產協方差矩陣。
In [2]:
returns = np.log(data / data.shift(1))
returns.mean()*252
Out[2]:
000413.XSHE 0.184516
000063.XSHE 0.176790
002007.XSHE 0.309077
000001.XSHE -0.102059
000002.XSHE 0.547441
In [3]:
returns.cov()*252
Out[3]:
3.給不同資產隨機分配初始權重
由於A股不允許建立空頭頭寸,所有的權重系數均在0-1之間
In [4]:
weights = np.random.random(noa)
weights /= np.sum(weights)
weights
Out[4]:
array([ 0.37505798, 0.21652754, 0.31590981, 0.06087709, 0.03162758])
4.計算預期組合年化收益、組合方差和組合標准差
In [5]:
np.sum(returns.mean()*weights)*252
Out[5]:
0.21622558669017816
In [6]:
np.dot(weights.T, np.dot(returns.cov()*252,weights))
Out[6]:
0.23595133640121463
In [7]:
np.sqrt(np.dot(weights.T, np.dot(returns.cov()* 252,weights)))
Out[7]:
0.4857482232609962
5.用蒙特卡洛模擬產生大量隨機組合
進行到此,我們最想知道的是給定的一個股票池(證券組合)如何找到風險和收益平衡的位置。
下面通過一次蒙特卡洛模擬,產生大量隨機的權重向量,並記錄隨機組合的預期收益和方差。
In [8]:
port_returns = []
port_variance = []
for p in range(4000):
weights = np.random.random(noa)
weights /=np.sum(weights)
port_returns.append(np.sum(returns.mean()*252*weights))
port_variance.append(np.sqrt(np.dot(weights.T, np.dot(returns.cov()*252, weights))))
port_returns = np.array(port_returns)
port_variance = np.array(port_variance)
#無風險利率設定為4%
risk_free = 0.04
plt.figure(figsize = (8,4))
plt.scatter(port_variance, port_returns, c=(port_returns-risk_free)/port_variance, marker = 'o')
plt.grid(True)
plt.xlabel('excepted volatility')
plt.ylabel('expected return')
plt.colorbar(label = 'Sharpe ratio')
Out[8]:
6.投資組合優化1——sharpe最大
建立statistics函數來記錄重要的投資組合統計數據(收益,方差和夏普比)
通過對約束最優問題的求解,得到最優解。其中約束是權重總和為1。
In [9]:
def statistics(weights):
weights = np.array(weights)
port_returns = np.sum(returns.mean()*weights)*252
port_variance = np.sqrt(np.dot(weights.T, np.dot(returns.cov()*252,weights)))
return np.array([port_returns, port_variance, port_returns/port_variance])
#最優化投資組合的推導是一個約束最優化問題
import scipy.optimize as sco
#最小化夏普指數的負值
def min_sharpe(weights):
return -statistics(weights)[2]
#約束是所有參數(權重)的總和為1。這可以用minimize函數的約定表達如下
cons = ({'type':'eq', 'fun':lambda x: np.sum(x)-1})
#我們還將參數值(權重)限制在0和1之間。這些值以多個元組組成的一個元組形式提供給最小化函數
bnds = tuple((0,1) for x in range(noa))
#優化函數調用中忽略的唯一輸入是起始參數列表(對權重的初始猜測)。我們簡單的使用平均分布。
opts = sco.minimize(min_sharpe, noa*[1./noa,], method = 'SLSQP', bounds = bnds, constraints = cons)
opts
Out[9]:
status: 0
success: True
njev: 4
nfev: 28
fun: -1.1623048291871221
x: array([ -3.60840218e-16, 2.24626781e-16, 1.63619563e-01, -2.27085639e-16, 8.36380437e-01])
message: 'Optimization terminated successfully.'
jac: array([ 1.81575805e-01, 5.40387481e-01, 8.18073750e-05, 1.03137662e+00, -1.60038471e-05, 0.00000000e+00])
nit: 4
得到的最優組合權重向量為:
In [10]:
opts['x'].round(3)
Out[10]:
array([-0. , 0. , 0.164, -0. , 0.836])
sharpe最大的組合3個統計數據分別為:
In [11]:
#預期收益率、預期波動率、最優夏普指數
statistics(opts['x']).round(3)
Out[11]:
array([ 0.508, 0.437, 1.162])
7.投資組合優化2——方差最小
接下來,我們通過方差最小來選出最優投資組合。
In [12]:
#但是我們定義一個函數對 方差進行最小化
def min_variance(weights):
return statistics(weights)[1]
optv = sco.minimize(min_variance, noa*[1./noa,],method = 'SLSQP', bounds = bnds, constraints = cons)
optv
Out[12]:
status: 0
success: True
njev: 7
nfev: 50
fun: 0.38542969450547221
x: array([ 1.14787640e-01, 3.28089742e-17, 2.09584008e-01, 3.53487044e-01, 3.22141307e-01])
message: 'Optimization terminated successfully.'
jac: array([ 0.3851725 , 0.43591119, 0.3861807 , 0.3849672 , 0.38553924, 0. ])
nit: 7
方差最小的最優組合權重向量及組合的統計數據分別為:
In [13]:
optv['x'].round(3)
Out[13]:
array([ 0.115, 0. , 0.21 , 0.353, 0.322])
In [14]:
#得到的預期收益率、波動率和夏普指數
statistics(optv['x']).round(3)
Out[14]:
array([ 0.226, 0.385, 0.587])
8.組合的有效前沿
有效前沿有既定的目標收益率下方差最小的投資組合構成。
在最優化時採用兩個約束,1.給定目標收益率,2.投資組合權重和為1。
In [15]:
def min_variance(weights):
return statistics(weights)[1]
#在不同目標收益率水平(target_returns)循環時,最小化的一個約束條件會變化。
target_returns = np.linspace(0.0,0.5,50)
target_variance = []
for tar in target_returns:
cons = ({'type':'eq','fun':lambda x:statistics(x)[0]-tar},{'type':'eq','fun':lambda x:np.sum(x)-1})
res = sco.minimize(min_variance, noa*[1./noa,],method = 'SLSQP', bounds = bnds, constraints = cons)
target_variance.append(res['fun'])
target_variance = np.array(target_variance)
下面是最優化結果的展示。
叉號:構成的曲線是有效前沿(目標收益率下最優的投資組合)
紅星:sharpe最大的投資組合
黃星:方差最小的投資組合
In [16]:
plt.figure(figsize = (8,4))
#圓圈:蒙特卡洛隨機產生的組合分布
plt.scatter(port_variance, port_returns, c = port_returns/port_variance,marker = 'o')
#叉號:有效前沿
plt.scatter(target_variance,target_returns, c = target_returns/target_variance, marker = 'x')
#紅星:標記最高sharpe組合
plt.plot(statistics(opts['x'])[1], statistics(opts['x'])[0], 'r*', markersize = 15.0)
#黃星:標記最小方差組合
plt.plot(statistics(optv['x'])[1], statistics(optv['x'])[0], 'y*', markersize = 15.0)
plt.grid(True)
plt.xlabel('expected volatility')
plt.ylabel('expected return')
plt.colorbar(label = 'Sharpe ratio')
Out[16]:
㈧ 股票組合在投資中真的很重要嗎你怎麼看
我認為股票投資組合你可以說它是非常重要的,也可以說它並不算特別重要。如果說你手裡面我有大量的資金,而這一些資金是你的全部家產,那麼你就非常有必要做股票投資組合。如果你手裡只有一小部分資金,你能夠在一年的時間裡面輕易的把它賺回來,那麼我認為就沒有必要做投資組合,而是滿倉一個。股票投資組合最重要的一個功能,就是能夠分散風險。但是要知道分散風險的同時,也分散了你的收益。
一.對於大資金來說
如果你把自己全部的身家都拿來做投資的話,那麼你對於風險就需要非常重視,而這個時候就非常需要使用投資組合。因為使用投資組合,你就不會因為某一隻股票出現一些黑天鵝事件,而導致自己受到巨大的虧損。可能某一隻股票虧損的特別多,但是另外兩只股票賺錢了,所以又能夠把它給彌補上來。這樣對於你一個大資金來說,就是一個有效的分散風險的方式。
大家看完,記得點贊+關注+轉發哦。