Стратегия экстремального падения рынка, основанная на статистических отклонениях

STD SMA MA SD
Дата создания: 2024-11-29 16:46:33 Последнее изменение: 2024-11-29 16:46:33
Копировать: 0 Количество просмотров: 444
1
Подписаться
1617
Подписчики

Стратегия экстремального падения рынка, основанная на статистических отклонениях

Обзор

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

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

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

Стратегические преимущества

  1. Стратегия основана на статистических принципах, имеет прочную теоретическую основу. Метод является объективной наукой, измеряя экстремальность колебаний рынка с помощью стандартного отклонения.
  2. Стратегия позволяет эффективно использовать инвестиционные возможности в периоды рыночной паники. Вход в рынок в случае нерационального падения соответствует идее стоимостных инвестиций.
  3. Применение фиксированного цикла устранения убытков позволяет избежать проблем с отслеживанием стоп-убытков, которые могут пропустить отскок.
  4. Стратегические параметры являются гибкими и могут быть настроены в зависимости от различных рыночных условий и особенностей торговой марки.
  5. Вычисление показателей отклонений и стандартных отклонений просто, логика стратегии ясна, легко понятна и выполняется.

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

  1. Рынок может постоянно падать, что приводит к частому вхождению в стратегию, но при этом приводит к убыткам. Рекомендуется установить ограничение максимального количества позиций.
  2. При фиксированном периоде плавных позиций может быть упущено больше пространства для роста. Можно рассмотреть возможность увеличения плавных позиций с отслеживанием тенденций.
  3. Статистические характеристики отзыва могут меняться в зависимости от изменения рыночной ситуации. Рекомендуется регулярно обновлять параметры.
  4. Другие рыночные данные, такие как объем, не учитываются в стратегии. Рекомендуется перекрестная проверка в сочетании с несколькими показателями.
  5. В условиях резкой волатильности рынка стандартные погрешности могут быть искажены. Рекомендуется установить меры контроля риска.

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

  1. Введение показателя оборота, подтверждающего уровень паники на рынке.
  2. Повышение показателей тренда, чтобы избежать частых вхождений в нисходящий тренд.
  3. Оптимизация механизма ликвидации позиций, корректировка времени удержания позиций в зависимости от динамики рынка.
  4. Увеличение настройки стоп-лосса и контроль риска в однократной сделке.
  5. Рассмотреть использование параметров адаптации для повышения адаптации стратегии к изменениям рынка.

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy When There's Blood in the Streets Strategy", overlay=false, shorttitle="BloodInTheStreets")


//This strategy identifies opportunities to buy during extreme market drawdowns based on standard deviation thresholds. 
//It calculates the maximum drawdown over a user-defined lookback period, identifies extreme deviations from the mean, 
//and triggers long entries when specific conditions are met. The position is exited after a defined number of bars.


// User Inputs
lookbackPeriod = input.int(50, title="Lookback Period", minval=1, tooltip="Period to calculate the highest high for drawdown")
stdDevLength = input.int(50, title="Standard Deviation Length", minval=1, tooltip="Length of the period to calculate standard deviation")
stdDevThreshold = input.float(-1.0, title="Standard Deviation Threshold", tooltip="Trigger level for long entry based on deviations")
exitBars = input.int(35, title="Exit After (Bars)", minval=1, tooltip="Number of bars after which to exit the trade")

// Drawdown Calculation
peakHigh = ta.highest(high, lookbackPeriod)
drawdown = ((close - peakHigh) / peakHigh) * 100

// Standard Deviation Calculation
drawdownStdDev = ta.stdev(drawdown, stdDevLength)
meanDrawdown = ta.sma(drawdown, stdDevLength)

// Define Standard Deviation Levels
stdDev1 = meanDrawdown - drawdownStdDev
stdDev2 = meanDrawdown - 2 * drawdownStdDev
stdDev3 = meanDrawdown - 3 * drawdownStdDev

// Plot Drawdown and Levels
plot(drawdown, color=color.red, linewidth=2, title="Drawdown (%)")
plot(meanDrawdown, color=color.blue, linewidth=2, title="Mean Drawdown")
plot(stdDev1, color=color.green, linewidth=1, title="1st Std Dev")
plot(stdDev2, color=color.orange, linewidth=1, title="2nd Std Dev")
plot(stdDev3, color=color.purple, linewidth=1, title="3rd Std Dev")

// Entry Condition
var float entryBar = na
goLong = drawdown <= meanDrawdown + stdDevThreshold * drawdownStdDev

if (goLong and strategy.position_size == 0)
    strategy.entry("Long", strategy.long)
    entryBar := bar_index

// Exit Condition
if (strategy.position_size > 0 and not na(entryBar) and bar_index - entryBar >= exitBars)
    strategy.close("Long")