def macd_poly(Neff, Nwindow): "Macd-Poly differencer" if Neff > 0: h_pos = ema(Neff/3.0, Nwindow) h_neg = ema_poly1(Neff, Nwindow) h = h_pos - h_neg else: h = np.zeros(Nwindow) h[0]=1 h[1]=-1 return h
def macd_poly(Neff, Nwindow): "Macd-Poly differencer" if Neff > 0: h_pos = ema(Neff / 3.0, Nwindow) h_neg = ema_poly1(Neff, Nwindow) h = h_pos - h_neg else: h = np.zeros(Nwindow) h[0] = 1 h[1] = -1 return h
y_fde = apply_ema_filter(prices, Neff) h_ema = ema(Neff, Nwindow) candidate = np.convolve(prices - prices[0], h_ema) + prices[0] y_convolution = candidate[:len(prices)] axarr[1, 0].set_title("Ema") axarr[1, 0].plot(y_fde) axarr[1, 0].plot(y_convolution, 'o', markerfacecolor='none') # d) Ema poly1 Neff = 32 lag = 2 y_fde = apply_ema_poly1_filter(prices, Neff) h_ema_poly1 = ema_poly1(Neff, Nwindow) candidate = np.convolve(prices - prices[0], h_ema_poly1) + prices[0] y_convolution = candidate[:len(prices)] axarr[1, 1].set_title("Ema poly1") axarr[1, 1].plot(y_fde) axarr[1, 1].plot(y_convolution, 'o', markerfacecolor='none') # e) Integrated Macd-Poly Neff = 32 lag = 3 y_fde = apply_integrated_macd_poly_filter(prices, Neff) h_int_macd_poly = int_macd_poly(Neff, Nwindow) candidate = np.convolve(prices - prices[0], h_int_macd_poly) + prices[0]
axarr[1, 0].set_title("Ema") axarr[1, 0].plot(impulse_response_fde) axarr[1, 0].plot(impulse_response_direct, 'o', markerfacecolor='none') # d) Ema poly1 Neff = 32 lag = 2 impulse = np.zeros(Nwindow) impulse[lag] = 1 candidate = apply_ema_poly1_filter(impulse, Neff) impulse_response_fde = candidate[lag:] impulse_response_direct = ema_poly1(Neff, Nwindow) axarr[1, 1].set_title("Ema poly1") axarr[1, 1].plot(impulse_response_fde) axarr[1, 1].plot(impulse_response_direct, 'o', markerfacecolor='none') # e) Integrated Macd-Poly Neff = 32 Neff_modified = 32 lag = 3 impulse = np.zeros(Nwindow) impulse[lag] = 1 candidate = apply_integrated_macd_poly_filter(impulse, Neff)