av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

用Python分析資產(chǎn)收益的典型化事實

      Python中文社區(qū)(ID:python-china)

創(chuàng)新互聯(lián)長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為宜章企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),宜章網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

典型化事實(Stylized Facts)是在實際數(shù)據(jù)中發(fā)現(xiàn)的一些現(xiàn)象?!暗湫突聦崱痹诮?jīng)濟學(xué)中非常重要,無論是宏觀經(jīng)濟學(xué)還是貿(mào)易、金融還是產(chǎn)業(yè)經(jīng)濟學(xué),在理論的發(fā)展中都扮演著非常重要的角色,因而如果能發(fā)現(xiàn)一些“典型化事實”,對經(jīng)濟學(xué)的理論研究和之后的實證研究是非常重要的。掃描本文最下方二維碼獲取全部完整源碼和Jupyter Notebook 文件打包下載。

典型化事實(Stylized Facts)是出現(xiàn)在許多資產(chǎn)回報(跨時間和市場)中的統(tǒng)計屬性。了解它們很重要,因為當(dāng)我們構(gòu)建代表資產(chǎn)價格動態(tài)的模型時,模型必須能夠捕獲這些屬性。

下面我們使用從 1985 年到 2018 年標(biāo)普 500 指數(shù)的每日回報收益來分析五個典型化事實。

我們從雅虎財經(jīng)下載標(biāo)準(zhǔn)普爾 500 指數(shù)價格并計算收益。使用以下代碼導(dǎo)入所有需要的庫: 

 
 
 
 
  1. import pandas as pd   
  2. import numpy as np  
  3. import yfinance as yf  
  4. import seaborn as sns   
  5. import scipy.stats as scs  
  6. import statsmodels.api as sm  
  7. import statsmodels.tsa.api as smt 

在本節(jié)中,我們將用 Python去發(fā)現(xiàn)標(biāo)準(zhǔn)普爾 500 指數(shù)系列中的五個典型化事實。 

 
 
 
 
  1. df = yf.download('^GSPC',   
  2.                  start='1985-01-01', 
  3.                  end='2018-12-31',  
  4.                  progress=False)  
  5. dfdf = df[['Adj Close']].rename(columns={'Adj Close': 'adj_close'})  
  6. df['log_rtn'] = np.log(df.adj_close/df.adj_close.shift(1))  
  7. dfdf = df[['adj_close', 'log_rtn']].dropna(how = 'any') 

一、資產(chǎn)收益的非高斯分布

運行以下步驟,通過繪制收益直方圖和 Q-Q 圖來發(fā)現(xiàn)第一個事實的存在。

1、使用觀察到的收益的均值和標(biāo)準(zhǔn)差計算正態(tài)概率密度函數(shù) (PDF): 

 
 
 
 
  1. r_range = np.linspace(min(df.log_rtn), max(df.log_rtn), num=1000)  
  2. mu = df.log_rtn.mean()  
  3. sigma = df.log_rtn.std()  
  4. norm_pdf = scs.norm.pdf(r_range, loc=mu, scale=sigma) 

2、繪制直方圖和 Q-Q 圖: 

 
 
 
 
  1. fig, ax = plt.subplots(1, 2, figsize=(16, 8))  
  2. # histogram  
  3. sns.distplot(df.log_rtn, kde=False, norm_hist=True, axax=ax[0])                                  
  4. ax[0].set_title('Distribution of S&P 500 returns', fontsize=16)                                                     
  5. ax[0].plot(r_range, norm_pdf, 'g', lw=2,  
  6.            label=f'N({mu:.2f}, {sigma**2:.4f})')  
  7. ax[0].legend(loc='upper left');  
  8. # Q-Q plot  
  9. qq = sm.qqplot(df.log_rtn.values, line='s', axax=ax[1])  
  10. ax[1].set_title('Q-Q plot', fontsize = 16)  
  11. # plt.tight_layout() 
  12. # plt.savefig('images/ch1_im10.png')  
  13. plt.show() 

執(zhí)行上面的代碼會產(chǎn)生下圖:

我們可以使用直方圖(顯示分布的形狀)和 Q-Q 圖來評估收益的正態(tài)性。此外,我們可以打印匯總統(tǒng)計信息:

通過查看均值、標(biāo)準(zhǔn)差、偏度和峰度等指標(biāo),我們可以推斷它們偏離我們在正態(tài)下的預(yù)期。此外,Jarque-Bera 正態(tài)性檢驗讓我們有理由拒絕原假設(shè),即在 99% 置信水平下分布是正態(tài)的。

二、波動集聚性

運行以下代碼,通過繪制收益序列來發(fā)現(xiàn)第二個典型化事實。

1、可視化收益序列: 

 
 
 
 
  1. df.log_rtn.plot(title='Daily S&P 500 returns', figsize=(10, 6)) 

執(zhí)行代碼會產(chǎn)生下圖:

我們可以觀察到明顯的波動集聚性——波動較大的正收益和負(fù)收益時期。

三、收益不存在自相關(guān)性

我們繼續(xù)去發(fā)現(xiàn)第三個典型化事實。

1、定義用于創(chuàng)建自相關(guān)圖的參數(shù): 

 
 
 
 
  1. N_LAGS = 50  
  2. SIGNIFICANCE_LEVEL = 0.05 

2、運行以下代碼以創(chuàng)建收益的自相關(guān)函數(shù) (ACF) 圖: 

 
 
 
 
  1. acf = smt.graphics.plot_acf(df.log_rtn,   
  2.                             lags=N_LAGS,   
  3.                             alpha=SIGNIFICANCE_LEVEL) 

執(zhí)行上面的代碼會產(chǎn)生下圖:

只有少數(shù)值位于置信區(qū)間之外并且可以被認(rèn)為具有統(tǒng)計顯著性。我們可以假設(shè)已經(jīng)驗證了收益序列中沒有自相關(guān)性。

四、平方/絕對收益的自相關(guān)性小且遞減

通過創(chuàng)建平方和絕對收益的 ACF 圖來研究第四個典型化事實。

1、創(chuàng)建 ACF 圖: 

 
 
 
 
  1. fig, ax = plt.subplots(2, 1, figsize=(12, 10))  
  2. smt.graphics.plot_acf(df.log_rtn ** 2, lags=N_LAGS,   
  3.                       alpha=SIGNIFICANCE_LEVEL, axax = ax[0])  
  4. ax[0].set(title='Autocorrelation Plots',  
  5.           ylabel='Squared Returns')  
  6. smt.graphics.plot_acf(np.abs(df.log_rtn), lags=N_LAGS,  
  7.                       alpha=SIGNIFICANCE_LEVEL, axax = ax[1])  
  8. ax[1].set(ylabel='Absolute Returns',  
  9.           xlabel='Lag') 

執(zhí)行上面的代碼會產(chǎn)生以下圖:

我們可以觀察到平方回報和絕對回報的自相關(guān)值很小且不斷減小,這與第四種典型化事實一致。

五、杠桿效應(yīng)

對于第五個事實,運行以下步驟來調(diào)查杠桿效應(yīng)的存在。

1、將波動性度量計算為滾動標(biāo)準(zhǔn)偏差: 

 
 
 
 
  1. df['moving_std_252'] = df[['log_rtn']].rolling(window=252).std()  
  2. df['moving_std_21'] = df[['log_rtn']].rolling(window=21).std() 

2、繪制所有系列以進(jìn)行比較: 

 
 
 
 
  1. fig, ax = plt.subplots(3, 1, figsize=(18, 15),   
  2.                        sharex=True)  
  3. df.adj_close.plot(axax=ax[0])  
  4. ax[0].set(title='S&P 500 time series',  
  5.           ylabel='Price ($)')  
  6. df.log_rtn.plot(axax=ax[1])  
  7. ax[1].set(ylabel='Log returns (%)')  
  8. df.moving_std_252.plot(axax=ax[2], color='r', 
  9.                        label='Moving Volatility 252d')  
  10. df.moving_std_21.plot(axax=ax[2], color='g',   
  11.                       label='Moving Volatility 21d')  
  12. ax[2].set(ylabel='Moving Volatility',  
  13.           xlabel='Date')  
  14. ax[2].legend() 

我們現(xiàn)在可以通過將價格序列與(滾動)波動率指標(biāo)進(jìn)行可視化比較來研究杠桿效應(yīng):

這一事實表明,資產(chǎn)波動性的大多數(shù)衡量標(biāo)準(zhǔn)與其回報呈負(fù)相關(guān),我們確實可以觀察到價格下跌時波動性增加而價格上漲時波動性減少的模式。 


名稱欄目:用Python分析資產(chǎn)收益的典型化事實
瀏覽路徑:http://uogjgqi.cn/article/cdegcho.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流