Chiến lược cân bằng năng động với 50% quỹ và 50% vị trí

Tác giả:ChaoZhang, Ngày: 2023-12-25 14:12:30
Tags:

img

Tổng quan chiến lược

Chiến lược này cân bằng năng động giữa 50% quỹ và 50% vị trí để kiểm soát rủi ro. Bằng cách điều chỉnh liên tục tỷ lệ giữa quỹ và vị trí, nó quản lý rủi ro cho các nhà đầu tư không thể theo dõi thị trường trong thời gian thực.

Chiến lược logic

  1. Đầu tư ban đầu là 1 triệu, phân chia bằng nhau thành 50% quỹ và 50% vị trí.

  2. Trong thời gian giao dịch, nếu số tiền còn lại vượt quá lợi nhuận / lỗ chưa thực hiện bằng 1,05 lần tại mỗi lần mở, sử dụng 2,5% số tiền còn lại để thêm các vị trí.

  3. Nếu lợi nhuận/mất lỗ chưa thực hiện vượt quá số tiền còn lại 1,05 lần, bán các vị trí một phần để khôi phục sự cân bằng.

  4. Đóng tất cả các vị trí vào cuối thời gian giao dịch.

Ưu điểm

  1. Kiểm soát rủi ro hiệu quả bằng cách cân bằng năng động các quỹ và các vị trí, tránh tổn thất lớn trong điều kiện thị trường cực đoan.

  2. Dễ dàng để hoạt động cho các nhà đầu tư bận rộn, chỉ cần điều chỉnh tỷ lệ quỹ / vị trí.

  3. Các thông số có thể tùy chỉnh để đáp ứng các nhu cầu rủi ro khác nhau.

Rủi ro

  1. Không thể tận dụng những biến động ngắn hạn, tiềm năng lợi nhuận hạn chế.

  2. Chạy một bên lâu có thể dẫn đến không đủ kích thước vị trí.

  3. Điều chỉnh tham số không chính xác dẫn đến chuyển đổi vị trí quá mức hoặc sử dụng vốn thấp.

Cơ hội gia tăng

  1. Đưa ra nhiều thông số hơn để kiểm soát quỹ / vị trí tinh tế hơn.

  2. Bao gồm việc dừng lỗ/lợi nhuận cho các vị trí lớn hơn.

  3. Kiểm tra các tham số thời gian giao dịch khác nhau để cải thiện khả năng thích nghi.

Kết luận

Chiến lược này đạt được kiểm soát rủi ro bằng cách cân bằng năng động giữa các quỹ và các vị trí. Dễ thực hiện so với các chiến lược khác. Có thể được cải thiện thêm bằng cách giới thiệu các thông số có thể điều chỉnh hơn và kết hợp với các khái niệm chiến lược khác.


/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-18 19:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("00631L Trading Simulation", shorttitle="Sim", overlay=true, initial_capital = 1000000)

// 设置本金
capital = 1000000

// 设置购买和出售日期范围
start_date = timestamp(2020, 11, 4)
next_date = timestamp(2020, 11, 5)
sell_date = timestamp(2023, 10, 24)
end_date = timestamp(2023, 10, 25)  // 结束日期改为2023年10月25日

// 判断是否在交易期间
in_trade_period = true
// 实现的盈亏
realized_profit_loss = strategy.netprofit
plot(realized_profit_loss, title="realized_profit_loss", color=color.blue)
// 未实现的盈亏
open_profit_loss = strategy.position_size * open
plot(open_profit_loss, title="open_profit_loss", color=color.red)
// 剩余资金
remaining_funds = capital  + realized_profit_loss - (strategy.position_size * strategy.position_avg_price)
plot(remaining_funds, title="remaining_funds", color=color.yellow)
// 總權益
total_price = remaining_funds + open_profit_loss
plot(total_price, title="remaining_funds", color=color.white)
// 购买逻辑:在交易期间的每个交易日买入 daily_investment 金额的产品
first_buy = time >= start_date and time <= next_date
buy_condition = in_trade_period and dayofmonth != dayofmonth[1]
// 出售邏輯 : 在交易期间的截止日出售所有商品。
sell_all = time >= sell_date

// 在交易期間的第一日買入50%本金
if first_buy
    strategy.order("First", strategy.long, qty = capital/2/open)
// 在每个K线的开盘时进行买入

// 加碼邏輯 : 剩余资金 > 未实现的盈亏 * 1.05
add_logic = remaining_funds > open_profit_loss * 1.05
if buy_condition
    strategy.order("Buy", strategy.long, when = add_logic, qty = remaining_funds * 0.025 / open)
//

// 減碼邏輯 : 剩余资金 > 未实现的盈亏 * 1.05
sub_logic = open_profit_loss > remaining_funds * 1.05
if buy_condition
    strategy.order("Sell", strategy.short, when = sub_logic, qty = open_profit_loss * 0.025/open)
//

strategy.order("Sell_all",  strategy.short, when = sell_all, qty = strategy.position_size)

// 绘制交易期间的矩形区域
bgcolor(in_trade_period ? color.green : na, transp=90)



Thêm nữa