Как сегментировать данные, используя пик и долины? - PullRequest
0 голосов
/ 09 апреля 2019

Я использовал следующий код (из https://github.com/jbn/ZigZag/blob/master/zigzag_demo.ipynb), чтобы найти пики и впадины фондового принца, и это сработало для этого, но мне нравится делать отрезки временных рядов на основе этих пиков и впадин Я поставлю картинку, чтобы объяснить, что я имею в виду:

from zigzag import peak_valley_pivots
from zigzag import pivots_to_modes
from zigzag import compute_segment_returns

X = dataset_train.iloc[:, 4]
pivots = peak_valley_pivots(X.values , 0.2, -0.2)
ts_pivots = pd.Series(X, index=X.index)
ts_pivots = ts_pivots[pivots != 0]
plt.figure(0)
X.plot()
ts_pivots.plot(style='g-o');
modes = pivots_to_modes(pivots)
pd.Series(X).pct_change().groupby(modes).describe().unstack()

compute_segment_returns(X, pivots)

enter image description here На приведенном выше рисунке я нарезал диаграмму / массив вручную, используя пики / долины, до 12 вложенных массивов, но я хочу сделать это с помощью кода и создать эти 12 вложенных массивов из исходного массива. Как я могу это сделать?

...