我正在尝试在matplotlib中打印股票的上,中,下布林带。我有一个pandas Dataframe中的所有数据。我将“日期”列转换为日期时间,然后转换为matplotlibdate。我使用以下代码。
import datetime as dt
import talib
from talib import MA_Type
import matplotlib.pyplot as plt
from util import toDateTime
import matplotlib.dates as mdates
date = pd.to_datetime(data['Date']) #datetime type
dates = mdates.date2num(date) #float
y = data['Close'].values #array of stock price values
y1, y2, y3 = talib.BBANDS(y, matype=MA_Type.T3) ##Bollinger bands analysis
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y')) #prettify the labels
plt.plot(dates,y) #plot the dates on x an prices on y
plt.plot(dates,y1) #bollinger band high
plt.plot(dates,y2) #bollinger band middle
plt.plot(dates,y3) #bollinger band low
plt.show
可以在此处找到数据的CSV文件:http://finance.yahoo.com/q/hp?s=TSLA+Historical+Prices
有人知道我错过了什么吗?