У мене є набір даних про ціни OHLC, який я проаналізував із CSV у фрейм даних Pandas і зробив вибірку до 15-хвилинних барів:
<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"])
Основна проблема: як я можу зіставити функцію зі стовпцем, зокрема там, де я хотів би посилатися на більше ніж один інший стовпець або цілий рядок чи що інше?
Ця публікація стосується додавання двох обчислюваних стовпців з одного вихідного стовпця, який є близьким, але не зовсім цим.
І трохи вдосконаленіший: для моделей цін, які визначаються з посиланням на більше, ніж один бар (T), як я можу посилатися на різні рядки (наприклад, T-1, T-2 тощо) у межах визначення функції?