실시간 시장 데이터에 대한 가설을 생성하고 테스트하는 방법

로봇을 이용한 시장 거래에 대해 이야기할 때 사람들은 종종 "알고리즘 거래"라는 개념을 언급합니다. 클래식 알고리즘은 가격, 시간 및 볼륨을 기반으로 합니다. 여기에는 매수 및 매도 시점이 자세히 설명되어 있으며 차트 분석, 변동성, 가격 차익 거래 또는 가격 추세가 포함될 수 있습니다. 투자 은행과 대형 헤지 펀드는 거래 알고리즘 개발에 연간 수백만 달러를 지출합니다. 창조하기 위해 수학자, 물리학자, 고급 학위를 가진 엔지니어가 참여합니다. 이러한 사람들을 양자라고 합니다.

<바디>

알고리즘을 설명하는 수량 확률 이론을 사용한 거래. 그들은 이전 가격 움직임의 분석을 기반으로 미래 가격이 특정 범위 내에서 오르거나 내릴 확률을 계산합니다. Quants는 알고리즘만 생성합니다. 그들은 주가, 주문 실행 시간 및 거래량의 원하는 매개변수에 대한 규칙을 프로그래밍합니다. 거래 자체는 일반적으로 로봇이라고 하는 자동화 시스템에 의해 수행됩니다. 알고 트레이더는 로봇의 작업을 제어할 수도 있고 그렇지 않을 수도 있습니다.

'Quant'와 'Algorithmic trader'라는 용어 사이에는 상당히 겹치는 부분이 있습니다. Quants는 특히 응용 수학의 한 분야인 Quantitative Finance를 다룹니다. 자세한 내용은 다루지 않겠지만 이 Wiki 페이지에서 적절한 설명을 확인할 수 있습니다. 수학 금융 – Wikipedia. 그 기원은 이전 Black Scholes Options 가격 책정 공식에서 비롯되었다고 말할 수 있습니다. 정량적 금융은 위험을 결정하는 데 매우 유용합니다.

알고리즘 트레이더는 명시적 규칙에 따라 매우 명확하게 정의된 거래 시스템을 가진 사람입니다. 현재 시장 데이터를 소싱하고 일련의 알고리즘을 관리하는 데 더 많은 시간을 할애하는 사람을 트레이더라고 부를 것입니다. 현재 시장 데이터 또는 기타 동인에 따라 이를 켜거나 끄거나 트리거 및 제한을 조정합니다.

거래를 자동화해야 할 때

주식 시장(또는 암호화폐)에 대한 경험을 한 후에 "수동 제어"가 더 이상 효과적이지 않고 기발한 아이디어를 자동화하고 작업을 보다 기술적인 것으로 바꿔야 합니다.

지금 바로 이 순간에 문제가 발생합니다. 즉, 거래 아이디어를 생성하고 백테스트하는 데 사용할 수 있는 솔루션은 무엇입니까?

단순한 거래 전략(모멘텀 거래, 추세 추종 등)의 자동화는 항상 거래 로봇을 만드는 가장 중요한 단계에서 시작됩니다. 먼저 가설을 세우고 이를 알고리즘화합니다.

거래 알고리즘의 개발은 거래 중에 긍정적인 기대 수익을 얻을 수 있는 가격 책정 패턴을 찾는 것으로 시작해야 합니다. 패턴은 이전에 개발된 가격 가설의 결과이거나 우연히 발견될 수 있습니다.

프로그래밍 기술이 없는 거래자를 위해 드래그 앤 드롭 인터페이스를 통해 알고리즘을 생성하기 위한 특별한 솔루션이 시장에 나와 있습니다. 예를 들어 TSLab을 사용하면 표시기 및 기능 라이브러리를 사용하여 로봇의 논리를 구현하고 변경할 수 있습니다.

다음 단계는 수동 테스트입니다. 입장 / 퇴장 조건을 공식화하고 이전 세션의 차트에서 어떻게 작동하는지 조사합니다. 변동성이 다른 기간을 포함하여 가능한 한 많은 날을 고려하는 것이 좋습니다. 일부 거래 소프트웨어를 사용하면 사용자가 실시간 시장 데이터로 거래 가설을 테스트할 수 있습니다. 이는 매우 중요합니다. 시장은 매일 바뀌기 때문에 과거 데이터를 100% 신뢰할 수는 없습니다.

예를 들어, MarketWatch에서 가상 증권 거래소 계정을 생성하여 현재 거래소 데이터를 사용하지만 가상 현금을 사용한 가상 거래에 대해 "즉시" 거래 시나리오를 테스트할 수 있습니다.

과거 또는 실시간 테스트

이력 데이터에 대한 테스트 전략은 기본 사항 중 하나입니다. 가설 테스트는 실제 계정에서 거래를 시작하기로 결정할 때 우리 전략이 미래에 어떻게 작동할 것인지에 대한 확률적 평가를 제공합니다.

그래서 우리는 전략을 세우고 필요한 경우 매개변수의 테스트와 최적화를 수행했습니다. 우리는 예를 들어 Monte Carlo 방법을 사용한 확률적 모델링을 통해 포워드 테스트에서 얻은 결과의 안정성을 확인했으며 실시간으로 우리의 전략을 거래할 준비가 되었습니다.

테스트 과정에서 얻은 결과가 실제 거래에서 미래에 받게 될 결과와 얼마나 일치합니까? 일반적으로 다음 요인에 따라 다릅니다.

  • 프로그래밍 면에서 전략을 얼마나 정확하게 세웠습니까?
  • 전략 매개변수가 과도하게 최적화되지 않았습니까?
  • 시장은 테스트 과정에서 사용한 과거 데이터에서 관찰된 동적 특성을 유지합니까? 변동성이 거의 동일한 수준으로 유지됩니까?

거래 전략 개발 경험이 늘어남에 따라 처음 두 가지 요소를 완전히 제거할 수 있다면 세 번째 요소는 전적으로 우리에게 의존하지 않고 "손에" 있습니다. 시장의. 그러나 과거 데이터와 실시간 데이터 모두를 사용하여 적절하게 테스트했다면 가설에 여전히 의존할 수 있습니다.

투자 은행, 연기금 및 헤지 펀드와 같은 기관 투자자는 매일 거래하는 주식이 많기 때문에 복잡한 알고리즘을 사용하는 것이 일반적입니다. 이를 통해 주식 가치에 큰 영향을 미치지 않으면서 최저 비용으로 최상의 가격을 얻을 수 있습니다.

TRADE의 2020년 알고리즘 거래 설문조사 결과에 따르면 헤지펀드는 시장 영향을 줄이기 위해 알고리즘 거래를 사용할 가능성이 매우 높습니다. 헤지 펀드가 막대한 자금을 관리하고 있다고 가정하면 거래 전략에 대한 적절한 앞뒤 테스트가 중요한 역할을 합니다.

또한 국제 및 미국 회계 기준에 따라 전향적 및 소급적 기준으로 헤지 효과를 테스트해야 하는 요구 사항이 있습니다. 이는 각 펀드가 거래 가설에 대한 적절한 평가를 보여주기 위해 적절한 감사를 실시하여 예상되고 매우 효과적이었음을 의미합니다.

전 세계 중개인 및 거래소를 위한 거래 플랫폼 소프트웨어 개발자인 MetaQuotes Corporation은 수십 년 동안 고객 거래 가설에 대한 백테스팅을 실행한 경험이 있습니다. 작년에 회사는 정확히 헤지 펀드를 겨냥한 알려진 거래 플랫폼의 특정 버전을 출시했습니다.

새로운 MetaTrader 5 헤지 펀드 버전을 사용하여 펀드 매니저는 초기 테스트 기간 동안 기록 또는 실제 시장 데이터에 대한 초기 매개변수를 사용하여 거래 전략을 테스트할 수 있습니다. 그 후, 최적화하는 동안 가장 적절한 조합을 선택할 수 있는 다양한 매개변수 세트로 거래 전략이 여러 번 실행됩니다.

시각 테스트를 통해 전략 작업을 실시간으로 추적할 수 있습니다.

중요 사항

성공적인 알고리즘 거래 솔루션을 만들려면 브로커의 데이터를 가져와 실제로 작업할 데이터에 대한 백테스트를 수행해야 합니다. 이것은 매우 중요합니다. 왜냐하면 결국 시스템은 보이는 것을 거래할 것이기 때문입니다. 다른 데이터로 작업하면 신뢰할 수 없는 결과를 얻을 수 있으며 계정에 매우 위험한 상황이 발생할 수 있다는 점을 고려해야 합니다. 실제로 거래소에서 거래되는 상품으로 작업하면 데이터가 같을 수 있지만 Forex와 같은 다른 종류가 필요한 경우 꽤 다를 수 있으므로 주의해야 합니다.

올바른 데이터를 얻고, 전략을 설계하고, 백테스트를 수행한 다음 알고리즘뿐만 아니라 실행을 평가하기 위해 실시간 시뮬레이션을 수행하십시오. 요약:서두르지 마십시오. 가설에 행운을 빕니다!


외환 시장
  1. 외환 시장
  2. 은행업
  3. 외환 거래