Pyalgotradeを使用していますが(通常はta-libインジケータと組み合わせて)、機能がありませんデータシリーズのローカル最大値と最小値を見つけます 。PyaserogradeはDataseriesで最新のピーク(最小または最大)を見つける
私はmin関数とmax関数を認識していますが、これは私が探しているものではありません。 E. MIN(低、カウント= 5)は私に5つの小棒の最低を与えるが、これは5つの値の外を見ない。私は特定の期間、私は "ローカル低"の値を返す関数を探しています。 e。その日の前後2日間は値が低かった。
例
Series [2,3,2,1,3,4,5,6,6]
MIN(5) -> returns 3, but the lowest value is on the left border of the observed window
and the day before, the value was even lower!
whatiamlookingfor() -> should return 1,
because it is the last local low over a +/-2 days period
私はそれは私が何を意味するかは明らかです願っています。私が見落としたかもしれないこの目的のための機能ですか?データ系列に低いを検索するに
EDIT
、私は
def min_peak(series, interval):
reference = -1
left = reference - interval
while -reference < len(series):
if min(series[left:]) == min(series[reference:]):
return min(series[left:])
reference -= 1
left -= 1
...このような何かを思い付いた...しかし、私は、このソリューションに非常に満足していません、シリーズを後方に解析するのはあまり効率的ではないと思うからです。私は、ネイティブで動作するビルトインの何かがおそらくもっと速くなると仮定します。
種類よろしく、
エール私はNode.jsの中で座っていると私のpythonに精通していないよけれども、私が持っているのに、私はここであなたを助けたい
解決策は簡単ですが、最適化されたパッケージやta-libなどの外部ライブラリを使用すると、通常は実行中に1桁高速になります。私の希望は、再利用できるものがあるということでした。 – Ale
@Ale私は自分の答えを更新しました。 – superhero