Chiến lược phá vỡ động lực đảo ngược

Tác giả:ChaoZhang, Ngày: 2024-02-23 12:11:32
Tags:

img

Tổng quan

Chiến lược Phá vỡ Động lực đảo ngược là một chiến lược giao dịch định lượng tạo ra các tín hiệu giao dịch bằng cách sử dụng các chỉ số đảo ngược giá và động lực. Dựa trên lý thuyết động lực dẫn giá, chiến lược này theo dõi giá cao nhất và thấp nhất trong một khoảng thời gian nhất định để xác định xem thị trường có ở một điểm đảo ngược chính để nắm bắt các cơ hội đảo ngược hay không.

Nguyên tắc chiến lược

Lý thuyết cốt lõi của chiến lược này là xác định các điểm đảo ngược thị trường bằng cách tính toán giá cao nhất và thấp nhất trong một cửa sổ nhìn lại cụ thể (ví dụ: 20 ngày).

  1. Tính toán giá cao nhất (window_high) và giá thấp nhất (window_low) trong 20 ngày qua.

  2. Nếu mức cao nhất ngày hôm nay cao hơn mức cao nhất trong 20 ngày qua (tốc độ cao nhất 20 ngày mới), nhập thời gian theo dõi đảo ngược cao và đặt bộ đếm thành 5 ngày.

  3. Nếu không có mức cao mới xảy ra, khấu trừ số bằng 1 mỗi ngày. Khi số đạt 0, thời gian theo dõi đảo ngược cao kết thúc.

  4. Lý thuyết đánh giá cho giá thấp nhất tương tự. Nếu một mức thấp mới xảy ra, hãy nhập thời gian theo dõi đảo ngược thấp.

  5. Các tín hiệu đảo ngược gần các điểm đảo ngược chính cho phép nắm bắt các động thái lớn hơn.

Chiến lược cũng thiết lập thời gian bắt đầu giao dịch để tránh tạo ra tín hiệu trên dữ liệu lịch sử.

Phân tích lợi thế

Chiến lược phá vỡ đà đảo ngược có những lợi thế chính sau:

  1. Thu thập các cơ hội đảo ngược, phù hợp với xu hướng đảo ngược. Thị trường thường cho thấy một số mức độ đảo ngược sau một xu hướng tăng hoặc giảm bền vững. Chiến lược này nhằm mục đích nắm bắt các điểm chuyển đổi này.

  2. Theo dõi giá cao nhất và thấp nhất trong một cửa sổ có thể xác định một cách nhạy cảm xu hướng đảo ngược giá và thời gian.

  3. Thời gian theo dõi đảo ngược tránh các tín hiệu sai. Các tín hiệu chỉ được tạo ra xung quanh các điểm đảo ngược chính, lọc một số tiếng ồn.

  4. Cho phép các vị trí dài và ngắn. thay thế giữa dài và ngắn theo hướng thị trường.

  5. Khá đơn giản, dễ thực hiện, dựa vào giá cả và chỉ số động lực đơn giản, dễ lập trình.

Phân tích rủi ro

Những rủi ro chính của chiến lược này bao gồm:

  1. Dự đoán đảo ngược không chính xác. Chiến lược có thể gây ra tổn thất nếu thị trường có xu hướng theo hướng.

  2. Các xu hướng thị trường nói chung không được xem xét. Sự đảo ngược cổ phiếu cá nhân không nhất thiết đại diện cho sự đảo ngược thị trường. Phân tích thị trường nên được kết hợp.

  3. Khả năng rút tiền lớn, rút tiền có thể mở rộng mà không có sự đảo ngược thực tế.

  4. Tính lệch phù hợp dữ liệu. Hiệu suất có thể khác nhau đáng kể so với backtests.

  5. Độ nhạy của tham số. Thời gian cửa sổ, tham số đếm vv ảnh hưởng đến sự ổn định.

Các phương pháp kiểm soát rủi ro tương ứng bao gồm tối ưu hóa dừng lỗ, kết hợp các yếu tố thị trường, điều chỉnh các kết hợp tham số và xác minh sự ổn định.

Hướng dẫn cải thiện

Các hướng tối ưu hóa chính bao gồm:

  1. Bao gồm các chỉ số thị trường. Đánh giá sức mạnh thị trường để tránh môi trường hình ảnh lớn không thuận lợi.

  2. Chọn cổ phiếu với cơ bản vững chắc và định giá quá cao.

  3. Tối ưu hóa tham số. Điều chỉnh thời gian cửa sổ và tham số đếm để tìm kết hợp tham số tối ưu.

  4. Thêm các chiến lược dừng lỗ, ví dụ như dừng kéo dài, dừng biến động để kiểm soát giảm tối đa.

  5. Tăng độ chính xác dự đoán của máy học về sự đảo ngược giá.

Kết luận

Chiến lược Breakout Động lực đảo ngược xác định cơ hội đảo ngược bằng cách theo dõi giá và động lực. Nó phản ứng nhạy cảm và xác định xu hướng đảo ngược và thời gian. Nhưng nó có rủi ro đòi hỏi tối ưu hóa và kiểm soát rủi ro thích hợp. Nhìn chung, khi được hiểu và tối ưu hóa kỹ lưỡng, nó có thể tạo thành một thành phần hiệu quả của một hệ thống giao dịch định lượng.


/*backtest
start: 2023-02-16 00:00:00
end: 2024-02-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("New Highs and Lows Momentum Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

window = input.int(20, title="New Highs and Lows Window", minval=1)
decay = input.int(5, title="Decay", minval=1)
startDate = input(timestamp("1 Jan 2023"), title = "Start Date")
allowShort = input.bool(false, title = "Allow shorting")

var int highDecayCounter = 0
var bool isHighPeriod = false
var int lowDecayCounter = 0
var bool isLowPeriod = false

inTradeWindow = true

window_high = ta.highest(close, window)
window_low = ta.lowest(low, window)

// Logic for Highs
if window_high > ta.highest(close, window)[1]
    highDecayCounter := decay
    isHighPeriod := true
else
    if highDecayCounter > 0
        highDecayCounter := highDecayCounter - 1
    else
        isHighPeriod := false

// Logic for Lows
if window_low < ta.lowest(low, window)[1]
    lowDecayCounter := decay
    isLowPeriod := true
else
    if lowDecayCounter > 0
        lowDecayCounter := lowDecayCounter - 1
    else
        isLowPeriod := false

// Strategy Execution
if inTradeWindow
    if isHighPeriod and highDecayCounter == decay
        strategy.entry("Long", strategy.long)

    if isHighPeriod and highDecayCounter == 0
        strategy.close("Long")

    if isLowPeriod and lowDecayCounter == decay and allowShort
        strategy.entry("Short", strategy.short)

    if isLowPeriod and lowDecayCounter == 0 and allowShort
        strategy.close("Short")

// Plotting
plot(window_high, color=color.green)
plot(window_low, color=color.red)

Thêm nữa