50% фондов и 50% позиций динамическая балансовая количественная стратегия


Дата создания: 2023-12-25 14:12:30 Последнее изменение: 2023-12-25 14:12:30
Копировать: 1 Количество просмотров: 678
1
Подписаться
1621
Подписчики

50% фондов и 50% позиций динамическая балансовая количественная стратегия

Обзор стратегии

Эта стратегия динамически сбалансирована с 50% капитала и 50% позиций, обеспечивает контроль риска путем постоянной корректировки позиций и соотношения капитала. Подходит для инвесторов, которые не могут контролировать рынок в реальном времени.

Стратегический принцип

  1. Первоначальный капитал составляет 1 млн. юаней, разделенный на 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)