Привет, Хабр! Сегодня я хочу начать свой цикл статей по алготрейдингу.
Первым делом расскажу о самом простом индикаторе ожидаемой доходности ценной бумаги - дневное изменение цены.
Дневное изменение цены - это отношение цены закрытия текущего дня к цене закрытия предыдущего дня. Говоря простым языком, это процент, на который выросла или упала ценная бумага за 1 день.
Сам по себе этот индикатор не сильно полезен - он просто показывает дневное изменение цены. Но, вот, если мы накопим статистику за какой-либо период (например, за месяц), мы можем рассчитать медиану и, тем самым, попытаться предсказать ожидаемую прибыль за 1 день.
Перейдем к практике:
Для проведения расчетов нам понадобится:
Данные об изменениях цен (вполне сойдет API Мосбиржи)
Знание Python и его библиотек Pandas и Matplotlib
Трейдерская чуйка (уверен, если вы читаете эту статью, то она у вас есть)
Весь код я приведу в ноутбуке на google colab
Далее я буду рассказывать о дневном изменении стоимости ценных бумаг за период с 1 января 2021г. по 25 мая 2021г.
Для примера, возьмем акции компании Лукойл (тикер LKOH). Для них распределение дневного изменения цены выглядит следующим образом:
Для акций Лукойла за период с 1 января 2021 года по 25 мая 2021 года мы имеем медиану, равную 0,26%. Это означает, что если завтра не предвидится никаких хороших или плохих новостей, то мы можем ожидать рост стоимости акций на 0,26%
Для понимания разброса значений мы должны рассчитать нижнюю и верхнюю квантили.
ticker | median | q005 | q05 | q25 | q75 | q95 | q995 |
---|---|---|---|---|---|---|---|
LKOH | 0.0026 | -0.036 | -0.026 | -0.01 | 0.011 | 0.032 | 0.035 |
Рассчитав квантили q25 и q75 мы видим, что 50% всех значений дневного изменения цены лежат в диапазоне [-1%; 1,1%]. Т.е., согласно статистике, в 5 из 10 торговых сессиях, цена акции Лукойла упадет не более чем на -1% или вырастет не более чем на 1,1%.
Рассчитав квантили q005 и q995 мы видим, что 99% всех значений дневного изменения цены лежат в диапазоне [-3,6%; 3,5%]. Т.е., согласно статистике, почти во всех торговых сессиях, цена акции Лукойла упадет не более чем на -3,6% или вырастет не более чем на 3,5%.
Рассчитав квантили q05 и q95 мы видим, что 90% всех значений дневного изменения цены лежат в диапазоне [-2,6%; 3,2%]. Т.е., согласно статистике, в 9 из 10 торговых сессиях, цена акции Лукойла упадет не более чем на -2,6% или вырастет не более чем на 3,2%.
Визуализация этого распределения будет выглядеть следующим образом:
Следующим этапом является разделение данных на месячные периоды. В таком случае, основные квантили будут иметь следующие значения:
month | ticker | median | q005 | q05 | q25 | q75 | q95 | q995 |
---|---|---|---|---|---|---|---|---|
2021-01-01 | LKOH | 0.0032 | -0.022 | -0.029 | -0.007 | 0.011 | 0.033 | 0.032 |
2021-02-01 | LKOH | 0.0041 | -0.027 | -0.028 | -0.010 | 0.014 | 0.027 | 0.027 |
2021-03-01 | LKOH | 0.0029 | -0.028 | -0.027 | -0.006 | 0.014 | 0.034 | 0.035 |
2021-04-01 | LKOH | -0.0005 | -0.019 | -0.019 | -0.011 | 0.005 | 0.015 | 0.015 |
2021-05-01 | LKOH | 0.0023 | -0.022 | -0.024 | -0.013 | 0.016 | 0.027 | 0.022 |
Видим, что в апреле 2021г. медиана стала отрицательной, что намекает нам об открытии коротких позиций в этом месяце. Визуализировав эти цифры мы получим следующую картинку:
В следующей статье расскажу про индикатор "Полосы Боллинджера".