Количественная стратегия, основанная на точке пересечения линейной регрессии


Дата создания: 2023-12-29 11:45:20 Последнее изменение: 2023-12-29 11:45:20
Копировать: 0 Количество просмотров: 339
1
Подписаться
1166
Подписчики

Количественная стратегия, основанная на точке пересечения линейной регрессии

Обзор

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

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

Линейная регрессионная остановка представляет собой прогнозную величину Y-значения, когда значение X в временном ряду равняется 0, что обычно является ценой. Эта стратегия предварительно устанавливает параметр Length, используя цену закрытия в качестве исходной последовательности, и вычисляет линейную регрессионную остановку для последних дней Length (xLRI). Когда цена закрытия выше xLRI, делать больше; когда цена закрытия ниже xLRI, делать пустое.

Конкретная формула расчета:

xX = Length *(Length - 1)* 0.5  
xDivisor = xX *xX - Length* Length *(Length - 1) *(2 * Length - 1) / 6
xXY = Σ(i *收盘价[i]),i从0到Length-1  
xSlope = (Length *xXY - xX* Σ(收盘价, Length))/ xDivisor
xLRI = (Σ(收盘价, Length) - xSlope * xX) / Length

С помощью таких расчетов можно получить линейную регрессию сдерживающих точек xLRI для последних дней Ленгтхаута.

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

Эта стратегия имеет следующие преимущества:

  1. Используя технологию линейной регрессии, он обладает определенной способностью прогнозировать цены и определять тенденции.
  2. Мало параметров, модель проста, легко понять и реализовать.
  3. Настраиваемые параметры Length adaptive Гибкость политики.

Риски и решения

Однако есть и другие риски:

  1. Линейная регрессионная амортизация - это всего лишь статистическая амортизация, основанная на исторических данных, и имеет ограниченную способность прогнозировать будущее движение цен.
  2. Результаты линейной регрессивной корректировки могут быть аннулированы, если существенно изменится структура компании.
  3. Неправильная настройка параметров Length может привести к пересоответствию.

Ответ:

  1. Укоротите параметры Length, чтобы предотвратить их переплетение.
  2. Внимание к фундаментальным изменениям в компании, при необходимости, вмешательство в закрытие позиций.
  3. Используется адаптивный параметр Length, динамически адаптируемый к рыночным условиям.

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

Эта стратегия также может быть улучшена в следующих аспектах:

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

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

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

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/03/2018
// Linear Regression Intercept is one of the indicators calculated by using the 
// Linear Regression technique. Linear regression indicates the value of the Y 
// (generally the price) when the value of X (the time series) is 0. Linear 
// Regression Intercept is used along with the Linear Regression Slope to create 
// the Linear Regression Line. The Linear Regression Intercept along with the Slope 
// creates the Regression line.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Line Regression Intercept Backtest", overlay = true)
Length = input(14, minval=1)
xSeria = input(title="Source", defval=close)
reverse = input(false, title="Trade reverse")
xX = Length * (Length - 1) * 0.5
xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
xXY = 0
for i = 0 to Length-1
	xXY := xXY + (i * xSeria[i])
xSlope = (Length * xXY - xX * sum(xSeria, Length)) / xDivisor
xLRI = (sum(xSeria, Length) - xSlope * xX) / Length
pos = iff(close > xLRI, 1,
       iff(close < xLRI, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xLRI, color=blue, title="LRI")