Предыдущая статья о "Расчете дневного изменения цены"

Когда я писал прошлую статью (она была первой из цикла) я не предполагал, что читатели разделятся на 2 категории:

  1. Те, кто верят, в алготрейдинг

  2. Те, кто верят, что я шарлатан

Для обоих групп я напоминаю, что цель алготрейдинга - это увеличить вероятность получить прибыль от сделки.
Или же, как говорят в "теории игр" - сделать математическое ожидание от игры положительным.

Поэтому, предлагаю аудитории договориться о следующем:

  1. Если ваш комментарий несет научный смысл, то пишите его под постом в Хабре.

  2. Если ваш комментарий несет дискуссионный посыл, то прошу задавать его в специально созданном канале в телеге.

Собственно, здесь я перехожу к сути данной статьи.

SMA (Simple Moving Average, Скользящее среднее) - индикатор, основанный на подсчете среднего значения цены закрытия ценной бумаги.

Для тех, кто не знает что такое SMA, приведу алгоритм его подсчета:

  1. Взять цену закрытия "close" ценной бумаги за период от t1 до t2 и отсортировать ее от t1 к t2.

  2. Взять таймфрейм из первых N значений цены close.

  3. Посчитать среднее арифметическое значение таймфрейма (simple average).

  4. Сдвинуть таймфрейм вперед на одно значение (происходит moving) и выполнить пункт 3

  5. Пункт 4 проводить до тех пор, пока таймфрейм не дойдет до точки t2

Отрисуем график SMA (N=20) для цены close акций Северсталь (тикер CHMF) за 27 мая 2021г.:

По графику видно, что SMA является сглаженной версией цены Close с временным лагом в 20 периодов.

Полосы Боллинджера (Bollinger Bands)

В 1980х годах Джон Боллинджер предложил рассчитывать не только SMA, но и STD (standart deviation, среднеквадратическое отклонение). Таким образом, мы будем видеть не только график изменения средней цены, но и ее волатильность.

Обычно, значения std устанавливают равным 2. В таком случае, с вероятностью в 95% следующее значение цены close будет лежать внутри полосы Боллинджера и только в 5% случаях оно будет выходить из этой полосы.

В тех местах, где цена close близка к нижней грани полосы Боллинджера, стоимость акций считается низкой. И, наоборот, если цена close близка к верхней грани полосы Боллинджера, стоимость акций считается высокой.

И тут у трейдера срабатывает чуйка: покупаем на низах, продаем на хаях (никак не наоборот).

Весь код с использованием полос Боллинджера привел на Google Colab

В следующей статье поговорим об RSI.

UPD:
Из-за большого количества негодования закрыл ноутбук на Google Colab. Открою код как только рейтинг у публикации станет больше 100.

Стратегия, основанная на полосах Боллинджера (по понятным причинам, я привел только часть этой стратегии в ноутбуке), за период с '2020-05-31' по '2021-05-31' на акция CHMF принесла:
1. Суммарный профит с учетом комиссий = 1.28
2. Средний профит от сделки = 0.0038
3. Стандартное отклонение среднего профиля = 0.015
4. Самое большой проигрыш = -0.045
5. Самый большой выигрыш = 0.052
6. Медианный профит от сделки = 0.007
7. Количество транзакций = 153
8. Количество успешных транзакций = 100
9. Количество неуспешных транзакций = 53