-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
有效前沿下半部分(有效前沿定義)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于有效前沿下半部分的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內容,越精準,寫出的就越詳細,有微信小程序端、在線網頁版、PC客戶端
創(chuàng)意嶺作為行業(yè)內優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、為什么資本市場線優(yōu)于馬科維茨有效邊界。
因為資本市場線是由無風險收益為RF的證券和市場證券組合M構成的。市場證券組合M是由均衡狀態(tài)的風險證券構成的有效的證券組合。同時投資者可以收益率RF任意地借款或貸款。而馬科維茨有效前沿可行集的左上部分,及最小方差前沿的上半部分。所以資本市場線優(yōu)于馬科維茨有效邊界。
二、如何用matlab畫 有效前沿
根據你的描述:
可以用frontcon(),也可以甩portopt(),兩者有相同點也有不同點,函數具體用法可以查看幫助文檔 。
三、求最近五年來國家公務員考試證監(jiān)會專業(yè)科目(財經類)考試真題!wy860607@126.com.加分!
官方不公布真題,所以找不到,我這里有07年回憶的部分題目,僅供參考
07年證監(jiān)會專業(yè)題
第三部分
五、論述題目結合我國證券市場的情況,談談如何控制證券投資風險?
四、問題
1、什么是有效前沿?
2、通貨緊縮的標志是什么?
3、計算除權(息)價公式?(我的回憶與真題有點出入,大意如此)
三、簡答題
1、直接融資和間接融資的特點?
2、(非常抱歉,這題現在回憶不起來,希望戰(zhàn)友們補充)
3、證券發(fā)行信息披露制度的意義是什么?
4、我國證券法律立法的原則是什么?
到目前為止,還算考了一些與經濟學金融學占邊的東西。但是總體上來說,作為一份從應屆生中、尤其是應屆碩士生和博士生中選拔證券監(jiān)管人才的試卷,似乎關于金融資產定價,金融風險組合,風險控制,投資者行為,行為金融,金融計量,公司金融,公司治理,IPO,金融中介理論等方面與證券行業(yè)密切相關的問題比較少。
第二部分:多選題(20題)
1、證券技術分析有 A:K線圖 B: C: D:2、引入外資方式 A:中外合資企業(yè) B: C: D:3、哪些類型的稅種應該給中央政府 A:稅額大 B:有利于穩(wěn)定經濟 C: D:(希望戰(zhàn)友們接著補充)
第一部分:單選題(40題)
1、國家通過法定程序確定的稅種是:
A 正稅 B 附加稅 C 稅制 D
2、國家財政通過____什么來影響經濟
A 總量 B 供給 C 需求 D
3、證券市場上有三級清算市場,證券公司與投資者間的清算屬于哪級清算?
A 一級 B 二級 C 三級 D 四級
4、某個證券公司要成為交易所的會員,必須經______核準審核通過
A 理事長 B 理事會 C 會員大會
5、我國貨幣政策的中介目標
A 利率 B 基礎貨幣 C 貨幣供應量 D通貨膨脹(希望戰(zhàn)友們接著補充)
看完選擇題,就覺得沒有優(yōu)勢,學的西方規(guī)范的經濟學和金融學都用不上:(基本上考的是證監(jiān)會的法規(guī),一些所謂的常識,絕大部分是記憶的東西,不需要思考。要考好就必須平時查看證監(jiān)會相關的法律法規(guī),公告,通知等等,及其一些實務性非常強的金融方面的書。
四、如何用python實現Markowitz投資組合優(yōu)化
多股票策略回測時常常遇到問題。
倉位如何分配?
你以為基金經理都是一拍腦袋就等分倉位了嗎?
或者玩點玄乎的斐波拉契數列?
OMG,誰說的黃金比例,讓我看到你的腦袋(不削才怪)??!
其實,這個問題,好多好多年前馬科維茨(Markowitz)我喜愛的小馬哥就給出答案——投資組合理論。
根據這個理論,我們可以對多資產的組合配置進行三方面的優(yōu)化。
1.找到有效前沿。在既定的收益率下使組合的方差最小。
2.找到sharpe最優(yōu)的組合(收益-風險均衡點)
3.找到風險最小的組合
跟著我,一步兩步,輕松實現。
該理論基于用均值和方差來表述組合的優(yōu)劣的前提。將選取幾只股票,用蒙特卡洛模擬初步探究組合的有效前沿。
通過最大Sharpe和最小方差兩種優(yōu)化來找到最優(yōu)的資產組合配置權重參數。
最后,刻畫出可能的分布,兩種最優(yōu)以及組合的有效前沿。
注:
文中的數據API來自量化平臺聚寬,在此表示感謝。
原文見【組合管理】——投資組合理論(有效前沿)(包含正態(tài)檢驗部分)
0.導入需要的包
import pandas as pd
import numpy as np
import statsmodels.api as sm #統(tǒng)計運算
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']
#規(guī)范化后時序數據
(data/data.ix[0]*100).plot(figsize = (8,5))
Out[1]:
2.計算不同證券的均值、協(xié)方差
每年252個交易日,用每日收益得到年化收益。計算投資資產的協(xié)方差是構建資產組合過程的核心部分。運用pandas內置方法生產協(xié)方差矩陣。
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.投資組合優(yōu)化1——sharpe最大
建立statistics函數來記錄重要的投資組合統(tǒng)計數據(收益,方差和夏普比)
通過對約束最優(yōu)問題的求解,得到最優(yōu)解。其中約束是權重總和為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])
#最優(yōu)化投資組合的推導是一個約束最優(yōu)化問題
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))
#優(yōu)化函數調用中忽略的唯一輸入是起始參數列表(對權重的初始猜測)。我們簡單的使用平均分布。
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
得到的最優(yōu)組合權重向量為:
In [10]:
opts['x'].round(3)
Out[10]:
array([-0. , 0. , 0.164, -0. , 0.836])
sharpe最大的組合3個統(tǒng)計數據分別為:
In [11]:
#預期收益率、預期波動率、最優(yōu)夏普指數
statistics(opts['x']).round(3)
Out[11]:
array([ 0.508, 0.437, 1.162])
7.投資組合優(yōu)化2——方差最小
接下來,我們通過方差最小來選出最優(yōu)投資組合。
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
方差最小的最優(yōu)組合權重向量及組合的統(tǒng)計數據分別為:
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.組合的有效前沿
有效前沿有既定的目標收益率下方差最小的投資組合構成。
在最優(yōu)化時采用兩個約束,1.給定目標收益率,2.投資組合權重和為1。
In [15]:
def min_variance(weights):
return statistics(weights)[1]
#在不同目標收益率水平(target_returns)循環(huán)時,最小化的一個約束條件會變化。
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)
下面是最優(yōu)化結果的展示。
叉號:構成的曲線是有效前沿(目標收益率下最優(yōu)的投資組合)
紅星: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]:
以上就是關于有效前沿下半部分相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內容。
推薦閱讀:
b2b免費發(fā)布平臺(b2b免費發(fā)布平臺長期做有效果)