Исключение: настоящее не двойное (PYTHON)
Я пытаюсь взять скользящее среднее объема акций с помощью TA-Lib, но я получаю ошибку выше. Любые предложения о том, как это исправить? Спасибо!
Смотрите код ниже:
import pandas_datareader as pdr
import datetime
import pandas as pd
import numpy as np
import talib as ta
#Download Data
aapl = pdr.get_data_yahoo('AAPL', start=datetime.datetime(2006, 10, 1), end=datetime.datetime(2012, 1, 1))
#Saves Data as CSV on desktop
aapl.to_csv('C:\\Users\\JDOG\\Desktop\\aapl_ohlc.csv', encoding='utf-8')
#Save to dataframe
df = pd.read_csv('C:\\Users\JDOG\\Desktop\\aapl_ohlc.csv', header=0, index_col='Date', parse_dates=True)
twenty_ma = 20
signals = pd.DataFrame(index=aapl.index)
signals['signal'] = 0.0
signals['20 MA'] = ta.SMA(aapl.Volume.values,twenty_ma)
1 ответ
Похоже, что SMA ожидает массив с плавающей точкой, а не целые:
In [11]: ta.SMA(aapl.Volume.values.astype('float64'), twenty_ma)
Out[11]:
array([ nan, nan, nan, ..., 78960385., 76585880.,
73991890.])