#python #pandas #quantitative-finance #feature-engineering
#python #панды #количественный-финансы #разработка функций
Вопрос:
Нужна помощь в понимании того, как вычислять в коде python тело свечи из OHLC, и хотелось бы сделать следующие классификации из OHLC.
СИЛЬНАЯ ПОКУПКА: если тело следующей свечи находится за пределами тела последней свечи, а тело следующей свечи> в 2 раза больше, чем тело последней свечи, а тело следующей свечи ВЫШЕ тела последней свечи
КУПИТЬ: если тело следующей свечи находится за пределами тела последней свечи и тела следующей свечи> тело последней свечи И тело следующей свечи НАД телом последней свечи
СИЛЬНАЯ ПРОДАЖА: если тело следующей свечи находится за пределами тела последней свечи, А тело следующей свечи> в 2 раза больше, чем тело последней свечи, а тело следующей свечи НИЖЕ тела последней свечи
ПРОДАТЬ: если тело следующей свечи находится за пределами тела последней свечи и тела следующей свечи> тело последней свечи И тело следующей свечи НИЖЕ тела последней свечи
Остальное нейтрально
Ниже приведена логика кода, которую мы придумали
classification_body_size = ABS(class_open - class_high) //determines size of classification
last_body_size = ABS(last_open - last_close) // determines size of last candle in the graph
classification = "Neutral"
if classification_open >= last_close AND classification_close > last_close
if classification_body_size > 2 x last_body_size
classification = "STRONG_BUY"
else
classification = "BUY"
endif
endif
if classification_open <= last_close AND classification_close < last_close
if classification_body_size > 2 x last_body_size
classification = "STRONG_SELL"
else
classification = "SELL"
endif
endif
sample dataset-
Dates PX_OPEN PX_HIGH PX_LOW PX_LAST Predict PX_LAST_SHIFTED
50 2000-03-15 136.875 140.4375 136.0625 139.8125 146.3438 146.3438
51 2000-03-16 141.625 146.8438 140.875 146.3438 146.9375 146.9375
52 2000-03-17 145.8125 148.0 145.4375 146.9375 146.1875 146.1875
53 2000-03-20 146.875 147.3438 144.7813 146.1875 149.1875 149.1875
54 2000-03-21 145.5313 149.75 144.5 149.1875 150.0938 150.0938
55 2000-03-22 149.5625 150.8438 148.6875 150.0938 152.6563 152.6563
56 2000-03-23 149.1563 153.4688 149.1563 152.6563 153.5625 153.5625
57 2000-03-24 152.875 155.75 151.7188 153.5625 151.9375 151.9375
58 2000-03-27 153.375 153.7813 151.8125 151.9375 151.0625 151.0625
59 2000-03-28 151.25 152.9844 150.5938 151.0625 151.2188 151.2188
60 2000-03-29 151.5625 152.4844 149.6563 151.2188 148.6875 148.6875
61 2000-03-30 150.1563 151.9219 147.125 148.6875 150.375 150.375
62 2000-03-31 149.625 152.3125 148.4375 150.375 151.25 151.25
63 2000-04-03 150.125 151.25 148.6875 151.25 145.75 145.75
64 2000-04-04 151.75 153.0 145.75 145.75 149.1875 149.1875
65 2000-04-05 147.875 150.8125 147.625 149.1875 150.4844 150.4844
66 2000-04-06 150.25 151.6875 149.0 150.4844 151.4375 151.4375
67 2000-04-07 151.5625 152.125 150.5 151.4375 150.8438 150.8438
68 2000-04-10 151.75 153.1094 150.3125 150.8438 150.4063 150.4063
69 2000-04-11 150.0 151.625 148.375 150.4063 146.2813 146.2813
70 2000-04-12 150.375 151.1563 146.1563 146.2813 144.25 144.25
71 2000-04-13 147.4688 148.1563 141.125 144.25 136.0 136.0
72 2000-04-14 142.625 142.8125 133.5 136.0 140.75 140.75
73 2000-04-17 135.1875 140.75 134.6875 140.75 144.4688 144.4688
74 2000-04-18 140.5625 144.4688 139.7813 144.4688 143.125 143.125
75 2000-04-19 144.5 145.125 142.5313 143.125 143.8125 143.8125
76 2000-04-20 143.5625 143.9375 142.375 143.8125 142.25 142.25
77 2000-04-24 141.5 143.3125 140.5 142.25 148.1563 148.1563
78 2000-04-25 144.625 148.1563 144.4375 148.1563 146.4844 146.4844
79 2000-04-26 147.9688 148.75 146.0 146.4844 146.0 146.0
80 2000-04-27 143.0 147.3438 143.0 146.0 145.0938 145.0938
81 2000-04-28 147.0 147.8594 145.0625 145.0938 147.0625 147.0625
82 2000-05-01 146.5625 148.4844 145.8438 147.0625 144.125 144.125
83 2000-05-02 145.5 147.125 144.125 144.125 140.75 140.75
84 2000-05-03 144.0 144.0 139.7813 140.75 141.8125 141.8125
85 2000-05-04 142.0 142.3594 140.75 141.8125 143.5313 143.5313
86 2000-05-05 141.0625 144.0 140.9375 143.5313 142.4531 142.4531
87 2000-05-08 142.75 143.375 141.8438 142.4531 141.3125 141.3125
88 2000-05-09 143.0625 143.4063 140.2656 141.3125 138.125 138.125
89 2000-05-10 140.5 140.9688 137.75 138.125 141.2813 141.2813
90 2000-05-11 140.125 141.5 139.125 141.2813 142.8125 142.8125
91 2000-05-12 141.8125 143.4688 141.625 142.8125 145.2813 145.2813
92 2000-05-15 142.75 145.6094 142.0 145.2813 146.6875 146.6875
93 2000-05-16 146.5625 147.7188 145.3125 146.6875 145.1563 145.1563
94 2000-05-17 145.6875 146.1875 144.4688 145.1563 143.375 143.375
95 2000-05-18 145.625 146.3125 143.375 143.375 141.125 141.125
96 2000-05-19 142.5625 143.2344 140.4063 141.125 140.0625 140.0625
97 2000-05-22 141.25 141.4688 137.0 140.0625 138.0 138.0
98 2000-05-23 140.4375 140.8125 137.5625 138.0 140.25 140.25
99 2000-05-24 138.0 140.6875 136.5 140.25 137.8438 137.8438