Гендальфовская средняя реверсия количественной торговой стратегии

Автор:Чао Чжан, Дата: 2023-10-30 10:27:40
Тэги:

img

Обзор

Количественная торговая стратегия Гандальфа - это стратегия среднего реверсия, основанная на средних ценовых линиях. Она определяет направление текущего тренда путем расчета взвешенной средней цены, средней ценовой линии и средней цены тела, чтобы найти оптимальные точки входа. Когда обнаруживается обратный тренд, он быстро сократит убытки и выйдет. Стратегия сочетает в себе идеи следующего тренду и стратегии обратного тренда.

Логика стратегии

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

В частности, он рассчитывает следующие цены:

  • Средневзвешенная цена: (Самая высокая цена + Самая низкая цена + Цена закрытия + Цена закрытия) / 4
  • Средняя ценовая линия: (самая высокая цена + самая низкая цена) / 2
  • Средняя цена корпуса: (цена открытия + цена закрытия) / 2

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

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

Если средневзвешенная цена выше средней цены тела, а медианная ценовая линия ниже средневзвешенной цены, это указывает на изменение тренда и должно немедленно сократить убытки.

Сравнивая соотношение величины цены, стратегия Гандальфа реализует суждение и отслеживание тенденций. Она может найти оптимальное время входа, а также быстро обнаружить обратные тенденции, чтобы остановить потери.

Преимущества

Стратегия Гандальфа имеет следующие преимущества:

  1. Использование средней ценовой линии для определения направления тренда может эффективно фильтровать рыночный шум и блокировать основную тенденцию.

  2. Условие входа, объединяющее несколько ценовых сравнений, может более надежно определить начало тенденции.

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

  4. Принятие условных приказов о входе можно получить по идеальным ценам.

  5. Предварительно установленные максимальные сроки получения прибыли и верхний предел периода хранения могут зафиксировать прибыль и контролировать риски единой торговли.

  6. Структура кода ясна и проста, легко понять и изменить.

  7. Параметры могут быть настроены на основе личных предпочтений риска, легко оптимизировать.

  8. Применимо к трендовым продуктам, способным получать трендовые прибыли.

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

Риски

Стратегия Гандальфа также несет в себе некоторые риски:

  1. В качестве стратегии, следующей за трендом, он будет производить более мелкие потери, когда тенденция неясна или часто меняется.

  2. Неспособность эффективно определить точки переворота тренда может привести к расширению потерь.

  3. Склонны к тому, чтобы попасть в ловушку на рынках с ограниченным диапазоном.

  4. Опирается на параметры, параметры должны быть настроены для разных продуктов.

  5. Однонаправленное владение, неспособное извлекать выгоду из обратных тенденций.

  6. Высокий уровень отказов от условных заказов, может ждать долго для входа.

Меры управления рисками:

  1. Примите небольшие позиции, частичный вход, чтобы контролировать однократные потери.

  2. Установите линию стоп-лосса, быструю стоп-лосс или используйте движущуюся стоп-лосс или задержку стоп-лосса.

  3. Оптимизируйте параметры, чтобы соответствовать текущему продукту.

  4. Рассмотрим мартингейл на основе более низкой стоимости.

  5. Торговать товарами с очевидными тенденциями, повысить уверенность в прибыли.

  6. Упростите критерии входа, чтобы повысить вероятность входа.

Направления к улучшению

Стратегия Гандальфа также может быть улучшена в следующих аспектах:

  1. Создать индикаторы оценки тренда, чтобы помочь определить сроки изменения тренда, например, добавить MACD, полосы Боллинджера и т. д.

  2. Добавьте дискретные функции оптимизации для автоматической оптимизации параметров и адаптации к большему количеству продуктов.

  3. Увеличьте алгоритмы машинного обучения, обучите нейронные сети или модели SVM на исторических данных для оценки тенденций.

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

  5. Комбинировать связанные продукты для торговли спредом или стратегии статистического анализа.

  6. Добавьте прогноз состояния на основе модели Скрытого Маркова, чтобы судить о режиме рынка.

  7. Создайте комбинированные стратегии, например, комбинируя с движущимися средними стратегии для управления многостратегией.

  8. Исследуйте оптимизацию комбинаций торговых стратегий для поиска оптимальных весов портфеля.

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

Заключение

Количественная стратегия Гандальфа - это простая, но эффективная стратегия, основанная на сравнении цен для определения тенденций. Она сочетает в себе идеи следующего тренда и быстрой остановки потери и может эффективно контролировать риски. Логика стратегии ясна и легко понятна, параметры могут быть скорректированы на основе личных предпочтений риска.


/*backtest
start: 2023-10-22 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// The GandalfProjectResearchSystem strategy, as discussed in
// “System Development Using Artificial Intelligence”
// by Domenico D’Errico and Giovanni Trombetta
strategy("Gandalf Project Research System", overlay=true)

// Inputs
Quantity = input(0, title="Quantity (0 to auto calc)")
Single_Trade_Money = input(10000, minval=1, title="Money to spend on single trade")
MaxProfitCloses = input(6, minval=1, title="Max Profit Close")
MaxBars = input(8, minval=1, title="Max Total Bars")
Enter_Gap = input(-0.08, title="Distance from low price to place entry limit")
AltExit = input(true, title="Use Alt Exit")

// Calculate Order Quantity
Ncon = Single_Trade_Money / close

// Misc Variables
src = close
BarsSinceEntry = 0
MaxProfitCount = 0
MedBodyPrice = (open + close) / 2.0
Weighted = (high + low + close + close) / 4.0
Median = (high + low) / 2.0

// Enter Conditions
Cond00 = strategy.position_size == 0
Cond01 = ((Weighted[1] < Median[1] and Median[2] <= Weighted[1] and MedBodyPrice[2] <= Weighted[3]) or (Weighted[1] < Median[3] and MedBodyPrice[0] < Median[2] and MedBodyPrice[1] < MedBodyPrice[2]))
Entry01 = Cond00 and Cond01

// Update Exit Variables
BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1
MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1])

// Exit Conditions
eCond01 = BarsSinceEntry - 1 >= MaxBars
eCond02 = MaxProfitCount >= MaxProfitCloses
eCond03 = ((Weighted[1] < MedBodyPrice[1] and Median[2] == MedBodyPrice[3] and MedBodyPrice[1] <= MedBodyPrice[4]) or (Weighted[2] < MedBodyPrice[0] and Median[4] <= Weighted[3] and MedBodyPrice[1] <= Weighted[1]) or (Weighted[2] < MedBodyPrice[0] and Median[4] <= Weighted[3] and MedBodyPrice[1] <= Weighted[1]))
eCond04 = AltExit ? true : close - strategy.position_avg_price < 0
Exit01 = not Cond00 and (eCond01 or eCond02 or (eCond03 and eCond04))

// Entries
strategy.entry(id="L1", long=true, limit=low + Enter_Gap, qty=(Quantity > 0 ? Quantity : Ncon), when=Entry01)
 
// Exits
strategy.close("L1", Exit01)


Больше