CSV から Pandas データフレームに解析し、15 分バーにリサンプリングした OHLC 価格データ セットがあります。
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 500047 entries, 1998-05-04 04:45:00 to 2012-08-07 00:15:00
Freq: 15T
Data columns:
Close 363152 non-null values
High 363152 non-null values
Low 363152 non-null values
Open 363152 non-null values
dtypes: float64(4)
期間範囲 (HL) などの単純なものから始めて、定義する価格パターンの発生を示すブール値など、さまざまな計算列を追加したいと思います。
def closed_in_top_half_of_range(h,l,c):
return c > l + (h-l)/2
def lower_wick(o,l,c):
return min(o,c)-l
def real_body(o,c):
return abs(c-o)
def lower_wick_at_least_twice_real_body(o,l,c):
return lower_wick(o,l,c) >= 2 * real_body(o,c)
def is_hammer(row):
return lower_wick_at_least_twice_real_body(row["Open"],row["Low"],row["Close"]) \
and closed_in_top_half_of_range(row["High"],row["Low"],row["Close"])
基本的な問題:関数を列にマップするにはどうすればよいですか?具体的には、複数の他の列または行全体などを参照したい場所ですか?
この投稿では、1 つのソース列から 2 つの計算列を追加する方法を扱います。これは近いですが、完全ではありません。
もう少し高度な: 複数のバー (T) を参照して決定される価格パターンの場合、関数定義内から異なる行 (T-1、T-2 など) を参照するにはどうすればよいですか?