
В данной статье в основном анализируется количественная стратегия торговли RSI под названием “применение коэффициента Байеса” для определения вероятности распределения RSI, а также применение коэффициента Байеса для вычисления вероятности дальнейшего роста или падения RSI для определения будущей ценовой тенденции и получения прибыли.
Основная логика этой стратегии заключается в следующем:
В частности, стратегия сначала определяет параметр p как циклический параметр для расчета показателя RSI, а r - временной диапазон для прогнозирования будущих ценовых изменений. Затем, в течение периода p, рассчитывается, сколько раз в течение периода r RSI продолжает расти, и рассчитывается вероятное распределение A. В то же время, в течение периода p, рассчитывается, сколько раз в течение периода r RSI продолжает расти после окончания этого периода, и рассчитывается вероятное распределение B.
Затем, применяя формулу закона Байеса, рассчитывается вероятность того, что цены на криптовалюты будут расти и RSI будет продолжать расти, как конечный показатель вероятности. Когда эта вероятность выше заданной отметки, считается, что тенденция будет расти, и принимается многоторговый курс; когда вероятность ниже отметки, считается, что тенденция будет реверсироваться, и принимается равновесная позиция.
Таким образом, стратегический анализ учитывает информацию о ценах и технических показателях, применяет статистику вероятности и законы Бейеса, чтобы судить о будущих тенденциях и генерировать торговые сигналы.
Основные преимущества этой стратегии:
Объединение различных видов информацииСтратегия учитывает не только информацию о ценах, но также включает информацию о технических показателях, таких как RSI, для обобщения будущих тенденций и повышения точности оценки.
Прогноз вероятности: с помощью статистического вероятностного распределения, вероятные прогнозы на ценовые и RSI направления изменения, а не просто числовое сравнение, чтобы сделать суждения более научным.
Бейесовская оптимизация: применение закона Бейеса для вычисления соответствующей вероятности, оптимизация исходной статистической вероятности, чтобы сделать суждение более точным.
Гибкие параметры: Предоставление множества параметров для корректировки и оптимизации, возможность адаптации параметров для различных рынков и активов, повышение адаптивности стратегии.
Простые и эффективныеУмение ясно мыслить, понимать и оптимизировать торговые сигналы с помощью простых статистических и вероятностных операций.
В этой стратегии также есть следующие основные риски:
Параметры зависимости: эффективность стратегии зависит от параметров, в разных рынках необходимо скорректировать большое количество параметров, чтобы достичь оптимального эффекта, что увеличивает сложность работы стратегии.
Вероятность ошибкиИз-за ограниченного времени и ограниченности выборки, вероятность полученных результатов может не соответствовать реальным тенденциям, что приводит к искажению суждений.
Особые событияКрупные внезапные события могут повлиять на соотношение рыночных цен и RSI и привести к неэффективности стратегии.
Технические показатели не работаютВ некоторых ситуациях на рынке технические показатели, такие как RSI, могут подавать сигналы о провале, что приводит к неудаче стратегического решения.
Решение риска включает в себя: оптимизацию процесса настройки параметров, корректировку статистического времени и количества выборки, объединение большей вспомогательной информации, аномальные случаи ручного вмешательства и т. д.
Основными направлениями оптимизации стратегии являются:
Многовременные рамки: можно использовать стратегию на различных временных промежутках (солнечные, солнечные и т.д.), сопоставить суждения, повысить стабильность.
Другие показатели: Добавить дополнительные сигналы технических показателей, такие как форма K-линии, средняя скорость движения и т. д., чтобы улучшить оценку.
Оптимизация моделиПрименение методов машинного обучения для оптимизации Bayesian модели, чтобы сделать вычисления более точными.
Динамические параметры: Добавление модуля динамической оптимизации параметров, позволяющего корректировать параметры в соответствии с изменениями рынка в реальном времени.
Механизм управления ветромНапример, в случае, если вы не можете выйти на рынок, вы можете выбрать один из следующих вариантов:
Интегрированные улучшенияИнтеграция с другими типами стратегий или моделей, формирование механизмов голосования, повышение стабильности суждений.
Эта стратегия сначала рассчитывает распределение вероятности цены и RSI, а затем использует правила Бейеса для вычисления комбинированной вероятности, чтобы генерировать торговый сигнал, когда вероятность выше заданного порога, и получать прибыль. Эта стратегия объединяет информацию из нескольких источников, применяет прогноз вероятности и оптимизацию Бейеса, чтобы оценить эффективность. Основные направления оптимизации включают расширение временных рамок, увеличение показателей, динамику параметров и т. Д.
/*backtest
start: 2022-12-11 00:00:00
end: 2023-03-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// Stealthy7 trading scripts are radikal. You have entered the mystical realm of demonic profit.
// If you like this script, check out my bots at cryptotrader.org/?r=51
// Let me know if you find any improvements to this script. It is beta.
// Please subscribe.
strategy("Stealthy7 Bayes Conditional RSI Trader Strategy", overlay=true)
p = input(title="Period", defval=30, minval=5, maxval=500)
t = input(title="Movement Thresh", type=float, defval=1.003, minval=1.001, maxval=1.5, step=0.001)
r = input(title="Look Range", defval=7, minval=1,maxval=500, step=1)
RSIT = input(title="Jump", defval=8, minval=1,maxval=99, step=1)
BAYEST = input(title="SM", defval=3, minval=1,maxval=99, step=1)
RSIP = input(title="RSIP", defval=14, minval=2,maxval=100, step=1)
countup = 1
countdn = 1
countupS = 1
countdnS = 1
for i = p to 1
if close[i]/close[i + r] > t
countup := countup + 1
else
countdn := countdn + 1
if close[i]/close[i + r] < 2 - t
countupS := countupS + 1
else
countdnS := countdnS + 1
rsi = rsi(open,RSIP)
countup2 = 1
countup3 = 1
countup2S = 1
countup3S = 1
for i = p to 1
if close[i]/close[i + r] > t and rsi[i + r + 1] > rsi[i + r + 2] + RSIT
countup2 := countup2 + 1
else
countup3 := countup3 + 1
if close[i]/close[i + r] < 2 - t and rsi[i + r + 1] < rsi[i + r + 2] - RSIT
countup2S := countup2S + 1
else
countup3S := countup3S + 1
countup2b = countup2 / p
countup3b = countup3 / p
countupb = countup / p
countdnb = countdn / p
countup2bS = countup2S / p
countup3bS = countup3S / p
countupbS = countupS / p
countdnbS = countdnS / p
bayes = 0
bayes := ((countupb * countup2b) / ((countupb * countup2b) + (countdnb * countup3b))) * 100
bayesS = 0
bayesS := ((countupbS * countup2bS) / ((countupbS * countup2bS) + (countdnbS * countup3bS))) * 100
SN1 = sma(bayes,BAYEST)
SN2 = sma(bayesS,BAYEST)
shortCondition = crossunder(bayesS, SN2) //and rsi < 49
longCondition = crossover(bayes, SN1) //and rsi > 59
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)