#python #pandas #finance #stock #quantitative-finance
Вопрос:
просто заранее говорю, что это, вероятно, математический вопрос применяя его в Панд Python, заранее приношу извинения, если я спрашиваю не в том месте.
Я изучаю движение цен на акции, каждая из которых имеет разный ценовой диапазон. Три примера биржевых тикеров и их ценовых движений за последнее время.
КАРВ: от 2,75 до 9,25 долларов
SGOC: от $ 2,39 до $18,8
СНЕГ: от $ 251,00 до $272,00
Есть индикатор, в котором я пытаюсь найти период минимального движения, например, период в белом квадрате ниже.
Моя гипотеза состоит в том, что когда движение цены низкое и когда эти затененные зеленые/коричневые области «тонкие», это период «консолидации». Затененные области образованы двумя линиями, называемыми spanA и spanB. Сначала я беру вертикальное расстояние между spanA и spanB, затем делю расстояние на spanB, используя последнее в качестве «якоря».
Эта зелено-коричневая область обозначена как «кумо», часть индикатора ишимоку. Как ни хитро здесь, эти spanA и spanB отображаются на графиках на 26 «периодов» в будущее. Поэтому, чтобы получить цифры spanA spanB для каждой ценовой свечи, отображаемой на графиках, в файле Excel ниже, вам нужно взять 26 строк за ценой закрытия текущей строки. Например, цифры spanA и spanB цены закрытия строки 127 находятся в строке 100. Формула для получения «толщины кумо» и % в python выглядит следующим образом:
def kumothickness(df):
df.loc[:, 'kumothickness'] = abs(df.span_a.shift(26) - df.span_b.shift(26))
df.loc[:, 'kumothick%'] = abs(df.span_a.shift(26) - df.span_b.shift(26))/df.span_b.shift(26)
return df
Моя проблема в том, что, когда формула применяется к другим акциям с разными ценовыми диапазонами, то, что считается подходящим ценовым диапазоном, скажем, для CARV, совершенно не подходит для SGOC или SNOW.
Например, для CARV изначально я счел подходящим диапазон, скажем, 2%, как вы видите из цифр, представляющих белый прямоугольник на диаграмме выше.
However, I found the % range to for SGOC and SNOW to be 7% and 0.15% respectively.
Is there a way to compare the same variable (price in this case) but for different ranges?
Charts and corresponding tables below, followed by the EXCEL file of the dataset: SGOC
Файл Excel: https://1drv.ms/x/s!Aj99irJinMf5g41cs1341uhAEVPTog?e=NEFoWF