Стратегия обращения вариантов генерирует торговые сигналы путем вычисления соотношения между опционами на покупку и продажу, также известного как соотношение на покупку и продажу. Когда соотношение обращается вспять, он запускает сделки в сочетании с простыми правилами управления деньгами для получения прибыли. Он подходит для 30-минутных периодов NDX и SPX. Колебание должно быть отрегулировано так, чтобы отразить правильную точку обращения. Результаты твёрдой обратной проверки указывают на оптимальную точку обращения.
Основными показателями этой стратегии являются скользящая средняя и стандартное отклонение соотношения call/put. Он сначала рассчитывает 20-дневную скользящую среднюю величину соотношения call/put, а затем вычисляет 30-дневный стандартное отклонение соотношения. Длинный сигнал запускается, когда соотношение превышает скользящую среднюю плюс 1,5 стандартного отклонения. Короткий сигнал запускается, когда соотношение падает ниже скользящей средней минус 1,5 стандартного отклонения.
После длинного хода, если соотношение отскочит обратно выше скользящей средней, закрыть короткую позицию. Стоп-лосс устанавливается на 1% ниже цены входа. Приобретение прибыли устанавливается на 3 раза расстояние стоп-лосса от цены входа.
Наибольшее преимущество этой стратегии заключается в том, что рынок становится чрезмерно пессимистичным или бычьим, что вызывает аномалии в соотношении call/put. Торговля против таких аномалий может получать прибыль от местных переворотов. Правила управления деньгами эффективно ограничивают риск и прибыль отдельных сделок.
Основной риск возникает из-за неправильной настройки параметров. Чрезмерно частые сигналы не могут улавливать значительные обратные действия. Сигналы обратного действия также могут быть сфальсифицированы ложными прорывами, вызывая потери. Параметры должны быть оптимизированы для более надежных сигналов.
Подумайте о добавлении фильтров, чтобы подтвердить сигналы обратного движения и избежать ложных прорывов. Например, рассматривайте сигналы только при усилении объема. Фильтры тренда также могут избегать контратендных сделок. Оптимальные параметры, вероятно, варьируются на разных рынках и временных рамках. Интеграция большего количества факторов сделает стратегию более надежной.
Эта стратегия направлена на захват точек переворота рынка с использованием соотношения call / put с базовыми правилами управления деньгами. Она может получать прибыль от местных переворотов, но сталкивается с рисками ложного выхода. Оптимизация параметров, добавление фильтров и интеграция большего количества факторов могут повысить его стабильность и прибыльность. В целом, она обеспечивает направление для переворотов торговли на основе настроения рынка. Необходимо дальнейшее тестирование и оптимизация для реального применения.
/*backtest start: 2023-09-30 00:00:00 end: 2023-10-30 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © I11L //@version=5 strategy("I11L Long Put/Call Ratio Inversion", overlay=false, pyramiding=1, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash) SL = input.float(0.01,step=0.01) CRV = input.float(3) TP = SL * CRV len = input.int(30,"Lookback period in Days",step=10) ratio_sma_lookback_len = input.int(20,step=10) mult = input.float(1.5,"Standard Deviation Multiple") ratio_sma = ta.sma(request.security("USI:PCC","D",close),ratio_sma_lookback_len) median = ta.sma(ratio_sma,len) standartDeviation = ta.stdev(ratio_sma,len) upperDeviation = median + mult*standartDeviation lowerDeviation = median - mult*standartDeviation isBuy = ta.crossunder(ratio_sma, upperDeviation)// and close < buyZone isCloseShort = (ratio_sma > median and strategy.position_size < 0) isSL = (strategy.position_avg_price * (1.0 - SL) > low and strategy.position_size > 0) or (strategy.position_avg_price * (1.0 + SL) < high and strategy.position_size < 0) isSell = ta.crossover(ratio_sma,lowerDeviation) isTP = strategy.position_avg_price * (1 + TP) < high if(isBuy) strategy.entry("Long", strategy.long) if(isCloseShort) strategy.exit("Close Short",limit=close) if(isSL) strategy.exit("SL",limit=close) if(isTP) strategy.exit("TP",limit=close) plot(ratio_sma,color=color.white) plot(median,color=color.gray) plot(upperDeviation,color=color.rgb(0,255,0,0)) plot(lowerDeviation,color=color.rgb(255,0,0,0)) bgcolor(isBuy?color.rgb(0,255,0,90):na) bgcolor(isSell?color.rgb(255,0,0,90):na)