3

最近、パンダとパイソンを見つけました。私は Wes の本に目を通しました。さらに、ここ SO で pandas のタグが付いた質問を繰り返し調べて、この質問に対する答えを収集しました。だから私は試してみました...私の貧弱なプログラミングの知性は残念ながら輝いています;)

これが私がやろうとしていることです:

私は非常に簡単な分析をしようとしている日中の FX データ (毎時) を持っています。価格が毎日の始値レベルをテストし、それを拒否するか通過する頻度をテストしようとしています.

それは私には簡単に思えます....すべてのコンポーネントをまとめて最終的な完全なソリューションにたどり着くのに迷っています。

疑似コードでは、私が達成しようとしていることは次のとおりです。

  • read_csv 経由でデータを読み込む
  • 毎日の各オープン レベルを計算します (at_time を使用しますか?)
  • すべての毎時のろうそく
    • ローソク足の安値が毎日のオープンレベルを下回っているかどうかをテストします
    • ローソク足の終値が毎日の始値を上回っているかどうかをテストします

誰かが私を正しい方向に向けることができれば、本当に感謝しています。私はこれをあきらめようとしているところです。答えは本当にシンプルであるべきだと思いますが、今は迷っています

これが私が扱ってきたデータです:

data = pd.read_csv('data/GBPUSD60.csv', 
                names=['Date','Time','Open','High','Low','Close','Volume'],
                parse_dates={'Timestamp': ['Date', 'Time']},
                index_col=['Timestamp'])

                # Get rid of the volume
                del data['Volume']

結果の DF:

                     Open    High    Low     Close   
Timestamp                   
2012-11-14 04:00:00  1.58766 1.58890 1.58749 1.58877      
2012-11-14 05:00:00  1.58874 1.58887 1.58819 1.58849      
2012-11-14 06:00:00  1.58849 1.58921 1.58831 1.58890      
2012-11-14 07:00:00  1.58890 1.58895 1.58811 1.58876      
2012-11-14 08:00:00  1.58874 1.58934 1.58841 1.58849      

私は、次の 2 つの方法のいずれかを実行する必要があると想定しています。

  • 日ごとにデータをグループ化し、行をループして日中ローソク足をテストします。
  • 次に、df.apply 関数を使用して、ろうそくをテストする関数を生成できます。

どちらのアプローチの問題も、必要なフィールドにアクセスしようとすると、あらゆる種類の問題が発生することです。

4

1 に答える 1