Python是一種用于數(shù)據(jù)分析和可視化的強(qiáng)大工具。其中之一是波動(dòng)率的可視化。
要生成波動(dòng)率圖表,需要使用Python中的scipy和numpy包。以下是例子代碼:
import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm #定義一個(gè)函數(shù)用于計(jì)算每日收益率 def get_returns(prices): returns = [] for i in range(1, len(prices)): r = (prices[i] - prices[i - 1]) / prices[i - 1] returns.append(r) return np.array(returns) #生成隨機(jī)股票數(shù)據(jù) prices = np.random.normal(100, 10, 252) #獲取每日收益率 returns = get_returns(prices) #計(jì)算歷史波動(dòng)率 volatility = np.std(returns) * np.sqrt(252) #計(jì)算正態(tài)分布曲線并繪制波動(dòng)率圖表 x = np.linspace(-5, 5, 1000) y = norm.pdf(x, 0, 1) * volatility plt.plot(x, y) #添加標(biāo)簽 plt.title("Stock Volatility") plt.xlabel("Returns") plt.ylabel("Frequency") plt.show()
在此代碼中,首先定義了一個(gè)函數(shù)用于計(jì)算每日收益率。接下來(lái),使用numpy包生成隨機(jī)的股票價(jià)格數(shù)據(jù)。然后使用get_returns()函數(shù)來(lái)計(jì)算每日收益率。使用numpy包的std()函數(shù)計(jì)算歷史波動(dòng)率。計(jì)算完成后,使用scipy包的norm()函數(shù)生成正態(tài)分布曲線并將其繪制到波動(dòng)率圖表中。
最后,在波動(dòng)率圖表中添加標(biāo)簽以提供更多的信息和可讀性。