동적 위치 크기 양자 전략

저자:차오장, 날짜: 2024-02-21 14:52:10
태그:

img

전반적인 설명

이 전략의 핵심 아이디어는 계정 자금에 따라 각 거래의 위치 크기를 동적으로 조정하는 것입니다. 수익성이있을 때 자동으로 위치 크기를 증가시키고 손실이있을 때 위치 크기를 감소시킬 수 있습니다. 따라서 복합의 자동 레버리지 효과를 달성합니다.

전략 논리

이 전략은 다음과 같은 주요 단계를 통해 동적 위치 크기를 달성합니다.

  1. 레버리지 비율, 최대 위치 크기와 같은 매개 변수를 제한으로 설정
  2. 레버리지 비율로 계정 자산을 나누는 기준 지점 크기를 계산합니다.
  3. 최대 크기 설정과 기준 크기를 비교하고, 실제 크기로 작은 것을 선택
  4. 포지션 크기를 계산된 실제 크기로 조정합니다.
  5. 포지션 크기는 PnL 변화와 계정 자본 변동에 따라 실시간으로 변경됩니다.

위의 단계들은 합리적인 포지션 크기를 보장하고, 과잉 레버리지 위험을 피하며, 크기를 주식과 연결하여 이익이 증가함에 따라 자동 복합을 달성합니다.

장점

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 수동 개입 없이 동적 위치 크기를 달성
  2. 자금과 포지션 크기를 연결하여 자동으로 복합 효과를 달성합니다.
  3. 리스크 제한으로 레버리지와 최대 크기를 설정합니다.
  4. 단순하고 명확한 논리, 이해하기 쉽고 사용자 정의
  5. 다른 전략에 쉽게 통합, 매우 확장

위험성

또한 몇 가지 위험이 있습니다.

  1. 포지션 크기가 커지면 손실이 커지고, 회환이 없을 위험
  2. 자금에 대한 실시간 연결으로 인해 극심한 시장 조건에서 빈번한 조정
  3. 부적절한 최대 크기 설정은 과잉 레버리지로 이어질 수 있습니다.
  4. 과잉 레버리지가 위험을 곱하는 경우

위험은 신중한 매개 변수 설정, 자본 완충 등으로 완화될 수 있습니다.

더 나은 기회

이 전략은 다음과 같은 방법으로 강화될 수 있습니다.

  1. 부드러운 조정에 미끄러짐을 추가
  2. 다른 요소를 포함 함으로써 위치 크기를 공식 최적화
  3. 특정 시장 조건에서 정적 로크 크기
  4. 과도한 변경을 피하기 위해 조정을위한 최소 단계 크기를 설정
  5. 불필요한 조정을 방지하기 위한 조건규칙 추가

위의 개선 사항은 전략 행동을 더 안정적이고 제어 할 수있게 할 수 있으며 민감성과 빈번한 위치 크기 변경을 피할 수 있습니다.

결론

이 전략은 이윤을 자동으로 확대하기 위해 주식 기반의 동적 위치 크기를 달성합니다. 이해 및 사용자 정의 용이성을 위해 간단하고 명확한 논리로 리버리지와 최대 크기를 위험 제어로 설정합니다. 우리는 또한 일부 최적화 제안과 함께 장단위와 위험을 분석했습니다. 전반적으로 거래에서 자동화 된 복합 성장을 달성하기 위해 유연하고 실용적인 접근 방식을 제공합니다.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of Tendies Heist LLC, 2021
//@version=4
strategy("Tendies Heist Auto Compounding Example", overlay=true)

    
leverage = input(10000)

maxps = input(25, "max position size")
strategy.risk.max_position_size(maxps)

balance = max(1,floor(strategy.equity / leverage))

o        = 1
ps       = true
size     = 0.
balance2 = size[1] < balance
balance3 = size[1] > balance
l        = balance3
w        = balance2

if ps
    size := w ? size[1]+o : l ? size[1]-o : nz(size[1],o)
if size > maxps
    size := maxps

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long,qty=size)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short,qty=size)

더 많은