동적 균형 제약 ETF 투자 전략

저자:차오장날짜: 2024-02-19 11:09:29
태그:

img

전반적인 설명

이 전략은 홍콩 헝 지수 ETF (00631L) 를 투자 목표로 삼고 실시간으로 투자 포트폴리오의 수익과 위험을 균형을 맞추기 위해 현금 지위와 위치 비율을 동적으로 조정합니다. 전략은 시장 추세를 판단 할 필요 없이 간단하고 쉽게 구현되며 시장을 자주 확인할 수없는 투자자에게 적합합니다.

원칙

  1. 00631L를 구매하기 위해 전체 자금의 50%를 투자합니다.

  2. 실적화되지 않은 이익과 잔류 현금 사이의 비율을 모니터링합니다.

    비현실 수익이 나머지 현금액을 10%가 넘으면 5%의 지분을 매각합니다.

    나머지 현금액이 10%의 비현실 수익을 초과할 때 지위에 5%를 추가합니다.

  3. 포트폴리오 수익률과 위험을 제어하기 위해 포지션과 현금 비율을 동적으로 조정합니다.

이점 분석

  1. 시장 조건에 대한 판단이 필요없이 간단하고 쉽게 작동합니다.

  2. 역동적으로 조정을 하는 것은 투자 위험을 효과적으로 관리합니다.

  3. 양방향 추적을 통해 적시에 손해를 멈추거나 이익을 취득합니다.

  4. 시장을 자주 확인할 수 없는 투자자들에게 적합합니다.

위험 및 완화

  1. 리버웨이드 ETF는 더 높은 변동성을 가지고 있습니다.

    점진적 위치 구축과 간격 투자

  2. 적시에 손실을 멈출 수 없습니다.

    최대 손실을 제어하기 위해 중지 손실 라인을 설정합니다.

  3. 더 높은 거래 비용

    평형 범위를 느긋하게 하여 위치 조절을 줄이세요.

최적화 아이디어

  1. 지점과 현금 비율을 최적화

  2. 다른 ETF 상품에 대한 테스트 수익 효과

  3. 자본 활용 효율을 높이기 위한 경향 지표를 포함합니다.

결론

역동적 균형 포트폴리오를 구축함으로써 이 전략은 시장 동향을 판단할 필요 없이 투자 위험을 통제합니다. 작동하기는 간단하며, 시장을 자주 확인할 수 없는 투자자들에게 적합한 매우 실용적인 양적 투자 전략입니다.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 23:59:59
period: 1h
basePeriod: 15m
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(2022, 10, 6) 
next_date = timestamp(2022, 10, 7)  // 較好的開始日
//start_date = timestamp(2022, 3, 8) 
//next_date = timestamp(2022, 3, 9)  // 較差的的開始日 
sell_date = timestamp(2024, 1, 19) 
end_date = timestamp(2024, 1, 21)  // 结束日期为2024年01月21日

// 判断是否在交易期间
in_trade_period = time >= start_date and time <= end_date
// 实现的盈亏
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)



더 많은