Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matplotlib Hist can';t装载或花费的时间太长?_Python_Matplotlib_Histogram_Montecarlo_Graph Visualization - Fatal编程技术网

Python Matplotlib Hist can';t装载或花费的时间太长?

Python Matplotlib Hist can';t装载或花费的时间太长?,python,matplotlib,histogram,montecarlo,graph-visualization,Python,Matplotlib,Histogram,Montecarlo,Graph Visualization,我正试图绘制一个基于蒙特卡罗模拟的直方图,迭代次数为10k。使用plt.plot(price\u list)进行绘图很好,但是直方图没有加载,或者需要花费很长时间(我认为) 我已经运行了一个小时的代码,但在代码仍然无法加载后就放弃了。我尝试过将后端更改为qt5agg并降低垃圾箱,但没有效果 如果我显著降低迭代次数,代码就会工作。我试过使用100个图形,图形绘制得很好 我正在用jupyter笔记本电脑跑步。下面是我写的代码 import numpy as np import pandas as p

我正试图绘制一个基于蒙特卡罗模拟的直方图,迭代次数为10k。使用
plt.plot(price\u list)
进行绘图很好,但是直方图没有加载,或者需要花费很长时间(我认为)

我已经运行了一个小时的代码,但在代码仍然无法加载后就放弃了。我尝试过将后端更改为qt5agg并降低垃圾箱,但没有效果

如果我显著降低迭代次数,代码就会工作。我试过使用100个图形,图形绘制得很好

我正在用jupyter笔记本电脑跑步。下面是我写的代码

import numpy as np
import pandas as pd
import pandas_datareader.data as wb
import matplotlib.pyplot as plt
from scipy.stats import norm
%matplotlib inline

plt.rc("axes.spines", top=False, right=False)

ticker = 'PG'
data = pd.DataFrame()
data[ticker] = wb.DataReader(ticker, 'yahoo', '2007-1-1')['Adj Close']

log_returns = np.log(data / data.shift(1))
u = log_returns.mean()
var = log_returns.var()
stdev = log_returns.std()
drift = u - (0.5 * var)

t_intervals = 250
iterations = 10000

daily_returns = np.exp(drift.values + stdev.values * norm.ppf(np.random.rand(t_intervals, iterations)))

s0 = data.iloc[-1]

price_list = np.zeros_like(daily_returns)
price_list[0] = s0

for t in range(1, t_intervals):
    price_list[t] = price_list[t - 1] * daily_returns[t]

plt.figure(figsize=(20,12))
plt.plot(price_list);
plt.figure(figsize=(20,12))
plt.hist(price_list, bins = 20);