2017-08-20 3 views
0

私はta-libを使用して市場価格に基づいてインジケーターシリーズを構築しています。私は同じコンセプトをいくつか実装しましたが、どの実装でも同じ問題が見つかりました。正しい一連の値を取得するには、入力系列を元に戻し、最後に結果系列を元に戻す必要があります。建物シリーズのタライブ評価オーダー

rsi1 = np.asarray(run_example( function_name, 
           arguments, 
           30, 
           weeklyNoFlatOpen[0], 
           weeklyNoFlatHigh[0], 
           weeklyNoFlatLow[0], 
           weeklyNoFlatClose[0], 
           weeklyNoFlatVolume[0][::-1])) 

rsi2 = np.asarray(run_example( function_name, 
           arguments, 
           30, 
           weeklyNoFlatOpen[0][::-1], 
           weeklyNoFlatHigh[0][::-1], 
           weeklyNoFlatLow[0][::-1], 
           weeklyNoFlatClose[0][::-1], 
           weeklyNoFlatVolume[0][::-1]))[::-1] 

両方のシリーズのグラフは(インジケーターが本当にSMAである)ここで観察することができます: enter image description here

緑便利なラッパーによるTA-libのライブラリへの呼び出しがあるんPythonコード線は明らかに逆順(nサンプルから0まで)と予想される順序で赤で計算されます。赤い線を達成するには、入力シリーズと出力シリーズを逆にする必要があります。

このテストのコードがで提供されています:python code

誰もが同じ行動を観察しましたか?

+0

問題はあなた側にある必要があります。おそらくプロットすることで。 TAインジケータが呼び出された直後に戻りデータをデバッグできますか? – truf

答えて

0

問題に対する私のアプローチが間違っていることがわかりました。簡単な答えは、MAインジケータが結果配列の最初の有効な値を位置ゼロに置くため、結果系列はゼロから始まり、入力系列よりもNサンプル少ないです(Nはこの場合は周期値です)。復帰した計算の考え方は完全に間違っていた。

enter image description here

が先頭に30個のゼロを追加し、インジケータがうまく入力系列の上にフィットする最後のものを除い:

はここに証拠です。

enter image description here