Шаблон молота TaLib не обнаружен - PullRequest
0 голосов
/ 29 января 2020

Я работаю над автоматизированным проектом для выявления тенденций. Это будет ансамблевая модель, использующая несколько разных входов, и одним из входов будут обнаруженные паттерны свечей (известные паттерны будут сначала использоваться в качестве входных данных и в конечном итоге просто для проверки работоспособности слоя внедрения, который должен автоматически распознавать такие паттерны). Оглядываясь по сторонам, я нашел библиотеку, которая должна была бы распознавать паттерны свечей, такие как паттерн молотка. Когда я тестировал его, я обнаружил некоторые результаты, которые не выглядят правильно для моего глаза.

import re
import numpy as np
import talib
import plotly.graph_objects as go
import plotly.io as pio
data = np.load('usd-bitcoin.npy')
open_ = data[1, -10:].astype(float)
high_ = data[2, -10:].astype(float)
low_ = data[3, -10:].astype(float)
close_ = data[4, -10:].astype(float)

pio.renderers.default = "png"
fig = go.Figure(data=[go.Candlestick(x=data[0, -10:],
                                     open=open_,
                                     high=high_,
                                     low=low_,
                                     close=close_)])
fig.write_image("plots/fig1.png")

cdls = re.findall('(CDL\w*)', ' '.join(dir(talib)))
for cdl in cdls:
    toExec = getattr(talib, cdl)
    out    = toExec(open_, high_, low_, close_)
    print(str(out) + ' ' + cdl)

Как вы можете видеть на изображениях ниже, данные и график подсвечника, кажется, показывают 2 образца молотка один 3 позиции с начала и одна 3 позиции с конца. Однако выходные данные программы показывают, что молотки не обнаружены, это работает так, как предполагалось, или я должен как-то предварительно обработать данные?

[0 0 0 0 0 0 0 0 0 0] CDLHAMMER

data CandleStick Plot

...