В процессе загрузки ресурсов... загрузка...

Гибридная биномиальная количественная стратегия Z-Score

Автор:Чао Чжан, Дата: 2024-05-28 17:38:08
Тэги:SMAББ

img

Обзор

Эта стратегия использует гибридный подход количественного анализа, объединяющий биномиальную модель распределения и регрессионный анализ, для выявления различных рыночных режимов. Стратегия сначала рассчитывает индикаторы простой скользящей средней (SMA) и полосы Боллинджера (BB), затем вычисляет Z-балл на основе среднего и стандартного отклонения исторических доходов. Когда Z-балл ниже нижнего порога, а цена ниже нижней полосы, стратегия входит в длинную позицию; когда Z-балл выше верхнего порога, а цена выше верхней полосы, стратегия закрывает позицию.

Принцип стратегии

Основной принцип этой стратегии состоит в том, чтобы использовать Z-счет для измерения положения текущей доходности относительно распределения исторической доходности. Формула для расчета Z-счета: (Today's Return - Historical Return Mean) / Historical Return Standard Deviation. Более высокий Z-счет указывает на то, что текущая доходность более экстремальна и вероятность перекупки выше; более низкий Z-счет указывает на то, что текущая доходность более экстремальна и вероятность перепродажи выше. В то же время стратегия также включает в себя индикатор Боллингерских полос, используя ценовые прорывы выше или ниже обеих полос в качестве вторичного подтверждения. Стратегия генерирует торговые сигналы только тогда, когда Z-счет и Боллингерские полосы одновременно соответствуют ложным условиям. Эта комбинация может эффективно снизить возникновение сигналов.

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

  1. Количественный анализ: стратегия полностью основана на количественных показателях, с четкими правилами, которые легко внедряются и проверяются.
  2. Двойная подтверждение: стратегия использует как Z-показатели, так и индикаторы полос Боллинджера, формируя двойной механизм фильтрации для улучшения точности сигнала.
  3. Статистическое основание: Z-оценка происходит из теории нормального распределения в статистике, с прочной теоретической основой, и может объективно измерять крайности текущих результатов.
  4. Гибкость параметров: пользователи могут регулировать такие параметры, как период SMA, множитель полос Боллинджера и пороги Z-показателей в соответствии со своими потребностями, гибко адаптируясь к различным рынкам.

Стратегические риски

  1. Чувствительность параметров: различные настройки параметров могут привести к значительным различиям в эффективности стратегии, что требует широкой оптимизации параметров и тестирования стабильности.
  2. Риск тренда: когда рынок демонстрирует сильные тенденции, Z-оценка может оставаться в экстремальных регионах в течение длительного периода, что приводит к редким или полностью отсутствующим сигналам стратегии.
  3. Риск перенастройки: если параметры стратегии слишком оптимизированы, это может привести к перенастройке и плохой производительности вне выборки.
  4. Риск черного лебедя: при экстремальных рыночных условиях исторические статистические модели могут потерпеть неудачу, что подвергает стратегию значительным рискам снижения.

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

  1. Динамические параметры: для повышения адаптивности следует рассмотреть возможность динамической корректировки порогов Z-показателей и множителя полос Боллинджера на основе таких показателей, как волатильность рынка и сила тренда.
  2. Фильтрация трендов: наложение индикаторов определения трендов, таких как перекресток MA или DMI, на существующий механизм для предотвращения чрезмерного количества недействительных сигналов во время сильных трендов.
  3. Оптимизация портфеля: объедините эту стратегию с другими количественными стратегиями (такими как импульс, среднее изменение и т. д.), чтобы использовать их сильные стороны и улучшить устойчивость.
  4. Стоп-лосс и Тейк-профит: внедрить разумные механизмы стоп-лосса и Тейк-профита для контроля риска по сделке и улучшения корректированной по риску доходности.

Резюме

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


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estratégia Híbrida Quantitativa", overlay=true)

// Definição de parâmetros
sma_length = input.int(20, title="Período da SMA")
threshold_high = input.float(1.5, title="Threshold Alto")
threshold_low = input.float(-1.5, title="Threshold Baixo")
lookback_period = input.int(252, title="Período de Retorno Histórico (dias)")

// Funções auxiliares
f_sma(source, length) =>
    ta.sma(source, length)

f_bollinger_band(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    [basis + dev, basis - dev]

// Cálculo dos indicadores
sma = f_sma(close, sma_length)
[upper_band, lower_band] = f_bollinger_band(close, sma_length, 2)

// Regime de Mercado: Binomial
retornos = ta.change(close, 1)
media_retornos = ta.sma(retornos, lookback_period)
desvio_padrao_retornos = ta.stdev(retornos, lookback_period)

// Indicador de Regime: Z-Score
z_score = (retornos - media_retornos) / desvio_padrao_retornos

// Sinal de Compra e Venda
sinal_compra = z_score < threshold_low and close < lower_band
sinal_venda = z_score > threshold_high and close > upper_band

// Execução de Ordem
if (sinal_compra)
    strategy.entry("Long", strategy.long)
if (sinal_venda)
    strategy.close("Long")

// Plotagem dos Indicadores
plot(sma, title="SMA", color=color.blue)
plot(upper_band, title="Upper Bollinger Band", color=color.red)
plot(lower_band, title="Lower Bollinger Band", color=color.green)
hline(threshold_high, "Threshold Alto", color=color.red, linestyle=hline.style_dashed)
hline(threshold_low, "Threshold Baixo", color=color.green, linestyle=hline.style_dashed)
plot(z_score, title="Z-Score", color=color.purple)


Связанные

Больше