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

Стратегия крайнего снижения цен на рынке на основе статистических отклонений

Автор:Чао Чжан, Дата: 2024-11-29 16:46:33
Тэги:ЗПППSMAМ.А.СД

img

Обзор

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

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

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

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

  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")


Связанные

Больше