Создание индикатора, который использует процентили для получения торговых сигналов.

Статистические концепции всегда присутствуют в торговле, будь то управление рисками или разработка стратегии. Процентили составляют один из столпов описательной статистики, но помогают ли они в торговле? В этой статье мы обсудим использование процентилей для создания сделок.

Я только что выпустил новую книгу после успеха моей предыдущей «Книга торговых стратегий». Он содержит передовые индикаторы и стратегии, следующие за трендом, а также страницу GitHub, посвященную постоянно обновляемому коду. Кроме того, в этой книге представлены оригинальные цвета после оптимизации затрат на печать. Если вы чувствуете, что это вас интересует, не стесняйтесь посетить приведенную ниже ссылку Amazon, или, если вы предпочитаете купить версию в формате PDF, вы можете связаться со мной на LinkedIn.



Концепция процентилей

Процентиль — это просто порог, при котором определенный процент значения находится ниже текущего значения. Вот более подробный пример:

  • Если ваш результат на экзамене CFA уровня I составляет около 90-го процентиля, это означает, что вы набрали больше баллов, чем 90 % кандидатов.
  • Если цена закрытия на EURUSD находится в 100-м процентиле относительно последних 10 ценовых баров, это означает, что цена закрытия является самой высокой среди последних 10 значений.

В статистике принято называть 25-й процентиль квартилем, 50-й процентиль - медианой, а 75-й процентиль - третьим квартилем.

Индикатор процентильного диапазона

Индикатор процентного диапазона будет вращаться вокруг рыночной цены и просто выводить процентиль текущей рыночной цены по отношению к выбранному ретроспективному периоду. Например, рассмотрим следующие три последних значения:

Если переставить их от меньшего к большему, то получится следующая таблица:

Мы обнаруживаем, что наше последнее значение 1,42848 находится в середине. Это эквивалент 50-го процентиля. Таким образом, мы также можем сказать, что 1,42848 является медианой в этом диапазоне трех значений.

Идея индикатора состоит в том, чтобы делать то же самое, но с более широкими ретроспективными периодами. Это может помочь нам генерировать сигналы вокруг экстремумов.

Чтобы создать индикатор диапазона процентилей, мы можем следовать приведенному ниже коду:

import numpy as np
from scipy import stats

И, наконец, простое определение функции, вычисляющей процентили на скользящей основе:

def adder(data, times):
    
    for i in range(1, times + 1):
    
        new = np.zeros((len(data), 1), dtype = float)
        
        data = np.append(data, new, axis = 1)
    return data
def deleter(data, index, times):
    
    for i in range(1, times + 1):
    
        data = np.delete(data, index, axis = 1)
    return data
   
def jump(data, jump):
    
    data = data[jump:, ]
    
    return data
def percentile_range_indicator(data, lookback, what, where):
data = adder(data, 1)
    
    for i in range(len(data)):    
   
        data[i, where] = stats.percentileofscore(data[i - lookback + 1:i, what], data[i, what])
    
    return data

Также интересно узнать, что мы можем применить к индикатору 3-периодную скользящую среднюю, чтобы сгладить ее и использовать для дискреционной торговли.

Если вы хотите видеть больше статей, подпишитесь на мой ЕЖЕДНЕВНЫЙ информационный бюллетень (доступен бесплатныйплан) по ссылке ниже. В нем представлены мои статьи на Medium, другие торговые стратегии, уроки кодирования, связанные с исследованиями и анализом, а также подписчики получают бесплатную копию моей первой книги в формате PDF. Вы можете ожидать 5–7 статей в неделю с платной подпиской и 1–2 статей в неделю с бесплатным планом. Это помогло бы мне продолжить делиться своими исследованиями. Спасибо!



Личная критика

На мой взгляд, с этим индикатором нужно сделать много настроек, прежде чем он станет работоспособным, поскольку он страдает от следующих проблем:

  • Результаты обратного тестирования не показывают большой добавленной стоимости по сравнению с другими стратегиями.
  • Несмотря на то, что метод процентилей хорошо известен, сама стратегия неизвестна, и поэтому ее влияние слабее.

Если вас также интересуют более технические индикаторы и стратегии, то моя книга может вас заинтересовать:



Заключение

Не забывайте всегда проводить бэк-тесты. Вы всегда должны верить, что другие люди неправы. Мои индикаторы и стиль торговли могут подойти мне, но не вам.

Я твердо верю в то, что нельзя кормить с ложечки. Я учился, делая, а не копируя. Вы должны получить идею, функцию, интуицию, условия стратегии, а затем разработать (даже лучше) ее самостоятельно, чтобы протестировать и улучшить ее, прежде чем принимать решение о ее реализации или ликвидации. Мой выбор не предоставлять конкретные результаты обратного тестирования должен побудить читателя глубже изучить стратегию и больше работать над ней.

Medium — это центр для многих интересных чтений. Я прочитал много статей, прежде чем решил начать писать. Подумайте о том, чтобы присоединиться к Medium, используя мою реферальную ссылку!



Подводя итог, реалистичны ли стратегии, которые я предлагаю? Да, но только за счет оптимизации среды (надежный алгоритм, низкие затраты, честный брокер, надлежащее управление рисками и управление заказами). Стратегии предоставляются только для использования исключительно в торговле? Нет, это должно стимулировать мозговой штурм и получение большего количества торговых идей, поскольку мы все устали слышать о перепроданности RSI как о причине для открытия короткой позиции или о преодолении сопротивления как о причине идти долго. Я пытаюсь представить новую область под названием «Объективный технический анализ», в которой мы используем достоверные данные для оценки наших методов, а не полагаемся на устаревшие классические методы.