Chiến lược định lượng điều chỉnh vị trí động


Ngày tạo: 2024-02-21 14:52:10 sửa đổi lần cuối: 2024-02-21 14:52:10
sao chép: 0 Số nhấp chuột: 964
1
tập trung vào
1617
Người theo dõi

Chiến lược định lượng điều chỉnh vị trí động

Tổng quan

Ý tưởng cốt lõi của chiến lược này là điều chỉnh kích thước vị trí của mỗi giao dịch theo động lực quyền lợi của tài khoản. Nó có thể tự động tăng vị trí khi lợi nhuận và tự động giảm vị trí khi thua lỗ, do đó tự động tăng hiệu quả lợi nhuận.

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

Chiến lược này thực hiện điều chỉnh động lực vị trí thông qua một số bước quan trọng sau:

  1. Thiết lập các tham số như tỷ lệ đòn bẩy, vị trí tối đa như giới hạn
  2. Tính toán quyền lợi tài khoản chia cho tỷ lệ đòn bẩy để có được kích thước vị trí chuẩn
  3. So sánh kích thước vị trí chuẩn với thiết lập vị trí tối đa, lấy giá trị tối thiểu giữa hai vị trí thực tế
  4. Điều chỉnh kích thước vị trí khi mở vị trí để tính toán vị trí thực tế thu được
  5. Kích thước vị trí sẽ được điều chỉnh theo thời gian thực dựa trên số tiền lỗ hổng và sự thay đổi quyền lợi của tài khoản

Các bước trên đảm bảo sự hợp lý của kích thước vị trí, tránh rủi ro do vị trí quá mức, đồng thời thực hiện kết nối kích thước vị trí với quyền lợi tài khoản, tự động tăng hiệu quả theo lợi nhuận.

Lợi thế chiến lược

Chiến lược này có một số lợi thế:

  1. Có khả năng điều chỉnh động kích thước vị trí mà không cần sự can thiệp của con người
  2. Kích thước vị trí được gắn với quyền lợi tài khoản, có thể tự động tạo ra hiệu ứng lợi nhuận
  3. Thiết lập đòn bẩy và vị trí tối đa để hạn chế, kiểm soát lỗ hổng rủi ro
  4. Logic rõ ràng và đơn giản, dễ hiểu và tái phát triển
  5. Khả năng tích hợp, mở rộng

Rủi ro chiến lược

Chiến lược này cũng có một số rủi ro:

  1. Khi một vị thế lớn hơn, tổn thất cũng sẽ lớn hơn, có nguy cơ bỏ lỡ cơ hội đảo ngược
  2. Kích thước vị trí được gắn liền với quyền lợi tài khoản trong thời gian thực, có thể được điều chỉnh quá thường xuyên trong các trường hợp thị trường đặc biệt
  3. Rủi ro của việc đặt sai vị trí tối đa có thể dẫn đến vị trí vượt mức
  4. Cài đặt đòn bẩy quá cao cũng dẫn đến rủi ro quá tập trung

Những rủi ro này có thể được giảm thiểu bằng cách đặt các tham số hợp lý và dự trữ tài chính thích hợp.

Hướng tối ưu hóa chiến lược

Chiến lược này cũng có thể được tối ưu hóa theo các khía cạnh sau:

  1. Thêm cài đặt điểm trượt để điều chỉnh mượt hơn
  2. Công thức tính toán tối ưu hóa kích thước vị thế, đưa ra các yếu tố khác
  3. Kích thước của vị thế khóa tĩnh trong điều kiện thị trường cụ thể
  4. Thiết lập số lượng thay đổi đơn vị tối thiểu của điều chỉnh vị trí, tránh điều chỉnh quá thường xuyên
  5. Thêm quy tắc phán quyết điều kiện cho việc điều chỉnh vị trí để ngăn chặn điều chỉnh không cần thiết

Bằng cách tối ưu hóa các điểm trên, bạn có thể làm cho hành vi chiến lược ổn định hơn và có thể kiểm soát được, tránh việc điều chỉnh kích thước vị trí quá nhạy cảm và thường xuyên.

Tóm tắt

Chiến lược này thực hiện chức năng điều chỉnh vị trí động dựa trên quyền lợi của tài khoản, có thể tự động tăng hiệu quả lợi nhuận. Nó đặt đòn bẩy và vị trí tối đa làm kiểm soát rủi ro, và logic đơn giản, rõ ràng, dễ hiểu và phát triển thứ hai. Chúng tôi cũng phân tích ưu điểm và rủi ro của chiến lược và đưa ra một số đề xuất tối ưu hóa.

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

// This source code is subject to the terms of Tendies Heist LLC, 2021
//@version=4
strategy("Tendies Heist Auto Compounding Example", overlay=true)

    
leverage = input(10000)

maxps = input(25, "max position size")
strategy.risk.max_position_size(maxps)

balance = max(1,floor(strategy.equity / leverage))

o        = 1
ps       = true
size     = 0.
balance2 = size[1] < balance
balance3 = size[1] > balance
l        = balance3
w        = balance2

if ps
    size := w ? size[1]+o : l ? size[1]-o : nz(size[1],o)
if size > maxps
    size := maxps

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long,qty=size)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short,qty=size)