我使用以下代码(来自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)
在上面的图片中,我手动使用峰/谷将图表/数组切成12个子数组,但是我要做的是通过代码执行此操作,并从原始数组中制作出这12个子数组。我该怎么办?