본문 바로가기

지식공유/주식 필수 정보

자동 투자 봇, 시스템 트레이딩 이란 무엇인가

시스템 트레이딩이란 무엇인가?

시스템 트레이딩이란 컴퓨터로 주식 자동매매를 하는것을 의미합니다.

 

즉 자신의 매매 원칙이 어느 정도 수익이 나는지, 위험이 어느 정도인지 등을 과거 주가를 통해서 분석하여 파악한 후, 실전 매매에 적용하는 방법입니다.

 

역사적으로 살펴보면 세계 2 차 대전에서 미군이 독일군의 폭격 시점을 예측하기 위해서 예전의 폭격 시점들을 평균화하면서 사용되었던 이동평균 방법이 전쟁 후 주가 예측 및 주식 매매에 이용한 것이 시초입니다. 특히 선물이란 파생상품이 생겨나면서 폭발적으로 시스템 트레이딩 매매가 활성화되었습니다.

 

시스템 트레이딩을 사용하면 거래자가 컴퓨터를 통해 자동으로 거래 진입 및 종료에 대한 특정 규칙을 설정할 수 있습니다. 컴퓨터가 실제로 거래하도록 만든 프로그램을 자동투자 봇 이라고 부르곤 합니다. 실제로 다양한 플랫폼에서 미국 증권 거래소에서 거래되는 주식의 70 ~ 80 % 이상이 자동 거래 시스템에서 나온다고 보고합니다.

 

출처 https://www.youtube.com/watch?v=gUBtVwnm908

 

거래자는 기존 손매매로 거래하던 방식을, 정확한 진입, 종료 및 자금 관리 규칙을 컴퓨터가 실행하고 모니터링 할 수있는 자동화 된 거래 시스템으로 전환 할 수 있습니다. 전략 자동화의 가장 큰 매력 중 하나는 거래에서 감정을 제거 할 수 있다는 것입니다.

 

많은 투자자들이 투자에서 감정을 배제하지 못해 손해를 보는 일이 많습니다. 저 또한 시스템 트레이딩을 하기 전에는 고점에서 사고 저점에서 파는 행위를 밥먹듯이 했었습니다. 떨어지면 더 올라갈 것이라는 믿음에 물타기하고, 더 떨어지면 본전 생각에 본전까지 오면 팔아버렸습니다. 하지만 본전에 팔면 더 올라가는경우가 많았습니다. 사람의 심리와 반대로 했다면 오히려 돈 벌었을 것 같습니다. 저는 작년 한해 동안 시스템 트레이딩을 통해 운 좋게도 100% 수익을 거두었습니다. 저보다 훨씬 많이 번 분들도 계실것이라 부끄러운 수치이지만 노력하면 된다는 것을 체득하게 되었습니다. 

 

시스템 트레이딩에서 거래 진입 및 종료 규칙은 이동 평균 크로스 오버와 같은 간단한 조건을 기반으로 할 수도 있고 사용자의 거래 플랫폼에 특정한 프로그래밍 언어를 포괄적으로 이해해야하는 복잡한 전략 일 수도 있습니다. 또한 자격을 갖춘 프로그래머의 전문 지식을 기반으로 할 수도 있습니다.

 

시스템 트레이딩의 장점

감정 최소화

앞서 말씀드린 것 처럼 자동화 된 거래 시스템은 거래 과정에서 감정을 최소화합니다. 감정을 배제함으로써 트레이더는 계획을 고수하는 것이 더 쉽습니다. 거래 규칙이 충족되면 거래 주문이 자동으로 실행되기 때문에 거래자는 주저하거나 거래에 의문을 제기 할 수 없습니다. 자동화 된 거래는 "방아쇠를 당기는 것"을 두려워하는 거래자들을 도울뿐만 아니라, 과다 거래하기 쉬운 거래자들을 억제 할 수 있습니다. 즉, 감지 된 모든 기회에 매수와 매도를 할 수 있습니다. 

손실이 날까봐 두려워하거나 거래를 통해 조금 더 많은 수익을 내고자하는 욕구와 같은 감정적 요인을 사전에 제거할 수 있습니다. 자동화 된 거래는 거래 계획을 정확하게 따르기 때문에 거래규칙이 유지되도록 도와줍니다. 또한 '휴먼 에러'가 최소화됩니다. 예를 들어, 100 주 매수 주문이 1,000 주 매도 주문으로 잘못 입력되지 않을 경우를 예로 들 수 있습니다.

 

백테스팅 ( 시뮬레이션 )

백테스팅은 과거 데이터를 통해 본인의 전략을 검증해보는 것 입니다. 예를들어 골든크로스를 보면 골든크로스가 연평균 얼마나 벌 수 있는 전략인지에 대한 검증을 하는것 입니다. 프로그램, 상용 툴 등을 통해 알고리즘을 만들고 정확한 백테스트를 해야합니다. 트레이더는 실시간 거래에서 돈을 위험에 빠뜨리기 전에 이러한 정확한 규칙을 정하고 과거 데이터를 통한 테스트를 할 수 있습니다. 거래자는 아이디어를 사전에 테스트 해볼 수 있다는 것이 가장 큰 장점 일 것입니다.

 

거래 다각화

자동 거래 시스템을 통해 사용자는 한 번에 다양한 전략을 이용하여 거래 할 수 있습니다. 이는 포지션 손실에 대한 헤지를 만드는 동시에 다양한 상품에 리스크를 분산시킬 가능성이 있습니다. 손매매로 달성하기에는 매우 어려운 일이 컴퓨터에 의해 몇초 만에 효율적으로 실행됩니다. 컴퓨터는 다양한 시장에서 거래 기회를 스캔하고 주문을 생성하며 거래를 모니터링 할 수 있습니다.

 

시스템 트레이딩의 단점

기계적 결함

컴퓨터로 하는 일이기 때문에 프로그래밍을 잘못한 경우, 서버에 문제가 있는 경우(잘 없겠지만), 인터넷이 끊기는 경우(종종 있습니다) 거래를 원하는대로 못하는 상황이 벌어집니다. 대부분의 거래자는 자동 거래 시스템을 사용할 때 백테스트와 비교하여 분석해야하고 일반적으로 처음 알고리즘을 검증할 때는 작은 거래 규모로 시작하는 것이 좋습니다.

 

모니터링

기계적 결함이 생길 수 있기 때문에 모니터링이 필요합니다. 이는 연결 문제, 전력 손실 또는 컴퓨터 충돌과 같은 기술 오류 및 시스템 문제의 가능성 때문입니다. 직접 프로그램을 만든 경우에는 로그를 만들어서 장 이후에 어떤 문제가 있는 지 확인해보며 프로그램을 수정해가야 합니다. 자동화 된 거래 시스템이 잘못된 주문, 누락 된 주문 또는 중복 주문을 초래할 수있는 이상 현상을 경험할 수 있습니다. 시스템이 모니터링되면 이러한 이벤트를 신속하게 식별하고 해결할 수 있습니다.

 

과최적화

제가 가장 경계하는 부분이 바로 과최적화 입니다. 과최적화란 말 그대로 과하게 최적화 되었다는 것을 의미합니다. 과거 데이터를 통해 알고리즘을 만들때 너무 많은 조건을 넣어 테스트를 한 경우 특정 종목만 걸리게 되어 테스트 결과가 좋아보이는 경우가 생깁니다. 바로 지난 12월에도 경험했습니다. 좋은 전략은 여러 조건으로 감싸지 않아도 충분히 좋은 결과가 나옵니다. 이런 전략을 찾고 마켓타이밍 정도만 넣어서 거래하는것을 추천합니다. 그리고 실거래에서 과거 MDD를 넘기지는 않는지, 매일 데이터를 받고 실제와 백테스트간에 괴리가 얼마나 생기는 지 충분히 검증을 해야합니다. 

 

 

자동 거래 시스템에 대한 강점이 많이 부각되었지만, 자동매매가 거래 자체를 대체하는 것으로 간주되어서는 안됩니다. 제가 아는 지인은 손매매로 연 400% 이상 벌고있고, 고수들의 손매매를 100% 프로그램으로 옮기기엔 아마 불가능 할 수도 있습니다. 호가창을 보고 순간판단, 분봉을 보고 순간판단 등 이런부분은 정확하게 프로그래밍하기엔 어려울것이라 생각합니다. 저처럼 주식거래에 심리가 많이 작용하는 분이시거나 손매매로 수익을 못 보시는 분들이라면 자동 거래 시스템을 만들어보는 것을 추천 드립니다.