알고리즘 트레이딩

 

Algorithmic Trading: 줄여서 '''Algo Trade'''
1. 정의
2. 프로그램
3. OpenAPI


1. 정의


특정 매매기법(시스템)을 컴퓨터 프로그램을 이용하여 완전히 자동으로 주식을 사고파는 거래 방식을 뜻한다. 사람의 심리와 주문의 실수와 같은 문제가 관여할 여지가 없는 것이 큰 장점이다. 다만 한맥투자증권 주문사고와 같이 알고리즘의 오류 또는 프로그램의 문제로 인해 큰 손실이 발생할 수도 있다는 단점이 있다.
정의상 프로그램 매매와 다를 바가 없다. 그러나 프로그램 매매는 기관이나 외국인 투자자들이 한국예탁결제원의 승인을 받아 프로그램을 예탁결제원에 설치한 상태로 할 수 있는 반면, 알고리즘 트레이딩은 딱히 규제를 하고 있지 않다. 프로그램 매매는 동시에 5억 원 이상의 매수/매도 주문을 내는 것인데 알고리즘 트레이딩은 동시에 5억원이 안 되는 거래를 하기때문에 한국거래소에서 딱히 잡고 있지 않다.
전세계적으로 프로그램을 이용하여 자동으로 매매하는 주식 거래가 점점 늘어 나는 추세이다. 해외는 많은 비중을 차지 하고 있으며 국내에도 사용 할수 있는 프로그램도 있다.
한국금융투자협회에서도 주기적으로 강좌를 개설하는 등 신경을 많이 쓰고 있다.

2. 프로그램


알고리즘 트레이딩을 시작하기 위해서는 ToolBox를 이용하거나, 직접 개발하는 방법이 있다.
툴박스를 이용한 방법은 이미 개발되어 있는 프로그램을 이용해 프로그램에서 자체적으로 제공하는 언어(스크립트)를 이용하여 프로그래밍을 하는 방식이다. 대표적으로 예스스탁에서 제공하는 예스트레이더가 있으며 직접 개발에 비해 시간과 수고가 덜 들고, 백테스팅을 위한 과거 데이터를 구하지 않아도 된다는 장점이 있으나, 직접 개발하는 방법에 비하면 자유도가 낮다는 단점이 있다.
블룸버그 터미널도 비슷한 기능을 제공한다. 하지만 블룸버그 터미널은 비싸기 때문에 대체로 일반인들은 다른 프로그램들을 활용한다.
직접 개발하는 방법은, 프로그램을 개인이 개발하는 것이다. 툴박스 사용에 비해서는 자유도가 비교할 수 없을 정도로 높으나, 처음 시작하면 어디서 시작해야할지 막막한 경우가 있다. 또한 백테스팅을 위한 과거 데이터도 직접 구해야 하는 단점이 있다.
프로그램을 개발하기 위한 프로그래밍 언어로는 원래 R이나 C언어를 사용하는 게 원칙이다. 왜냐하면 금융시장의 단위속도를 다른 언어로 따라가기가 어렵기 때문이다. 미국의 금융업계나 학계에서는 R로 하는 퀀트 트레이딩이라고 가르친다. 반면 한국에서는 개인 투자자들 사이에서 Python과 증권사 Open API를 활용하여 프로그램을 짜는 경우가 많다. 해당 책2017년 한국에 나온 이후 주식투자자들 사이에서 빠르게 보급되었다. 기본 Python으로 되는건 당연히 Ruby로도 된다. Ruby로 하는 알고리즘 트레이딩 개발 일본에서는 루비로 많이 만든다.
MS 엑셀-MS 액세스를 연계하고 VBA를 이용하는 경우도 있다. Python보다도 속도가 느린데다가 오피스 특성 상 파일이 무거운 단점이 있다. 예시

3. OpenAPI


사용자가 직접 프로그램을 만들수 있도록 증권사들이 API를 제공한다. 각 증권사들이 OpenAPI를 공개 함으로써 점점 늘어나는 추세이다. 2019년에는 거의 대부분의 증권사 HTS들이 알고리즘 트레이딩을 할 수 있는 OpenAPI를 제공중이다. 기사