Chiến lược giao dịch khoảng cách thời gian (Momentum Gap Trading Strategy) là một chiến lược giao dịch định lượng theo dõi biến động giá. Nó sử dụng khoảng cách giữa giá mở và giá đóng ngày hôm trước (được gọi là khoảng cách) để xây dựng một chỉ số động lực và tạo tín hiệu giao dịch với chỉ số này. Chiến lược này áp dụng cho các cổ phiếu có tính biến động cao, có thể bắt được hoạt động tiếp tục sau khi giá nhảy vọt.
Chiến lược này dựa trên bài viết của Perry J. Kaufman, cựu nhà phân tích định lượng của Boeing, xuất bản trên tạp chí Phương tiện phân tích kỹ thuật Phương tiện phân tích kỹ thuật vào tháng 1 năm 2024. Kaufman đã xây dựng một chuỗi thời gian chuyển động theo dõi lỗ hổng và đề xuất sử dụng trung bình di chuyển của chuỗi thời gian đó làm tín hiệu giao dịch.
Điểm mấu chốt của chiến lược lỗ hổng động lực là xây dựng chuỗi thời gian động lực lỗ hổng. Cách xây dựng tương tự như thuật ngữ định lượng (On-Balance Volume, OBV), chỉ cần sử dụng đầu vào giá từ giá đóng cửa hàng ngày trở thành lỗ hổng hàng ngày.
Quá trình tính toán cụ thể là:
Lỗ hổng dương được định nghĩa là chênh lệch giữa giá mở và giá đóng ngày hôm trước, trái ngược với lỗ hổng âm. Tỷ lệ này về cơ bản phản ánh sự tương phản giữa cường độ của lỗ hổng dương và lỗ hổng âm trong một khoảng thời gian gần đây.
Đường trung bình di chuyển làm dịu chuỗi biến động ban đầu, có thể được sử dụng để phát tín hiệu giao dịch. Chiến lược này sử dụng một đường trung bình di chuyển chậm, làm nhiều khi đi qua đường trung bình di chuyển chậm trên chỉ số chuyển động lỗ hổng nhanh, và đi ngang khi đi qua.
So với các chỉ số kỹ thuật truyền thống, chiến lược lỗ hổng động lực có những lợi thế sau:
Giá nhảy vọt (Gap) đại diện cho sự mất cân bằng cung cầu rất lớn, và hướng nhảy vọt đại diện cho sự chuyển giao quyền thương lượng của thị trường. Chiến lược này có thể nắm bắt hiệu quả sự mất cân bằng này bằng cách so sánh sức mạnh của thị trường với khoảng trống.
Các chỉ số được thiết kế để tăng cường tính chất liên tục này.
Toàn bộ chỉ số chỉ bao gồm hai tham số, một giai đoạn cửa sổ theo dõi động lực và một giai đoạn làm mịn tín hiệu.
Sử dụng các quy tắc giao dịch có giá trị rõ ràng hơn, tiêu chuẩn hóa cao, có thể kết nối trực tiếp với hệ thống giao dịch tự động, phù hợp với giao dịch theo quy trình.
Mặc dù có nhiều ưu điểm, chiến lược lỗ hổng động lực cũng có một số rủi ro:
Giá nhảy vọt có thể có sự bù đắp trong thời gian ngắn, do đó chỉ số có thể tạo ra tín hiệu sai.
Các chỉ số sẽ phát ra một loạt các tín hiệu giao dịch bù đắp lẫn nhau khi có sự biến động thường xuyên của giá.
Chỉ có hai tham số có thể dễ dàng dẫn đến quá tối ưu hóa trên dữ liệu lịch sử.
Các biện pháp để kiểm soát rủi ro là:
Sử dụng Stop Loss để hạn chế lỗ đơn
Thêm tham số để thích ứng với nhiều tình trạng thị trường
Tối ưu hóa đa gói để ngăn chặn quá tối ưu hóa
Chính sách này có thể được mở rộng và tối ưu hóa từ các khía cạnh sau:
Sử dụng nhiều chỉ số lỗ hổng của các cửa sổ theo dõi động lượng khác nhau, có thể có hiệu quả bổ sung trong các tuần khác nhau.
Ví dụ, chỉ số khoảng cách thực được kết hợp với chỉ số ATR để quản lý rủi ro.
Incorporate more gap characteristics (tham gia thêm các đặc tính khác nhau)
Có thể đạt được hiệu suất tốt hơn bằng cách sử dụng mô hình học máy phức tạp hơn để đào tạo dữ liệu nhảy vọt.
Chiến lược lỗ hổng động lực là một chiến lược đột phá đơn giản nhưng thực tế. Nó theo dõi sự thay đổi cấu trúc vi mô của thị trường, giá nhảy vọt, khai thác sự thay đổi mạnh mẽ của cung và cầu ẩn trong đó. Nó có thể phản ánh sự mất cân bằng của thị trường rõ ràng hơn so với các chỉ số kỹ thuật khác và nhanh chóng nắm bắt các điểm biến đổi xu hướng giá.
/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// TASC Issue: January 2024 - Vol. 42, Issue 1
// Article: Gap Momentum Indicator
// Taking A Page From The On-Balance Volume
// Article By: Perry J. Kaufman
// Language: TradingView's Pine Script™ v5
// Provided By: PineCoders, for tradingview.com
//@version=5
string title = 'TASC 2024.01 Gap Momentum System'
string stitle = 'GMS'
strategy(title, stitle, false)
int period = input.int( 40, 'Period:')
int signalPeriod = input.int( 20, 'Signal Period:')
bool longOnly = input.bool(true, 'Long Only:')
float gap = open - close[1]
float gapUp = 0.0
float gapDn = 0.0
switch
gap > 0 => gapUp += gap
gap < 0 => gapDn -= gap
float gapsUp = math.sum(gapUp, period)
float gapsDn = math.sum(gapDn, period)
float gapRatio = gapsDn == 0?1.0:100.0*gapsUp/gapsDn
float signal = ta.sma(gapRatio, signalPeriod)
if strategy.opentrades <= 0 and signal > signal[1]
// buy at next open:
strategy.entry('long', strategy.long)
else if strategy.opentrades > 0 and signal < signal[1]
if longOnly
// close all at next open:
strategy.close_all()
else
// sell at next open:
strategy.entry('short', strategy.short)
plot(gapRatio, 'Gap Momentum', color.red, 2)
plot(signal, 'Signal', color.silver, 1)