Chiến lược động lực kép

Tác giả:ChaoZhang, Ngày: 2023-10-09 15:03:30
Tags:

Tổng quan

Chiến lược động lực kép nhằm mục đích mua thấp và bán cao bằng cách xác định các mô hình nến liên tiếp tăng hoặc giảm trong giá cổ phiếu. Nó sử dụng các chỉ số đơn giản để ra quyết định và dễ thực hiện cho giao dịch trung hạn đến ngắn hạn.

Chiến lược logic

Chiến lược dựa trên hai chỉ số:số lượng thanh tăngsố lượng thanh rơi.

  • Đi dài khi đóng tăng trên các thanh LongEnterAfter, đóng dài khi đóng giảm dưới các thanh LongExitAfter.

  • Đi ngắn khi đóng rơi dưới các thanh ShortEnterAfter, đóng ngắn khi đóng tăng trên các thanh ShortExitAfter.

Các quy tắc giao dịch chính xác được xác định bằng cách điều chỉnh LongEnterAfter, LongExitAfter, ShortEnterAfter và ShortExitAfter.

Chiến lược này nắm bắt sự thay đổi động lực trong giá cổ phiếu bằng cách theo dõi giá đóng hàng ngày. Nó kích hoạt tín hiệu vào và ra dựa trên các mô hình nến được xác định trong các thông số.

Tóm lại, cốt lõi của chiến lược động lực kép là xác định xu hướng tăng và giảm giá ngắn hạn để xác định hướng và thời gian giao dịch.

Phân tích lợi thế

Chiến lược động lực kép có những lợi thế sau:

  • Logic đơn giản và thẳng thắn dễ hiểu và thực hiện.

  • Các thông số có thể cấu hình để điều chỉnh chiến lược hung hăng.

  • Thu thập động lực ngắn hạn giúp tận dụng xu hướng cổ phiếu.

  • Dừng lỗ có thể kiểm soát rủi ro hiệu quả.

  • Làm việc tốt cho các cổ phiếu nhạy cảm với biến động giá, đặc biệt là cổ phiếu vốn hóa nhỏ.

Nhìn chung, chiến lược động lực kép phù hợp với các nhà đầu tư nhạy cảm với sự thay đổi giá và theo đuổi tần suất giao dịch cao. Nó có thể tận dụng các biến động cổ phiếu ngắn hạn và đạt được alpha. Tần suất và rủi ro có thể được kiểm soát thông qua điều chỉnh tham số.

Phân tích rủi ro

Chiến lược động lực kép cũng có những rủi ro sau:

  • Tùy thuộc rất nhiều vào cài đặt tham số dẫn đến sự khác biệt hiệu suất lớn.

  • Phớt lờ các xu hướng dài hạn bằng cách chỉ tập trung vào xu hướng ngắn hạn.

  • Tần suất giao dịch cao làm tăng chi phí và rủi ro trượt.

  • Cài đặt stop loss không đúng có thể dẫn đến lỗ không thể chấp nhận được.

  • Không phù hợp với cổ phiếu giới hạn trong phạm vi hoặc hợp nhất dài.

  • Nguy cơ bị đánh lừa bởi tiền thông minh khi khối lượng khô.

Các rủi ro có thể được giảm thiểu bằng cách:

  • Điều chỉnh các tham số để giảm tần suất giao dịch và rủi ro tối ưu hóa quá mức.

  • Cho phép thời gian giữ dài hơn để tính đến xu hướng trung bình dài hạn.

  • Thiết lập stop loss để kiểm soát chặt chẽ lỗ giao dịch duy nhất.

  • Chọn cổ phiếu có động lực cao và tránh cổ phiếu bị sốc.

  • Tăng tầm quan trọng của khối lượng để tránh rủi ro khi khối lượng giảm.

Cơ hội gia tăng

Chiến lược có thể được cải thiện theo nhiều cách:

  • Thêm các chỉ số xu hướng như MACD và KDJ để tránh giao dịch chống lại xu hướng chính.

  • Thêm điều kiện âm lượng để tránh các mục khi âm lượng giảm.

  • Thêm stop loss di chuyển để khóa lợi nhuận, ví dụ xN ATR trailing stop.

  • Tối ưu hóa các thông số thông qua backtesting để cải thiện sự ổn định.

  • Kết hợp các mô hình giao dịch thuật toán để quản lý đơn đặt hàng tốt hơn.

  • Áp dụng máy học để khám phá các tín hiệu hiệu quả hơn.

Nhìn chung, trọng tâm chính là cải thiện sự ổn định, kiểm soát rủi ro và khám phá các yếu tố alpha mới.

Tóm lại

Chiến lược động lượng kép lần thị trường thông qua các chỉ số thanh lên / xuống liên tục đơn giản. Nó dễ dàng thực hiện và tính hung hăng có thể điều chỉnh. Nó phù hợp với các nhà giao dịch ngắn hạn, đặc biệt là cho các cổ phiếu vốn nhỏ. Quản lý rủi ro chống lại tối ưu hóa quá mức, dừng lỗ, thay đổi khối lượng vv là quan trọng.


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

//@version=4
// strategy(title="simple momentum", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// ====================================
// STUDY AND STRATEGY

// Inputs
LongEnterAfter = input(title="enter long after X rising blocks",  defval=2)
LongExitAfter = input(title="exit long after X falling blocks",  defval=1)
ShortEnterAfter = input(title="enter short after X falling blocks",  defval=2)
ShortExitAfter = input(title="exit short after X rising blocks",  defval=1)

// Criteria
Valid = change(time)
LongEnter = Valid and rising(close, LongEnterAfter)
LongExit = Valid and falling(close, LongExitAfter)
ShortEnter = Valid and falling(close, ShortEnterAfter)
ShortExit = Valid and rising(close, ShortExitAfter)

// ====================================
// STRATEGY

TradeSinceYear = input(title="trade since year",  defval=2017)
TradeSinceMonth = input(title="trade since month",  defval=1)

if year > TradeSinceYear or (year == TradeSinceYear and month >= TradeSinceMonth)
    strategy.entry("long", strategy.long, when = LongEnter)
    strategy.close("long", when = LongExit)

    strategy.entry("short", strategy.short, when = ShortEnter)
    strategy.close("short", when = ShortExit)


Thêm nữa