50% dana dan 50% kedudukan strategi kuantitatif baki dinamik


Tarikh penciptaan: 2023-12-25 14:12:30 Akhirnya diubah suai: 2023-12-25 14:12:30
Salin: 1 Bilangan klik: 678
1
fokus pada
1621
Pengikut

50% dana dan 50% kedudukan strategi kuantitatif baki dinamik

Gambaran Keseluruhan Strategi

Strategi ini melakukan keseimbangan dinamik dengan 50% modal dan 50% kedudukan, untuk mengawal risiko dengan sentiasa menyesuaikan kedudukan dan nisbah modal. Ia sesuai untuk pelabur yang tidak dapat memantau pasaran secara langsung.

Prinsip Strategi

  1. Modal permulaan adalah RM1 juta, dibahagikan kepada 50% modal dan 50% kedudukan.

  2. Dalam kitaran dagangan, jika baki dana lebih besar daripada 1.05 kali kerugian yang belum dicapai pada setiap hari pembukaan, anda boleh menggunakan 2.5 peratus daripada baki dana anda untuk menambah risiko.

  3. Jika tidak mencapai keuntungan yang lebih besar daripada 1.05 kali baki dana, menjual sebahagian daripada kedudukan untuk memulihkannya ke keadaan seimbang.

  4. Pada akhir dagangan, semua kedudukan dipadamkan.

Kelebihan Strategik

  1. Dengan keseimbangan dinamik dana dan kedudukan, risiko dapat dikawal dengan berkesan dan kerugian besar dalam keadaan yang melampau dapat dielakkan.

  2. Tidak perlu memantau pasaran dengan kerap, hanya perlu menyesuaikan perkadaran modal dan kedudukan, operasi mudah, sesuai untuk pelabur yang sibuk bekerja.

  3. Dengan menyesuaikan parameter, anda boleh mencapai tahap keutamaan risiko yang berbeza untuk memenuhi keperluan pelabur yang berbeza.

Risiko Strategik

  1. Tidak dapat menangkap turun naik jangka pendek pasaran, ruang untuk keuntungan terhad.

  2. Sekiranya berlaku penembusan unilateral yang berpanjangan, ia boleh menyebabkan kedudukan yang terlalu rendah untuk menangkap pasaran.

  3. Tetapan parameter yang tidak betul boleh menyebabkan kedudukan berubah terlalu kerap atau penggunaan dana yang tidak tinggi.

Pengoptimuman Strategi

  1. Lebih banyak parameter boleh diperkenalkan untuk mengawal kedudukan dan perkadaran modal dengan lebih baik.

  2. Ia boleh digabungkan dengan prinsip hentikan kerugian, dan hentikan kerugian yang sesuai apabila kedudukan lebih besar.

  3. Anda boleh menguji pelbagai tetapan parameter kitaran dagangan untuk meningkatkan kebolehpasaran strategi.

ringkaskan

Strategi ini mencapai matlamat kawalan risiko melalui pemikiran keseimbangan dinamik modal dan kedudukan. Operasi yang mudah dan mudah dilaksanakan berbanding dengan strategi lain. Kemudian, dengan memperkenalkan lebih banyak parameter yang boleh disesuaikan dan digabungkan dengan strategi lain, strategi ini dapat dibuat lebih sempurna.

Kod sumber strategi
/*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)