Chiến lược giao dịch định lượng theo dõi mức cao nhất mọi thời đại


Ngày tạo: 2024-01-22 08:59:34 sửa đổi lần cuối: 2024-01-22 08:59:34
sao chép: 0 Số nhấp chuột: 679
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch định lượng theo dõi mức cao nhất mọi thời đại

Tổng quan

Chiến lược này chủ yếu là theo dõi giá cao nhất lịch sử của chứng khoán, mua khi giá giảm xuống một phần trăm giá cao nhất và bán khi giá vượt qua giá cao nhất lịch sử một lần nữa, thuộc chiến lược theo dõi xu hướng.

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

Chiến lược này đầu tiên ghi lại giá cao nhất của chứng khoán kể từ ngày 1 tháng 1 năm 2011 đến nay, được định nghĩa là biến số HighestHigh. Sau đó nó vẽ một đường ngang cho giá cao nhất đó là allTimeHigh.

Trong quá trình hoạt động, mỗi ngày đánh giá xem giá cao nhất của ngày đó có cao không, nếu cao, hãy cập nhật biến HighestHigh và vẽ lại đường chân trời AllTimeHigh.

Chiến lược này có 3 đường ngang quan trọng:

  1. buyzone=highestHigh*0.9: 90% mức giá cao nhất, đại diện cho cơ hội thu hồi mạnh mẽ

  2. buyzone2=highestHigh*0.8: mức 80% giá cao nhất, đại diện cho vị trí hút trở lại hấp dẫn hơn

  3. sellzone=highestHigh*0,99: 99% mức giá cao nhất, đại diện cho cơ hội đánh giá xu hướng đảo ngược

Giao thức mua được phát ra khi giá giảm xuống 80% đường chân trời (buyzone2); Giao thức bán được phát ra khi giá phá vỡ 99% đường chân trời (sellzone) của mức cao nhất trong lịch sử.

Phương pháp này dựa trên việc theo dõi các mức giá cao nhất trong lịch sử và các đường ngang theo tỷ lệ khác nhau, một trong những chiến lược theo dõi xu hướng điển hình.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là có thể nắm bắt xu hướng tăng dài hạn, bằng cách chờ đợi để hút lại và tham gia vào thị trường, để đạt được hiệu quả mua thấp và bán cao. Các lợi thế cụ thể như sau:

  1. Có cơ hội nắm bắt xu hướng tăng giá dài hạn của cổ phiếu, theo dõi giá cao nhất là cơ sở quan trọng để đánh giá xu hướng

  2. Vị trí này có tỷ lệ lợi nhuận rủi ro tối ưu, đảm bảo không gian lợi nhuận sau khi tăng và hạn chế rủi ro giảm.

  3. 99% giá cao nhất trong lịch sử như một đường dừng để tối đa hóa lợi nhuận và kiểm soát rủi ro

  4. Có thể được sử dụng để kiểm tra xem cổ phiếu có tham gia vào cơ hội tăng trưởng cấu trúc hay không, cao nhất mới cao nhất đại diện cho sự tăng cường của doanh nghiệp

  5. Các tham số có thể điều chỉnh không gian lớn, có thể được tối ưu hóa cá nhân cho các cổ phiếu khác nhau

Vì vậy, chiến lược này sử dụng tối đa lợi nhuận từ xu hướng tăng giá của cổ phiếu và tránh rủi ro điều chỉnh ngắn hạn, thuộc về chiến lược theo dõi xu hướng tốt hơn so với lợi nhuận rủi ro.

Phân tích rủi ro

Rủi ro chính của chiến lược này là khả năng giá có thể thấp hơn và tiếp tục giảm sau khi mua. Rủi ro chính bao gồm:

  1. Xác suất giá tiếp tục giảm sau khi mua, có thể sẽ bị thua lỗ

  2. Giá cao nhất thực sự đại diện cho mức cao của điểm nóng theo đuổi sự sụt giảm, và động lực tiếp tục tăng có thể không đủ.

  3. Nếu các tham số được thiết lập không đúng cách, điểm dừng quá cao hoặc quá thấp sẽ có vấn đề khác nhau

  4. Tần suất giao dịch có thể thấp, dễ bị ảnh hưởng bởi các môi trường bên ngoài như thị trường lớn

  5. Không tính đến cơ bản và định giá của từng cổ phiếu, cơ sở mua cổ phiếu yếu

Các giải pháp chính là: đánh giá hợp lý các nguyên tắc cơ bản của cổ phiếu, đảm bảo chất lượng lựa chọn cổ phiếu; điều chỉnh các tham số như tỷ lệ mua, điểm dừng để tối ưu hóa chiến lược; xem xét thực hiện kết hợp với các chiến lược khác.

Hướng tối ưu hóa

Các hướng tối ưu hóa chính của chiến lược này là điều chỉnh tham số, cải thiện quy tắc lựa chọn cổ phiếu, cách dừng lỗ. Cụ thể như sau:

  1. Tối ưu hóa các chỉ số kỹ thuật mua và dừng lỗ, như xem xét các chỉ số như KD, MACD và tránh cao

  2. Cải thiện quy tắc lựa chọn cổ phiếu, thêm các chỉ số cơ bản và định giá để đảm bảo chất lượng lựa chọn cổ phiếu

  3. Động thái điều chỉnh tỷ lệ tham số, và kết nối với đĩa lớn để đảm bảo tính hợp lý của tham số

  4. Thiết lập dừng di chuyển hoặc dừng thời gian, tối ưu hóa cách dừng và vị trí dừng

  5. Xem xét kết hợp với các chiến lược yếu tố khác để tạo thành mô hình đa yếu tố, tăng sự ổn định

  6. Thêm vào đó là chỉ số khả năng phán đoán, tránh lựa chọn thời kỳ suy thoái sau khi cổ phiếu tăng

Do đó, hướng tối ưu hóa của chiến lược này chủ yếu là cải thiện các quy tắc lựa chọn cổ phiếu, điều chỉnh tham số, cách dừng lỗ, và tiếp tục cải thiện sự ổn định và lợi nhuận điều chỉnh rủi ro dựa trên xu hướng theo dõi ban đầu.

Tóm tắt

Chiến lược này là một trong những chiến lược theo dõi xu hướng theo dõi xu hướng theo dõi xu hướng cao của lịch sử. Nó có thể nắm bắt hiệu quả xu hướng tăng giá dài hạn của cổ phiếu, có được tỷ lệ lợi nhuận rủi ro tốt hơn bằng cách thu hồi kỹ thuật. Nhưng do không xem xét các yếu tố cơ bản, tính ổn định và khả năng chống rủi ro yếu.

Mã nguồn chiến lược
/*backtest
start: 2023-01-21 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("All-time-high", "ATH", overlay=true, initial_capital=10000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, pyramiding=1, commission_type=strategy.commission.cash_per_contract, commission_value=0.000)

// input
Athlw = input(title="All-time-high line widths", type=input.integer, defval=4, minval=0, maxval=4)
Athlc = input(title="All-time-high line color", type=input.color, defval=color.new(color.fuchsia,50))
years = input(title="Years back to search for an ATH", type=input.integer, defval=6,minval=0, maxval=100)

var float   highestHigh = 0
// var line    allTimeHigh = line.new(na, na, na, na, extend=extend.both, color=Athlc, width=Athlw)

if high > highestHigh
    highestHigh := high

// if barstate.islast
//     line.set_xy1(allTimeHigh, bar_index-1, highestHigh)
//     line.set_xy2(allTimeHigh, bar_index,   highestHigh)

plot(highestHigh)
buyzone=highestHigh*0.9
buyzone2=highestHigh*0.8
buyzone3=highestHigh*0.7
sellzone=highestHigh*0.99

plot(buyzone, color=color.red)
plot(buyzone2, color=color.white)
plot(buyzone3, color=color.green)

begin = timestamp(2011,1,1,0,0)
end = timestamp(2022,4,19,0,0)

longCondition = close<buyzone2
if (longCondition)
    strategy.entry("Buy", strategy.long)
closeCondition = close>sellzone
if (closeCondition)
    strategy.close("Buy", strategy.long)