Python Talib库非随机函数返回不一致的值
我正在使用talib库中的MACD函数 函数的输出基于输入值的移动平均值 让我们创建函数输入:Python Talib库非随机函数返回不一致的值,python,ta-lib,Python,Ta Lib,我正在使用talib库中的MACD函数 函数的输出基于输入值的移动平均值 让我们创建函数输入: close = np.array([ 2930.8, 2926.3, 2941.5, 2942.9, 2948.5, 2923.1, 2917.6, 2947.6, 2932.4, 2890.8, 2887.2, 2872.7, 2886.9, 2807.1, 2839.2, 2855. , 2878.6, 2862. , 2843.9,
close = np.array([ 2930.8, 2926.3, 2941.5, 2942.9, 2948.5, 2923.1, 2917.6,
2947.6, 2932.4, 2890.8, 2887.2, 2872.7, 2886.9, 2807.1,
2839.2, 2855. , 2878.6, 2862. , 2843.9, 2866.1, 2857.4,
2819.4, 2831.8, 2805.1, 2780.1, 2790.4, 2752.6, 2749.6,
2804.9, 2827.7, 2845.7, 2874.9, 2889.2, 2886.9, 2881. ,
2898.4, 2894.8, 2896.3, 2926.2, 2933.4, 2960. , 2950.6,
2952.1, 2922.1, 2917.9, 2930.9, 2944.2, 2967.7, 2979.6,
3000.3])
index = pd.date_range('2019-04-24','2019-07-02', freq = 'B')
fast_period, slow_period, signal_period = 3, 10, 1
让我们运行函数:
import talib as ta
macd_histogram = pd.DataFrame({'macd_hist': ta.MACD(close, fast_period, slow_period, signal_period)[2]}, index = index)
让我们检查输出的最后几个值:
print(macd_histogram[-3:])
2019-06-28 -11.932
2019-07-01 90723585644794610874060269361590083028296154282...
2019-07-02 0.000
Freq: B, Name: macd_hist, dtype: float64
问题:如您所见,最后两个值明显失真
让我们重做完全相同的过程:
macd_histogram = pd.DataFrame({'macd_hist': ta.MACD(close, fast_period, slow_period, signal_period)[2]}, index = index)
print(macd_histogram[-3:])
2019-06-28 -11.932
2019-07-01 24.066
2019-07-02 30.652
Freq: B, Name: macd_hist, dtype: float64
这一次,最后两个值似乎更可能被正确计算
让我们再试一次
macd_histogram = pd.DataFrame({'macd_hist': ta.MACD(close, fast_period, slow_period, signal_period)[2]}, index = index)
print(macd_histogram[-3:])
macd_hist
2019-06-28 -11.932
2019-07-01 0.000
2019-07-02 0.000
更不一致 您能否仅显示对
ta.MACD
的调用的输出,即未包装在数据帧中?