Эта стратегия использует методы линейной регрессии для расчета пересечения линейной регрессии и использует его в качестве торгового сигнала для построения количественной торговой стратегии. Анализируя временные ряды цен на акции, эта стратегия подходит к линии тренда линейной регрессии и использует пересечение линейной регрессии для оценки того, переоцениваются или недооцениваются цены, тем самым генерируя торговые сигналы.
Пересечение линейной регрессии указывает прогнозируемое значение Y (обычно цена), когда значение временного ряда X равняется 0. Эта стратегия предусматривает параметр Length, принимает ценовую последовательность закрытия в качестве исходной последовательности и вычисляет пересечение линейной регрессии (xLRI) последних дней Length. Когда цена закрытия выше, чем xLRI, переходите на длинный; когда цена закрытия ниже, чем xLRI, переходите на короткий.
Конкретная формула расчета:
xX = Length *(Length - 1)* 0.5
xDivisor = xX *xX - Length* Length *(Length - 1) *(2 * Length - 1) / 6
xXY = Σ(i *Closing Price[i]), i from 0 to Length-1
xSlope = (Length *xXY - xX* Σ(Closing Price, Length))/ xDivisor
xLRI = (Σ(Closing Price, Length) - xSlope * xX) / Length
С помощью таких расчетов можно получить линейную регрессию пересечения xLRI для последних дней длины.
Эта стратегия имеет следующие преимущества:
Эта стратегия также сопряжена с некоторыми рисками:
Контрмеры:
Эта стратегия также может быть оптимизирована в следующих аспектах:
Эта стратегия строит простую количественную торговую стратегию, основанную на пересечении линейной регрессии. В целом, стратегия имеет некоторую экономическую ценность, но есть также некоторые риски.
/*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")