Ich habe einen OHLC-Preisdatensatz, den ich von CSV in einen Pandas-Datenrahmen analysiert und auf 15-Minuten-Balken neu abgetastet habe:
<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)
Ich möchte verschiedene berechnete Spalten hinzufügen, beginnend mit einfachen Spalten wie dem Periodenbereich (HL) und dann Booleschen Werten, um das Auftreten von Preismustern anzuzeigen, die ich definieren werde - z. B. ein Hammerkerzenmuster, für das eine Beispieldefinition gilt:
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"])
Grundproblem: Wie ordne ich die Funktion der Spalte zu, insbesondere dort, wo ich auf mehr als eine andere Spalte oder die gesamte Zeile oder was auch immer verweisen möchte?
Dieser Beitrag befasst sich mit dem Hinzufügen von zwei berechneten Spalten aus einer einzelnen Quellenspalte, was nahe ist, aber nicht ganz.
Und etwas weiter fortgeschritten: Wie kann ich bei Preismustern, die mit Bezug auf mehr als einen einzelnen Balken (T) ermittelt werden, innerhalb der Funktionsdefinition auf verschiedene Zeilen (z. B. T-1, T-2 usw.) verweisen?