시스템 트레이딩 (System Trading)
다른 명령
시스템 트레이딩(System Trading)은 사전에 정해진 규칙과 조건에 따라 매매 의사결정을 체계적으로 수행하는 거래 방식을 의미한다. 규칙은 가격, 거래량, 기술적 지표와 같은 시장 데이터뿐만 아니라 재무정보나 기타 정량적 자료를 활용하여 설정할 수 있으며, 투자자가 직접 주문을 실행하는 방식과 컴퓨터 프로그램을 이용하여 주문을 자동으로 실행하는 방식이 모두 포함될 수 있다. 시스템 트레이딩의 주요 목적은 매매 과정에서 적용되는 판단 기준을 사전에 명확하게 정의하고 동일한 조건에서 일관되게 적용하는 것이다. 따라서 시스템 트레이딩은 단순히 컴퓨터가 자동으로 주문을 내는 것과 동일한 개념은 아니며, 매매 규칙의 설계와 검증, 위험관리 및 주문 실행 과정까지 포함하는 체계적인 거래 방법으로 이해할 수 있다. 시스템 트레이딩에서는 과거 시장 데이터를 이용하여 특정 매매 규칙이 어떠한 성과를 보였는지를 분석하는 백테스팅(Backtesting)이 널리 활용된다. 그러나 과거의 백테스팅 결과가 미래의 수익을 보장하는 것은 아니며, 과적합이나 거래비용, 시장 환경의 변화 등에 따라 실제 운용 결과가 달라질 수 있다.
- 사전에 정의된 매매 규칙에 따라 투자 의사결정을 체계적으로 수행하는 거래 방식이다
- 가격, 거래량, 기술적 지표 및 재무정보 등 다양한 데이터를 매매 조건에 활용할 수 있다
- 컴퓨터 프로그램을 이용한 자동주문 방식으로 구현할 수도 있지만 시스템 트레이딩과 완전한 자동매매가 항상 동일한 것은 아니다
- 백테스팅을 활용할 수 있지만 과적합, 거래비용, 체결오차 및 시장 환경 변화로 인해 과거 성과가 미래 수익을 보장하지는 않는다
시스템 트레이딩의 작동 방식
시스템 트레이딩은 일반적으로 시장 데이터를 수집하고 사전에 설정된 규칙에 따라 매매 신호를 생성한 뒤, 해당 신호에 따라 주문을 실행하는 과정을 거친다.
예를 들어 특정 이동평균선의 교차와 거래량 조건을 이용하여 매매 규칙을 설정할 수 있다.
조건 A가 단기 이동평균선이 장기 이동평균선을 상향 돌파하는 것이라면, 조건 B는 일정 수준 이상의 거래량이 발생하는 것으로 설정할 수 있다. 두 조건이 동시에 충족될 경우 매수 신호를 발생시키고, 별도로 설정한 청산 조건이 충족되면 매도 신호를 발생시키는 방식이다.
시스템 트레이딩에서는 진입 조건뿐만 아니라 포지션 규모, 손실 제한, 이익 실현, 보유 기간 및 포트폴리오 내 자산 비중 등의 위험관리 규칙도 함께 설정할 수 있다. 다만 실제 주문 과정에서는 시장 유동성, 주문 유형, 호가 변동 및 체결 지연 등에 따라 시스템이 생성한 신호와 실제 거래 가격 사이에 차이가 발생할 수 있다.
시스템 트레이딩의 백테스팅
백테스팅(Backtesting)은 과거의 시장 데이터를 이용하여 특정 거래 규칙을 적용했을 경우 어떠한 결과가 나타났는지를 분석하는 방법이다. 전략의 과거 성과와 위험 특성을 평가하고, 매매 규칙을 개선하기 위한 목적으로 활용된다.
백테스팅 결과를 분석할 때는 누적 수익률과 함께 최대 낙폭(Maximum Drawdown), 변동성, 거래 횟수, 손익비, 승률 및 거래비용 등을 고려할 필요가 있다. 백테스팅 과정에서 실제 시장에서는 이용할 수 없었던 미래 정보를 사용하거나 생존한 기업만을 대상으로 분석하는 등의 오류가 발생하면 결과가 실제보다 과도하게 좋게 나타날 수 있다. 따라서 데이터 구성과 분석 방법을 적절하게 설계하는 것이 중요하다.
시스템 트레이딩의 전략 설계 기준
시스템 트레이딩 전략을 설계할 때는 과거 데이터에서 높은 수익률이 나타났다는 사실만으로 전략의 유효성을 판단하기 어렵다. 전략의 안정성과 실제 운용 가능성을 함께 검토할 필요가 있다.
첫째, 과적합(Overfitting)을 주의해야 한다. 과거 데이터의 특정 패턴에 지나치게 맞춰진 전략은 새로운 데이터나 다른 시장 환경에서 성과가 크게 저하될 수 있다. 이를 방지하기 위해 학습에 사용한 데이터와 별도의 검증 데이터를 구분하거나 표본 외 테스트를 활용하는 방법 등이 사용된다.
둘째, 거래비용과 체결오차를 고려해야 한다. 수수료, 세금, 호가 차이 및 슬리피지(Slippage) 등을 제외한 백테스팅 결과는 실제 거래 성과보다 높게 나타날 수 있다. 그중에서도 거래 빈도가 높은 전략에서는 이러한 비용이 전체 성과에 상당한 영향을 미칠 수 있다.
셋째, 시장 환경 변화에 대한 민감도를 확인해야 한다. 금리, 변동성, 유동성 및 시장 참여자의 거래 방식 등이 변화하면 과거에 효과적이었던 전략의 성과가 달라질 수 있다. 따라서 특정 기간의 성과만을 기준으로 전략을 평가하기보다 다양한 시장 국면에서의 성과를 함께 검토할 필요가 있다.
넷째, 위험관리와 시스템 운영 안정성을 확인해야 한다. 주문 오류, 데이터 오류, 서버 장애 및 연결 문제 등 기술적인 문제가 실제 거래에 영향을 줄 수 있으므로 주문 한도와 포지션 제한, 오류 발생 시 거래 중단 절차 등의 통제 장치를 마련할 필요가 있다.
실무 예시
가상의 투자자가 국내 주식시장에서 이동평균선을 이용한 시스템 트레이딩 전략을 개발했다고 가정한다. 투자자는 단기 이동평균선이 장기 이동평균선을 상향 돌파하고 거래량이 일정 수준 이상 증가하면 매수 신호를 생성하도록 규칙을 설정한다. 반대로 단기 이동평균선이 장기 이동평균선을 하향 돌파하거나 사전에 설정한 손실 제한 조건에 도달하면 매도 신호를 생성하도록 설정한다.
투자자는 먼저 과거 데이터를 이용하여 전략을 백테스팅하고, 이후 별도의 기간을 이용하여 표본 외 성과를 확인한다. 이 과정에서 거래 수수료와 슬리피지를 반영하고 최대 낙폭과 변동성 등을 함께 분석한다. 백테스팅 결과가 양호하더라도 실제 시장에서 동일한 결과가 발생한다고 단정하지 않는다. 실제 거래에서는 주문 체결 가격과 거래비용, 시장 유동성 및 시장 환경 변화 등이 추가적으로 영향을 미칠 수 있기 때문이다.
시스템 트레이딩의 장점
시스템 트레이딩의 주요 장점은 사전에 정의한 규칙을 반복적으로 적용할 수 있다는 점이다. 동일한 조건이 발생했을 때 동일한 기준으로 의사결정을 내릴 수 있어 매매 과정의 일관성을 높이는 데 도움이 될 수 있다. 아울러 컴퓨터를 이용하여 구현한 시스템은 다수의 종목이나 시장 데이터를 동시에 분석할 수 있으며, 사람이 지속적으로 관찰하기 어려운 조건을 자동으로 탐색할 수 있다.
매매 기록이 규칙과 데이터에 따라 남기 때문에 거래 결과를 사후적으로 분석하고 전략의 문제점을 확인하기도 상대적으로 용이하다. 다만 이러한 장점이 시스템 트레이딩의 수익성을 보장하는 것은 아니다. 잘못 설계된 규칙을 자동화할 경우 동일한 오류가 반복적으로 발생할 수 있기 때문이다.
시스템 트레이딩의 위험과 한계
시스템 트레이딩의 가장 중요한 한계 중 하나는 과거 데이터와 실제 미래 시장 사이의 차이다. 특정 전략이 과거에는 효과적으로 작동했더라도 시장 구조가 변화하면 기대한 성과가 나타나지 않을 수 있다.
과적합 위험도 존재한다. 전략을 개발하는 과정에서 과거 데이터에 지나치게 맞춘 매매 조건을 선택하면 실제 시장에서는 성과가 크게 낮아질 수 있다.
거래 실행 위험도 고려해야 한다. 실제 거래에서는 슬리피지, 주문 지연, 유동성 부족 및 예상하지 못한 가격 변동 등이 발생할 수 있으며, 이는 백테스팅 결과와 실제 성과 사이의 차이를 확대할 수 있다.
기술적 위험도 존재한다. 데이터 오류, 프로그램 오류, 네트워크 장애 및 거래 시스템의 연결 문제 등이 발생하면 의도하지 않은 주문이 실행되거나 주문이 정상적으로 처리되지 않을 수 있다.
또한 시스템 트레이딩이 인간의 감정과 판단을 완전히 제거하는 것은 아니다. 전략의 설계와 매개변수 설정, 전략의 중단 또는 수정 여부 등 중요한 의사결정에는 여전히 투자자의 판단이 개입될 수 있다.
시스템 트레이딩과 자동매매의 차이
시스템 트레이딩과 자동매매는 서로 밀접한 개념이지만 동일한 의미로 사용할 수는 없다.
시스템 트레이딩은 사전에 정의된 규칙에 따라 매매 의사결정을 체계화하는 데 초점이 있다. 반면 자동매매는 컴퓨터 프로그램 등이 생성된 매매 신호에 따라 실제 주문을 자동으로 제출하고 실행하는 과정에 초점이 있다.
주식 초보자를 위한 시스템 트레이딩 이해하기
시스템 트레이딩은 사람이 매번 상황을 보고 판단하는 대신 미리 정해 놓은 규칙에 따라 매매하는 방식이라고 이해하면 쉽다.
예를 들어 어떤 투자자가 "주가가 20일 이동평균선을 상향 돌파하고 거래량이 증가하면 매수하고, 일정 수준 이상 하락하면 매도한다"라는 규칙을 만들었다고 가정할 수 있다. 일반적인 투자에서는 투자자가 매번 차트를 확인하고 해당 조건이 충족되었는지를 직접 판단할 수 있다. 시스템 트레이딩에서는 이러한 조건을 컴퓨터가 확인하도록 만들 수 있다. 조건이 충족되면 매매 신호를 생성하고, 자동주문 시스템과 연결되어 있다면 주문까지 자동으로 실행할 수도 있다. 하지만 중요한 점은 컴퓨터가 매매를 한다고 해서 반드시 더 높은 수익을 얻는 것은 아니라는 것이다. 잘못된 규칙을 컴퓨터가 빠르게 반복해서 적용하면 손실 역시 빠르게 누적될 수 있다.
출처
- 미국 증권거래위원회(SEC) 및 FINRA, Investor Alert: Automated Investment Tools
- 미국 상품선물거래위원회(CFTC), Concept Release on Risk Controls and System Safeguards for Automated Trading Environments (2013), https://www.federalregister.gov/documents/2013/09/12/2013-22185/concept-release-on-risk-controls-and-system-safeguards-for-automated-trading-environments
- 금융산업규제당국(FINRA), Algorithmic Trading
- Chan, Ernest P., Quantitative Trading: How to Build Your Own Algorithmic Trading Business, Wiley