50% quỹ và 50% vị thế chiến lược định lượng cân bằng động


Ngày tạo: 2023-12-25 14:12:30 sửa đổi lần cuối: 2023-12-25 14:12:30
sao chép: 1 Số nhấp chuột: 678
1
tập trung vào
1621
Người theo dõi

50% quỹ và 50% vị thế chiến lược định lượng cân bằng động

Tổng quan về chiến lược

Chiến lược này có sự cân bằng động với 50% vốn và 50% vị trí, để kiểm soát rủi ro bằng cách liên tục điều chỉnh tỷ lệ vị trí và vốn. Nó phù hợp với các nhà đầu tư không thể giám sát thị trường trong thời gian thực.

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

  1. Đầu tư ban đầu là 1 triệu USD, phân chia thành 50% vốn và 50% vị trí.

  2. Trong chu kỳ giao dịch, mỗi ngày mở cửa, nếu số tiền còn lại lớn hơn 1,05 lần lợi nhuận chưa đạt được, hãy sử dụng 2,5% số tiền còn lại để đặt cược.

  3. Nếu không đạt được lợi nhuận lớn hơn 1,05 lần số tiền còn lại, hãy bán một số vị trí để khôi phục lại trạng thái cân bằng.

  4. Khi giao dịch kết thúc, thanh toán tất cả các vị trí bằng phẳng.

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

  1. Thông qua sự cân bằng động của vốn và vị trí, bạn có thể kiểm soát rủi ro một cách hiệu quả và tránh tối đa những tổn thất lớn trong các tình huống cực đoan.

  2. Không cần phải giám sát thị trường thường xuyên, chỉ cần điều chỉnh tỷ lệ vốn và vị trí, hoạt động đơn giản, phù hợp với các nhà đầu tư bận rộn.

  3. Các tham số có thể được điều chỉnh để đáp ứng nhu cầu của các nhà đầu tư khác nhau, với mức độ ưu tiên rủi ro khác nhau.

Rủi ro chiến lược

  1. Không thể nắm bắt được những biến động ngắn hạn của thị trường và không có nhiều cơ hội để kiếm tiền.

  2. Nếu thị trường có một đợt phá vỡ đơn phương kéo dài, nó có thể dẫn đến tỷ lệ vị trí quá thấp và không thể nắm bắt được thị trường.

  3. Thiết lập tham số không đúng có thể dẫn đến việc điều chỉnh vị trí quá thường xuyên hoặc sử dụng vốn không cao.

Tối ưu hóa chiến lược

  1. Có thể đưa ra nhiều tham số hơn, kiểm soát tốt hơn các vị trí và tỷ lệ vốn.

  2. Có thể kết hợp với nguyên tắc dừng lỗ, dừng lỗ thích hợp khi vị trí lớn hơn.

  3. Có thể thử nghiệm các thiết lập tham số chu kỳ giao dịch khác nhau để nâng cao khả năng thích ứng của chiến lược.

Tóm tắt

Chiến lược này đạt được mục tiêu kiểm soát rủi ro bằng cách cân bằng động lực vốn và vị trí. Hoạt động đơn giản và dễ thực hiện hơn so với các chiến lược khác.

Mã nguồn chiến lượ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)