50%のファンドと50%のポジションのダイナミックバランス定量戦略


作成日: 2023-12-25 14:12:30 最終変更日: 2023-12-25 14:12:30
コピー: 1 クリック数: 678
1
フォロー
1621
フォロワー

50%のファンドと50%のポジションのダイナミックバランス定量戦略

戦略概要

この戦略は,50%の資金と50%のポジションで動的にバランスをとり,ポジションと資金の比率を常に調整することによって,リスク制御を実現します. 市場をリアルタイムで監視できない投資家には適しています.

戦略原則

  1. 初期資本は100万元で,50%の資金と50%のポジションに分かれています.

  2. 取引周期中,毎日の開盤時に,余剰資金が未達成の利益の1.05倍以上である場合,余剰資金の2.5%で加仓する.

  3. 余剰資金の1.05倍以上の利回りが得られない場合,部分的なポジションを売却して,均衡状態に戻す.

  4. 取引の終了時に,平仓はすべてのポジションを清算する.

戦略的優位性

  1. 資金とポジションのダイナミックなバランスによって,リスクを効果的にコントロールし,極端な状況で巨額の損失を最大限に防ぐことができます.

  2. 市場を頻繁に監視する必要はなく,資金とポジションの比率を調整するだけで,操作が簡単で,忙しい投資家に適しています.

  3. パラメータを調整することで,異なるレベルのリスク偏好を実現し,異なる投資家のニーズを満たすことができます.

戦略リスク

  1. 市場が短期的に下落し,利益の余地が限られている.

  2. 長期にわたる単一突破が起こると,ポジションの割合が低すぎて,市場が十分に捉えられない可能性があります.

  3. パラメータの設定が不適切である場合,ポジションの調整が頻繁になるか,資金の利用率が低い可能性があります.

戦略の最適化

  1. より多くのパラメータを導入し,ポジションと資本比率のより精密な制御を実現できます.

  2. ストップ・ストップ・ストップの原理を組み合わせて,ポジションが大きいときに適切なストップ・ストップを行う.

  3. 異なる取引周期パラメータの設定をテストして,戦略の適応性を向上させることができる.

要約する

この戦略は,資金とポジションの動的バランスを考えることで,リスク管理の目標を達成する.他の戦略と比較して,操作は単純で,実行しやすい.さらに,調整可能なパラメータを導入し,他の戦略的考えと組み合わせることで,戦略をさらに完善することができる.

ストラテジーソースコード
/*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)