官术网_书友最值得收藏!

1.2 收益

所有金融投資都是為了獲得利潤(rùn),即收益(Return),又稱回報(bào)。更嚴(yán)謹(jǐn)?shù)卣f(shuō),收益是指在一段時(shí)期內(nèi)投資所獲得的利潤(rùn)。

風(fēng)險(xiǎn)和收益之間存在這樣一種權(quán)衡:假設(shè)的風(fēng)險(xiǎn)越高,實(shí)現(xiàn)的收益就越大。由于在這方面很難得出最佳解決方案,所以這種權(quán)衡是金融學(xué)中最具爭(zhēng)議的問(wèn)題之一。然而,Markowitz(1952)對(duì)這個(gè)問(wèn)題提出了一個(gè)直觀的、令人興奮的解決方案。他定義風(fēng)險(xiǎn)的方式精致、清晰,從而改變了金融研究的格局,因?yàn)樵诖酥皩?duì)風(fēng)險(xiǎn)的定義是模糊不清的。Markowitz用標(biāo)準(zhǔn)差來(lái)量化風(fēng)險(xiǎn)。這個(gè)直觀的定義使研究人員能夠在金融領(lǐng)域中運(yùn)用數(shù)學(xué)和統(tǒng)計(jì)學(xué)。該標(biāo)準(zhǔn)差定義如下(Hull,2012):

其中,R分別指的是年收益率和預(yù)期收益(又稱期望收益)。本書將在多處使用符號(hào)來(lái)表示預(yù)期收益。涉及投資組合方差時(shí),引入?yún)f(xié)方差,公式變?yōu)椋?/p>

其中,w表示權(quán)重,表示方差,Cov表示協(xié)方差。

取得方差平方根后,得到投資組合標(biāo)準(zhǔn)差為:

換句話說(shuō),投資組合預(yù)期收益是個(gè)體收益的加權(quán)平均值,表示為:

接下來(lái),將通過(guò)可視化來(lái)探索風(fēng)險(xiǎn)和收益的關(guān)系。我們將使用Python構(gòu)建一個(gè)假定的投資組合以計(jì)算必要的統(tǒng)計(jì)值:

In [1]: import statsmodels.api as sm
        import numpy as np         
        import plotly.graph_objs as go
        import matplotlib.pyplot as plt
        import plotly         
        import warnings         
        warnings.filterwarnings('ignore')
 
In [2]: n_assets = 5?
        n_simulation = 500 ?
 
In [3]: returns = np.random.randn(n_assets, n_simulation) ?
 
In [4]: rand = np.random.rand(n_assets) ?
        weights = rand/sum(rand) ?
 
        def port_return(returns):
            rets = np.mean(returns, axis=1)
            cov = np.cov(rets.T, aweights=weights, ddof=1)
            portfolio_returns = np.dot(weights, rets.T)
            portfolio_std_dev = np.sqrt(np.dot(weights, np.dot(cov, weights)))
            return portfolio_returns, portfolio_std_dev ?
 
In [5]: portfolio_returns, portfolio_std_dev = port_return(returns) ?
 
In [6]: print(portfolio_returns)
        print(portfolio_std_dev) ?
 
        0.012968706503879782
        0.023769932556585847
 
In [7]: portfolio = np.array([port_return(np.random.randn(n_assets, i))
                              for i in range(1, 101)]) ?
 
In [8]: best_fit = sm.OLS(portfolio[:, 1], sm.add_constant(portfolio[:, 0]))\
                   .fit().fittedvalues ?
 
In [9]: fig = go.Figure()
        fig.add_trace(go.Scatter(name='Risk-Return Relationship',
                                 x=portfolio[:, 0],
                                 y=portfolio[:, 1], mode='markers'))
        fig.add_trace(go.Scatter(name='Best Fit Line',
                                 x=portfolio[:, 0],
                                 y=best_fit, mode='lines'))
        fig.update_layout(xaxis_title = 'Return', 
                          yaxis_title = 'Standard Deviation',
                          width=900, height=470)
        fig.show() ?

? 指定資產(chǎn)數(shù)量。

? 指定模擬次數(shù)。

? 隨機(jī)生成正態(tài)分布樣本用作收益。

? 生成隨機(jī)數(shù)并用于計(jì)算權(quán)重。

? 計(jì)算權(quán)重。

? 用于計(jì)算投資組合預(yù)期收益和標(biāo)準(zhǔn)差的函數(shù)。

? 調(diào)用函數(shù)的結(jié)果。

? 輸出投資組合預(yù)期收益和標(biāo)準(zhǔn)差的結(jié)果。

? 重新運(yùn)行函數(shù)100次。

? 通過(guò)線性回歸繪制最佳擬合線。

? 繪制交互式圖表。

上述Python代碼所生成的圖表如圖1-1所示,證實(shí)了風(fēng)險(xiǎn)和收益是相關(guān)的,但這種相關(guān)性的具體大小取決于個(gè)股和金融市場(chǎng)狀況[2]


[2] 譯者注:代碼使用了隨機(jī)數(shù),所以讀者運(yùn)行代碼的結(jié)果可能與圖1-1不一致,但是原理是一樣的。

圖1-1 風(fēng)險(xiǎn)和收益的關(guān)系

主站蜘蛛池模板: 林芝县| 环江| 承德市| 丰城市| 阜新市| 拜城县| 茶陵县| 方城县| 六盘水市| 崇明县| 班戈县| 梁山县| 阿巴嘎旗| 阿坝县| 定远县| 洪湖市| 桂东县| 重庆市| 沽源县| 定襄县| 巨野县| 昭觉县| 聂拉木县| 盐亭县| 永仁县| 汉中市| 澎湖县| 临邑县| 汨罗市| 平原县| 民勤县| 新邵县| 垣曲县| 黎平县| 伊川县| 邮箱| 大新县| 蕲春县| 肥乡县| 云安县| 新民市|