Strategi penyeimbangan dinamis dengan 50% dana dan 50% posisi

Penulis:ChaoZhang, Tanggal: 2023-12-25 14:12:30
Tag:

img

Tinjauan Strategi

Strategi ini secara dinamis menyeimbangkan antara 50% dana dan 50% posisi untuk mengendalikan risiko. Dengan terus menyesuaikan rasio antara dana dan posisi, ia mengelola risiko bagi investor yang tidak dapat memantau pasar secara real-time.

Logika Strategi

  1. Memulai modal di 1 juta, dibagi sama dalam 50% dana dan 50% posisi.

  2. Selama periode perdagangan, jika sisa dana melebihi laba/rugi yang belum direalisasikan sebesar 1,05 kali pada setiap bukaan, gunakan 2,5% dari sisa dana untuk menambahkan posisi.

  3. Jika laba/rugi yang belum direalisasikan melebihi sisa dana sebesar 1,05 kali, jual posisi parsial untuk mengembalikan keseimbangan.

  4. Tutup semua posisi pada akhir periode perdagangan.

Keuntungan

  1. Pengendalian risiko yang efektif dengan menyeimbangkan dana dan posisi secara dinamis, menghindari kerugian besar dalam kondisi pasar yang ekstrim.

  2. Mudah untuk beroperasi untuk investor sibuk, hanya perlu menyesuaikan rasio dana / posisi.

  3. Parameter yang dapat disesuaikan untuk memenuhi selera risiko yang berbeda.

Risiko

  1. Tidak mampu memanfaatkan fluktuasi jangka pendek, potensi keuntungan terbatas.

  2. Jalan satu sisi yang panjang dapat mengakibatkan ukuran posisi yang tidak cukup.

  3. Penyesuaian parameter yang tidak tepat menyebabkan posisi yang berlebihan atau pemanfaatan modal yang rendah.

Peluang Peningkatan

  1. Memperkenalkan lebih banyak parameter untuk pengendalian dana/posisi yang lebih halus.

  2. Menggabungkan stop loss/profit taking untuk posisi yang lebih besar.

  3. Uji parameter periode perdagangan yang berbeda untuk meningkatkan kemampuan beradaptasi.

Kesimpulan

Strategi ini mencapai pengendalian risiko dengan menyeimbangkan secara dinamis antara dana dan posisi. Mudah diterapkan dibandingkan dengan strategi lain. Dapat ditingkatkan lebih lanjut dengan memperkenalkan parameter yang lebih dapat disesuaikan dan dikombinasikan dengan konsep strategi lainnya.


/*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)



Lebih banyak