1

2021 年 6 月,我运行了一个 Python 股票脚本,从雅虎财经网站获取数据,以显示 National Grid plc 股票的日本烛台图。

不幸的是,当我在 2021 年 7 月 10 日尝试运行该程序时,该程序现已停止运行,但我已将 mpl_finance 更改为 mplfinance。

mpl_finance 和 mplfinance 软件包已升级,但我现在收到此错误:

ImportError:无法从“mplfinance”导入名称“candlestick_ohlc”

import datetime as dt
import pandas_datareader as web
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from mplfinance import candlestick_ohlc

# Define Time Frame
start = dt.datetime(2021,6,2) # National Grid plc shares were bought on 02/06/2021
end = dt.datetime.now() # Current Time

# Load Data from yahoo API
ticker = 'NG.L'
data = web.DataReader(ticker, 'yahoo', start, end)
print(data.columns)

# Stock Market Prices during work day
data = data[['Open', 'High', 'Low', 'Close']]
data.reset_index(inplace=True)
data['Date'] = data['Date'].map(mdates.date2num)

# Visualization of candlestick chart
ax = plt.subplot()
ax.grid(True)
ax.set_axisbelow(True)
ax.set_title('{}  - NATIONAL GRID PLC - JUNE 2021 - PRESENT'.format(ticker), color='black')
ax.set_facecolor('white')
ax.figure.set_facecolor('lightgray')
ax.tick_params(axis='x', colors='black')
ax.tick_params(axis='y', colors='black')
ax.xaxis_date()
candlestick_ohlc(ax, data.values, width=0.5, colorup='forestgreen', colordown='orangered') # Colours for Japanese candlesticks
plt.xlabel('TIMELINE OF NG.L STOCK', color='black')
plt.ylabel('STOCK PRICE IN BRITISH POUND STERLING', color='black')
plt.show()

直到最近,我运行类似这样的脚本都没有问题,这令人沮丧。

我安装了 Anaconda3(Python 3.8.8 64 位)和 Python 3.9.6(64 位)。我使用的 IDE 是 PyScripter 和 Visual Studio Code。

感谢您提供任何帮助以帮助我解决此问题。

4

1 回答 1

0

要使用旧candlestick_ohlcAPI,您必须将上面代码中的导入更改为:

from mplfinance import candlestick_ohlc

from mplfinance.original_flavor import candlestick_ohlc
于 2021-07-11T03:32:53.087 回答