지난 기사에서는 이벤트, 데이터 저장 또는 별도 구성 사용과 같은 거래 소프트웨어 개발에 대한 모범 사례에 대해 논의했습니다. 이번에는 전략적인 부분, 구체적으로 어떻게 하면 아키텍처적인 관점에서 효과적으로 구성할 수 있는지 살펴보겠습니다.
가장 간단한 접근 방식은 시스템의 이 부분이 가격 변동과 같은 입력 데이터를 수신하고 이벤트, 즉 신호를 생성한다고 가정하는 것입니다. 모든 로직은 이 모듈 내에 캡슐화될 수 있습니다. 예는 다음과 같습니다.
def run(self, event): signal = self.calc_rsi(event) if signal != 'FLAT': self.create_event(event, signal)
이 예에서는 RSI를 계산하고 이를 기반으로 BUY 또는 SELL과 같은 이벤트를 생성합니다. 이것은 기본적인 그림이지만 개념은 명확합니다. 신호에는 원하는 매수/매도 가격이 포함될 수 있습니다. 물론 실제 거래 알고리즘은 더 복잡하지만 이미 알고 계십니다!
잔액이나 오픈 포지션에 대한 모든 데이터를 한 곳에 모아두는 것이 좋습니다. 이렇게 하면 USD 또는 BTC로 총 보유액을 알 수 있습니다. 이 지식은 시스템이 신호를 생성할 때 주문 규모를 결정하는 데 필수적입니다.
def run(self, event): # Calculate USD values # Calculate targets # Check targets # Generate orders
이 의사코드는 다음 단계를 간략하게 설명합니다.
모든 잔액 데이터와 신호를 얻고 포지션이 원하는 것과 일치하는지 확인하고 그렇지 않은 경우 주문을 생성합니다.
이 모듈은 포트폴리오 모듈과 밀접한 관련이 있습니다. 경우에 따라 위험 관리 논리를 내부에서 직접 구현할 수 있습니다. 특히 소액을 관리하고 방금 시작한 경우 더욱 그렇습니다. 대기업의 경우 이는 가장 복잡한 시스템 요소일 수 있으며 각 회사는 정확한 알고리즘을 정의합니다. 위험 관리 내에서 처리할 수 있는 몇 가지 작업은 다음과 같습니다.
시장에 오래 머물수록 거래 알고리즘의 이 부분이 더욱 중요해집니다.
모든 가격 및 잔액 데이터를 수집하고, 신호를 생성하고, 최적의 포트폴리오 크기를 계산하고, 가능한 모든 위험을 고려한 후에는 거래소에 주문을 보내지 않을 이유가 없습니다. 여러 거래소에 걸쳐 주문 라우팅을 구현하지 않는 한 이는 가장 간단한 부분처럼 보일 수 있습니다. 일반적으로 주문 형식을 올바르게 지정하고 거래하는 거래소로 보냅니다.
우리는 거래 알고리즘의 90%에 각각 유용한 4가지 모듈의 기능에 대해 논의했습니다. 코드를 구성하고 좋은 아키텍처를 선택하면 거래 시스템을 유지 관리하고 업데이트하는 것이 훨씬 덜 고통스럽습니다.
전체 코드는 aspis.finance의 오픈 소스 거래 알고리즘으로 제공됩니다. 여기에는 몇 가지 간단한 거래 전략이 포함되지만 핵심 기능은 Aspis 스마트 계약을 통해 스토리지를 생성하고 투자자 자금을 유치하며 투명한 이익 공유를 보장하는 기능입니다. 전략을 개발하고 이를 Aspis에 연결할 수 있으며, 알고리즘은 DEX에서 거래되고, 투자자와 관리자(귀하)는 스마트 계약을 통해 수익을 얻을 수 있습니다. 계속 지켜봐주세요!
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3