Количественные торговые стратегии, отслеживающие исторические максимумы


Дата создания: 2024-01-22 08:59:34 Последнее изменение: 2024-01-22 08:59:34
Копировать: 0 Количество просмотров: 679
1
Подписаться
1617
Подписчики

Количественные торговые стратегии, отслеживающие исторические максимумы

Обзор

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

Стратегический принцип

Сначала стратегия фиксирует самую высокую цену ценных бумаг с 1 января 2011 года по сегодняшний день, определяя ее как переменную highestHigh. Затем она начерчивает горизонтальную линию, на которой эта самая высокая цена - allTimeHigh.

Каждый день в процессе работы определяется, является ли максимальная цена того дня инновационной, если она является инновационной, обновляется переменная “highestHigh” и перерисовывается горизонтальная линия “allTimeHigh”.

В этой стратегии есть три важных горизонтальных линии:

  1. buyzone=highestHigh*0.9: 90% от максимальной цены, что представляет собой сильный шанс на обратную сделку

  2. buyzone2=highestHigh*0.8: уровень 80% от максимальной цены, что представляет собой более привлекательную позицию для отсоса

  3. sellzone=highestHigh*0.99: 99% от максимальной цены, что дает возможность оценить обратный тренд

Сигнал покупки появляется, когда цена падает до 80% горизонтальной линии (buyzone2); сигнал продажи появляется, когда цена вновь пробивается через историческую максимуму в 99% горизонтальной линии (sellzone).

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

Анализ преимуществ

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

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

  2. 80% от максимальной цены на всасывание означает наилучшую отдачу от риска, обеспечивая прибыль после повышения и ограничивая риск падения

  3. 99% исторических максимумов как линия стоп-лосса, чтобы максимизировать прибыль и контролировать риски

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

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

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

Анализ рисков

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

  1. Вероятность того, что цена продолжит падать после покупки, может столкнуться с убытками

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

  3. Если параметры установлены неправильно, то есть разные проблемы: слишком высокая или слишком низкая точка остановки.

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

  5. Основания для покупки акций слабые, не учитывая фундаментальные и оценочные условия акций

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

Направление оптимизации

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

  1. Оптимизируйте технические показатели для покупки и остановки убытков, например, учитывайте KD, MACD и другие показатели, чтобы избежать высоких уровней

  2. Улучшение правил выбора акций, включение основных и оценочных показателей, чтобы обеспечить качество выбора акций

  3. Динамическая пропорциональность параметров и связь с большим диском обеспечивают рациональность параметров

  4. Настройка движущейся или временной остановки, оптимизация способа остановки и места остановки

  5. Рассмотрение возможности объединения с другими факторами стратегии для формирования многофакторной модели и повышения устойчивости

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

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

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-01-21 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("All-time-high", "ATH", overlay=true, initial_capital=10000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, pyramiding=1, commission_type=strategy.commission.cash_per_contract, commission_value=0.000)

// input
Athlw = input(title="All-time-high line widths", type=input.integer, defval=4, minval=0, maxval=4)
Athlc = input(title="All-time-high line color", type=input.color, defval=color.new(color.fuchsia,50))
years = input(title="Years back to search for an ATH", type=input.integer, defval=6,minval=0, maxval=100)

var float   highestHigh = 0
// var line    allTimeHigh = line.new(na, na, na, na, extend=extend.both, color=Athlc, width=Athlw)

if high > highestHigh
    highestHigh := high

// if barstate.islast
//     line.set_xy1(allTimeHigh, bar_index-1, highestHigh)
//     line.set_xy2(allTimeHigh, bar_index,   highestHigh)

plot(highestHigh)
buyzone=highestHigh*0.9
buyzone2=highestHigh*0.8
buyzone3=highestHigh*0.7
sellzone=highestHigh*0.99

plot(buyzone, color=color.red)
plot(buyzone2, color=color.white)
plot(buyzone3, color=color.green)

begin = timestamp(2011,1,1,0,0)
end = timestamp(2022,4,19,0,0)

longCondition = close<buyzone2
if (longCondition)
    strategy.entry("Buy", strategy.long)
closeCondition = close>sellzone
if (closeCondition)
    strategy.close("Buy", strategy.long)