
Эта стратегия использует идеи Кальмановского волнообразования и регрессии средней стоимости, чтобы улавливать краткосрочные аномальные колебания цен на акции и осуществлять направленную торговлю акциями. Сначала стратегия создает модель соотношения цен на акции к рыночному индексу, а затем использует технологию Кальмановского волнообразования для прогнозирования и волнообразования.
Основная идея этой стратегии заключается в создании пропорциональной модели цены собственной акции по отношению к рыночным индексным ценам. Это соотношение может отражать уровень цены отдельных акций по отношению к целому рынку. Когда соотношение высоко, считается, что акция переоценена, создавая сигнал продажи; когда соотношение низко, считается, что акция переоценена, создавая сигнал покупки.
Для сглаживания сигналов пропорциональности используется алгоритм Кальман-волновой стратегии. Кальман-волновая стратегия взвешивает фактические наблюдения пропорциональности с прогнозами, обновляя прогнозы пропорциональности в режиме реального времени. И вычисляет сглаженное значение Кальман-волновой стратегии.
Кроме того, в стратегии учитывается фактор объема торгов. Настоящие торговые сигналы создаются только при большом объеме торгов, что позволяет избежать некоторых ошибочных торгов.
Основным преимуществом этой стратегии является эффективное сглаживание и прогнозирование ценового соотношения с помощью алгоритма Кальманского волнообразования. По сравнению с простыми моделями средней регрессии, Кальманские волнообразования лучше отражают динамические изменения цен, особенно при резких колебаниях цен. Это позволяет стратегии своевременно обнаруживать ценовые аномалии и генерировать точные торговые сигналы.
Во-вторых, объединение объема транзакций также повышает практическую применимость стратегии. Разумная фильтрация объема транзакций помогает избежать некоторых ошибочных сигналов и сократить ненужные расходы на транзакции.
В целом, эта стратегия успешно сочетает в себе различные методы, такие как кальмановая волна, средневзвешенная регрессия и анализ объемов сделок, чтобы сформировать достаточно сильную количественную торговую стратегию.
Несмотря на то, что эта стратегия является теоретически и технически совершенной, в практическом применении все еще существуют некоторые потенциальные риски, которые требуют внимания.
Во-первых, это риск модели. Некоторые ключевые параметры в моделях фильтров Калмана, такие как разница в процессовом шуме, разница в наблюдаемом шуме и т. Д., Необходимо оценить на основе исторических данных.
Во-вторых, риски скольжения затрат. Частые сделки приводят к увеличению скольжения затрат, что снижает стратегическую прибыль. Оптимизация параметров и фильтрация объема сделок могут в некоторой степени уменьшить ненужные сделки.
Наконец, существует определенный рыночный системный риск, связанный с использованием рыночных индексов в качестве ориентира. Когда рынок в целом сильно колеблется, могут возникать и аномалии в соотношении цены отдельных акций к рынку. В этом случае стратегия дает ошибочный сигнал.
В этой стратегии есть место для дальнейшей оптимизации:
Использование более сложных моделей глубокого обучения для адаптации и прогнозирования коэффициентов цен. Это может повысить точность и надежность моделей.
Оптимизация правил фильтрации объема сделок, более динамичная и интеллектуальная настройка границ объема сделок. Это может снизить вероятность ошибочных сделок.
Испытание различных рыночных индексов в качестве стратегического ориентира, выбор меньших колебаний и более стабильных индексов. Это может уменьшить влияние системного риска на рынок.
В сочетании с фундаментальным анализом акций, избегайте торговли отдельными акциями с заметным ухудшением фундаментальных характеристик. Это позволяет отсеять более качественные торговые показатели.
Использование высокочастотных внутридневных данных для отслеживания и оптимизации стратегий, что может улучшить их реальную производительность.
Стратегия успешно использует модель волн Кальмана, чтобы улавливать краткосрочные аномальные колебания цен на акции. В то же время внедрение сигналов объема торгов также усилило практическую полезность стратегии. Хотя определенные риски модели и рыночные риски все еще существуют, это очень перспективная стратегия количественной торговли. В будущем есть большой потенциал для улучшения и применения в области оптимизации моделей и торговых сигналов.
/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 1m
basePeriod: 1m
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/
// © xXM3GAXx
//@version=5
strategy("My strategy", overlay=true)
//SPY or QQQ
context = request.security("BTC_USDT:swap", timeframe.period, input(close))
//our stock
particular = input(close)
//ratio
src = ta.roc(particular, 1) / math.abs(ta.roc(context, 1))
//kalman calculation
Sharpness = input.float(1.0)
K = input.float(1.0)
greencolor = color.lime
redcolor = color.red
velocity = 0.0
kfilt = 0.0
Distance = src - nz(kfilt[1], src)
Error = nz(kfilt[1], src) + Distance * math.sqrt(Sharpness*K/ 100)
velocity := nz(velocity[1], 0) + Distance*K / 100
kfilt := Error + velocity
//2 std devs up and down
upper = kfilt[1] + 2 * ta.stdev(kfilt, input(20))
lower = kfilt[1] - 2 * ta.stdev(kfilt, input(20))
//plotting for visuals
plot(kfilt, color=velocity > 0 ? greencolor : redcolor, linewidth = 2)
plot(upper)
plot(lower)
//plot(ta.ema(ta.roc(particular, 1)/ta.roc(context, 1), 5), color = #00ffff, linewidth=2)
//volume data
vol = volume
volema = ta.ema(volume, 10)
//buy when ratio too low
longCondition = kfilt<=lower and vol>=volema
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
//sell when ratio too high
shortCondition = kfilt>=upper and vol>=volema
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)