Chiến lược này sử dụng các kỹ thuật hồi quy tuyến tính để tính toán đường cắt hồi quy tuyến tính và sử dụng nó như một tín hiệu giao dịch để xây dựng một chiến lược giao dịch định lượng. Bằng cách phân tích chuỗi thời gian giá của cổ phiếu, chiến lược này phù hợp với đường xu hướng hồi quy tuyến tính và sử dụng đường cắt hồi quy tuyến tính để đánh giá giá liệu giá có được đánh giá quá cao hay thấp, do đó tạo ra các tín hiệu giao dịch.
Phân đoạn hồi quy tuyến tính chỉ ra giá trị dự đoán của Y (thường là giá) khi giá trị chuỗi thời gian X là 0. Chiến lược này đặt trước tham số Length, lấy giá đóng cửa làm chuỗi nguồn và tính toán phân đoạn hồi quy tuyến tính (xLRI) của các ngày Length gần đây nhất. Khi giá đóng cửa cao hơn xLRI, đi dài; khi giá đóng cửa thấp hơn xLRI, đi ngắn.
Công thức tính toán cụ thể là như sau:
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
Thông qua các tính toán như vậy, các đường ngược tuyến tính ngắt xLRI cho các ngày dài gần đây nhất có thể được thu được. Chiến lược đánh giá giá cao và thấp dựa trên nó để tạo ra tín hiệu giao dịch.
Chiến lược này có những lợi thế sau:
Chiến lược này cũng có một số rủi ro:
Các biện pháp đối phó:
Chiến lược này cũng có thể được tối ưu hóa trong các khía cạnh sau:
Chiến lược này xây dựng một chiến lược giao dịch định lượng đơn giản dựa trên sự cắt đứt hồi quy tuyến tính. Nhìn chung, chiến lược có một số giá trị kinh tế, nhưng cũng có một số rủi ro cần lưu ý. Thông qua tối ưu hóa liên tục, nó dự kiến sẽ tiếp tục cải thiện sự ổn định và lợi nhuận của chiến lược.
/*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")