Создание и торговля индексом диапазона Гопалакришнана в Python.
Некоторые индикаторы специально используются для определения режимов и волатильности в отличие от индикаторов направленности. В этой статье обсуждается Индекс диапазона Гопалакришнана, который помогает нам понять текущее состояние.
Я только что опубликовал новую книгу после успеха моей предыдущей «Новые технические индикаторы на Python». Он содержит более полное описание и добавление структурированных торговых стратегий со страницей GitHub, посвященной постоянно обновляемому коду. Если вы считаете, что это вас заинтересует, перейдите по ссылке ниже или, если вы предпочитаете купить версию в формате PDF, вы можете связаться со мной через LinkedIn.
Создание индекса GRI
Также называемый индексом GAPO, GRI рассчитывает относительную силу между максимумами и минимумами, деленную на их период ретроспективного анализа.
Если в определенный период ретроспективного обзора разница между самыми высокими максимумами и самыми низкими минимумами увеличивается, индикатор будет расти. Если индекс показывает плоское значение, это означает, что рынку не удалось достичь более высокого максимума и более низкого минимума, поэтому значение остается стабильным.
Каждый раз, когда достигается новый максимум или новый минимум, значение индикатора будет увеличиваться, чтобы приспособиться к этому, поэтому это индикатор тренда.
# The function to add a number of columns inside an array def adder(Data, times): for i in range(1, times + 1): new_col = np.zeros((len(Data), 1), dtype = float) Data = np.append(Data, new_col, axis = 1) return Data # The function to delete a number of columns starting from an index def deleter(Data, index, times): for i in range(1, times + 1): Data = np.delete(Data, index, axis = 1) return Data # The function to delete a number of rows from the beginning def jump(Data, jump): Data = Data[jump:, ] return Data # Example of adding 3 empty columns to an array my_ohlc_array = adder(my_ohlc_array, 3) # Example of deleting the 2 columns after the column indexed at 3 my_ohlc_array = deleter(my_ohlc_array, 3, 2) # Example of deleting the first 20 rows my_ohlc_array = jump(my_ohlc_array, 20) # Remember, OHLC is an abbreviation of Open, High, Low, and Close and it refers to the standard historical data file def gri_index(Data, lookback, high, low, where): Data = adder(Data, 1) for i in range(len(Data)): try: Data[i, where] = abs(np.log(max(Data[i - lookback + 1:i + 1, high]) - min(Data[i - lookback + 1:i + 1, low])) / np.log(lookback)) except ValueError: pass return Data
Одним из ограничений GRI является то, что он не сообщает вам направление тренда. Вы должны сами это обнаружить.
lookback = 14
my_data = gri_index
(my_data, lookback, 1, 2, 4)
Если вы хотите поддержать меня и статьи, которые я регулярно публикую, рассмотрите возможность подписки на мой ЕЖЕДНЕВНЫЙ информационный бюллетень (доступен бесплатный план) по приведенной ниже ссылке. В нем есть некоторые из моих статей о Medium, другие торговые стратегии и уроки программирования, связанные с исследованиями и анализом. Оформив подписку, вы можете рассчитывать на 5–7 статей в неделю. Это поможет мне продолжать делиться своими исследованиями. Спасибо!
Создание стратегии по GRI
Индекс GRI можно использовать во многих стратегиях следования за трендом. Из-за своей природы подтверждения новых максимумов и новых минимумов, мы можем перечислить несколько стратегий ниже:
- Рынок имеет тренд, если GRI растет, поэтому мы можем установить пороговые значения, которые необходимо преодолеть, чтобы понимать, когда мы можем назвать рынок трендовым.
- Если GRI не меняется, то мы можем использовать самую высокую точку на рынке в качестве уровня сопротивления и самую низкую точку на рынке в качестве уровня поддержки.
- Мы можем использовать GRI с MACD, чтобы подтвердить тренд. Предлагаемая стратегия заключается в том, что всякий раз, когда мы видим пересечение MACD и растущий GRI, мы можем иметь лучшее убеждение.
Если вас также интересуют другие технические индикаторы и использование Python для создания стратегий, то мой бестселлер по техническим индикаторам может вас заинтересовать:
Заключение
Не забывайте всегда проводить тесты на исторических данных. Вы всегда должны верить, что другие люди неправы. Мои индикаторы и стиль торговли могут работать на меня, но может не на вас.
Я твердо убежден, что нельзя кормить с ложечки. Я научился на практике, а не копируя. Вы должны понять идею, функцию, интуицию, условия стратегии, а затем разработать (даже лучше) одну из них самостоятельно, чтобы вы протестировали и улучшили ее, прежде чем принимать решение о том, чтобы применить ее вживую или отказаться от нее. Мой выбор в пользу отказа от предоставления конкретных результатов тестирования на истории должен побудить читателя лучше изучить стратегию и больше работать над ней.
Medium - это центр множества интересных чтений. Я прочитал много статей, прежде чем решил начать писать. Рассмотрите возможность присоединения к Medium!
Подводя итог, можно ли сказать, что стратегии, которые я предлагаю, реалистичны? Да, но только путем оптимизации среды (надежный алгоритм, низкие затраты, честный брокер, надлежащее управление рисками и управление заказами). Предусмотрены ли стратегии исключительно для торговли? Нет, это нужно для стимулирования мозгового штурма и получения новых торговых идей, поскольку мы все устали слышать о перепроданности RSI как о причине для открытия короткой позиции или о преодолении сопротивления как о причине идти долго. Я пытаюсь представить новую область под названием «Объективный технический анализ», в которой мы используем достоверные данные для оценки наших методов, а не полагаемся на устаревшие классические методы.