최근 수정 시각 : 2023-10-30 10:27:34

알고리즘 트레이딩

📈 주식 투자 관련 정보 📉
<bgcolor=#fff,#1c1d1f> {{{#!wiki style="margin: 0 -10px -5px; min-height:calc(1.5em + 5px)"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
<colbgcolor=#FFA500> 기본 용어 시가총액 · 주식 · 주주 · 주주총회 · 액면가 · 매수 · 매도 · 호가 · 시장가 · 시간외 · 상/하한가
주식 프로그램 HTS · MTS
주식 종류 보통주 · 우선주 · 자사주 · 황금주 · 소수점 주식
종목 특성 대형주 · 우량주 · 배당주 · 성장주 · 가치주 · 배당성장주 · 저가주 · 동전주 · 귀족주 · 황제주 · 테마주 · 주도주 · 죄악주 · 개잡주 · 품절주 · 공모주 · 경기관련주 · 경기방어주 · 사모 펀드 · 인프라투자회사 (InvITs) · 부동산투자회사 (REITs) · 기업성장집합투자기구 (BDC) · 벤처 캐피털 (VC) · 기업인수목적회사 (SPAC) · 장외시장
관련 이론 포트폴리오 이론 · 배당할인모형 · CAPM · APT · 효율적 시장 가설
시장 제도 · 정책 기업공개(IPO) · 상장 · 상장예비심사 · 상장폐지 · 관리종목 · 배당 · 주식배당 · 스톡옵션 · 증자 · 감자 · 액면병합 · 액면분할 · 인적분할 · 물적분할 · 차등의결권 · 가격제한폭(상한가·하한가) · DART · 기업 밸류업
주식 세제 배당소득세 ( 금융소득종합과세) · 주식양도소득세 · 금융투자소득세 (시행 예정) · 증권거래세
시장 상태 유동성장세 · 실적장세
거래 유형 공매도 · 단타 · 분산투자 · 장기투자 · 손절매 · 물타기 · 프로그램 매매 · 반대매매 · 시스템 트레이딩 · 알고리즘 트레이딩 · 소수점 투자 · 대체투자 · 조각투자 · 퀀트 투자
시장지수 한국 KRX300 · KOSPI ( KOSPI200) · KOSDAQ ( KOSDAQ150)
미국 Dow Jones · S&P 500 · NASDAQ · Russell 2000 · PHLX Semiconductor Sector
기타 국가 닛케이 225 · 항셍지수 · 홍콩H지수 · FTSE 100
글로벌 MSCI Index
기본적 분석 재무제표 재무상태표 · 포괄손익계산서 · 자본변동표 · 현금흐름표 · 주석
지표 총자산수익률(ROA) · 자기자본이익률(ROE) · 주당순이익(EPS) · FFO · AFFO · 주가수익비율(PER) · 주가순자산비율(PBR) · EV/EBITDA( EV · EBITDA)
기술적 분석 기본 요소 봉차트 · 캔들차트 · 양봉 · 신고가
추세 지표 이동평균선 · DMI · MACD(MACD Oscillator) · Parabolic Sar · Pivot Line
모멘텀 지표 모멘텀 · 이격도 · P&F · 삼선전환도 · 투자심리선 · AB Ratio · ADX · Chakin's Volatility · Mass Index · Price Oscillator · Price ROC · 상대강도(RSI) · 스토캐스틱 · SONAR · TRIX · Williams%R
변동성 지표 변동성 · ATR · 볼린저 밴드 · Envelope · Keltner Channels
시장강도 지표 거래량 · OBV · 매물대 · CCl · Chakin's Osxillator · 거래량 이동평균선 EOM · MFI · PVT · Volume Oscillator · Volume Ratio
기타 일목균형표 · 최대 손실률(MDD)
관련 금융상품 기금 ( 인덱스 펀드 · 인버스 펀드 · 재간접 펀드) · 랩 어카운트 · ETF · ETN · ELS · 전환사채 · 신주인수권부사채 · 선물 · 옵션 · 스왑
관련 범죄 내부자거래 · 주가 조작 · 분식회계 · 투자 사기
기타 종목토론방 · 소부장 · 차화정 · BBIG · 코리아 디스카운트 · 개미 (개인투자자) · 리딩방 ( 유사투자자문)
}}}}}}}}} ||

1. 개요2. 프로그램3. OpenAPI

1. 개요

Algorithmic Trading: 줄여서 Algo Trade

특정 매매기법(시스템)을 컴퓨터 프로그램을 이용하여 완전히 자동으로 주식을 사고파는 거래 방식을 뜻한다. 사람의 심리와 주문의 실수와 같은 문제가 관여할 여지가 없는 것이 큰 장점이다. 다만 한맥투자증권 주문사고와 같이 알고리즘의 오류 또는 프로그램의 문제로 인해 큰 손실이 발생할 수도 있다는 단점이 있다.

프로그램 매매의 거래 방식과 다를 바가 없다.[1] 그러나 프로그램 매매는 기관이나 외국인 투자자들이 한국예탁결제원의 승인을 받아 프로그램을 예탁결제원에 설치한 상태로 할 수 있는 반면, 알고리즘 트레이딩은 딱히 규제를 하고 있지 않다. 프로그램 매매는 동시에 5억 원 이상의 매수/매도 주문을 내는 것인데 알고리즘 트레이딩은 동시에 5억원이 안 되는 거래를 하기때문에 한국거래소에서 딱히 잡고 있지 않다.

전세계적으로 프로그램을 이용하여 자동으로 매매하는 주식 거래가 점점 늘어 나는 추세이다. 해외는 많은 비중을 차지 하고 있으며 국내에도 사용 할수 있는 프로그램도 있다.

한국금융투자협회에서도 주기적으로 강좌를 개설하는 등 신경을 많이 쓰고 있다.

2. 프로그램

알고리즘 트레이딩을 시작하기 위해서는 ToolBox를 이용하거나, 직접 개발하는 방법이 있다.

툴박스를 이용한 방법은 이미 개발되어 있는 프로그램을 이용해 프로그램에서 자체적으로 제공하는 언어(스크립트)를 이용하여 프로그래밍을 하는 방식이다. 대표적으로 예스스탁에서 제공하는 예스트레이더가 있으며 직접 개발에 비해 시간과 수고가 덜 들고, 백테스팅을 위한 과거 데이터를 구하지 않아도 된다는 장점이 있으나, 직접 개발하는 방법에 비하면 자유도가 낮다는 단점이 있다.
블룸버그 터미널도 비슷한 기능을 제공한다. 하지만 블룸버그 터미널은 비싸기 때문에 대체로 일반인들은 다른 프로그램들을 활용한다.

직접 개발하는 방법은, 프로그램을 개인이 개발하는 것이다. 툴박스 사용에 비해서는 자유도가 비교할 수 없을 정도로 높으나, 처음 시작하면 어디서 시작해야할지 막막한 경우가 있다. 또한 백테스팅을 위한 과거 데이터도 직접 구해야 하는 단점이 있다.
프로그램을 개발하기 위한 프로그래밍 언어로는 원래 R이나 C언어를 사용하는 게 원칙이다. 왜냐하면 금융시장의 단위속도를 다른 언어로 따라가기가 어렵기 때문이다. 미국의 금융업계나 학계에서는 R로 하는 퀀트 트레이딩이라고 가르친다. 반면 한국에서는 개인 투자자들 사이에서 Python과 증권사 Open API를 활용하여 프로그램을 짜는 경우가 많다. 해당 책 2017년 한국에 나온 이후 주식투자자들 사이에서 빠르게 보급되었다. 기본 Python으로 되는건 당연히 Ruby로도 된다. Ruby로 하는 알고리즘 트레이딩 개발 일본에서는 루비로 많이 만든다. 대한민국에서 일부 가능해진 모바일 서드파티 트레이딩의 경우 애초에 신속성을 목표로 하지 않으므로 해당 플랫폼의 네이티브 언어(Swift/Objective-C, Kotlin/Java[2])로 개발한다.

MS 엑셀- MS 액세스를 연계하고 VBA를 이용하는 경우도 있다. Python보다도 속도가 느린데다가 오피스 특성 상 파일이 무거운 단점이 있다. 예시

3. OpenAPI

사용자가 직접 프로그램을 만들수 있도록 증권사들이 API를 제공한다. 각 증권사들이 OpenAPI를 공개 함으로써 점점 늘어나는 추세이다. 2019년에는 거의 대부분의 증권사 HTS들이 알고리즘 트레이딩을 할 수 있는 OpenAPI를 제공중이다. 기사
  • 한국투자증권: REST API 방식으로 API를 제공한다. 다양한 환경(언어, OS, 32Bit)에서 사용이 가능하다.
  • 삼성증권: 기관투자자한테만 API를 제공한다. 유료다. 라고는 하나 100억 이상의 자산을 보유하고 있는 VVIP 고객들에게도 암암리에 제공한다는 정보가 있다. 애초에 증권사 입장에서는 돈만 된다면 딱히 기관투자자에게만 국한시킬 필요가 없다. 일례로 신한금융투자의 경우에도 월 거래금액이 20억이 넘는 개인 고객을 대상으로 각종 파생상품 수수료 협상이 가능하다.
  • 대신증권: 국내 최초로 OpenAPI를 제공했다.
  • 키움증권: C/C++, C#
  • 이베스트투자증권: XingAPI로 부르며, COM, DLL, REST API 방식 모두 제공한다. 모바일(iOS: Swift/Obj-C, Android: Kotlin/Java) 라이브러리를 제공한다. REST API는 COM, DLL 버전 대비 지원하지 않는 명령들이 있다.
  • 신한금융투자: 신한i Indi의 형태로 제공하며 C#, VB, VBA, MFC, Python 등을 제공한다. 도움말



[1] 다만 프로그램 매매는 현물시장과 선물시장의 괴리에서 차익을 실현하는것을 의미하고 오직 자동으로 매매한다는 점만 같다. [2] 공인인증서 저장이나 뷰 간섭 같은 네이티브 메서드가 필요하기 때문에 이들 API는 클로즈드 소스 바이너리 프레임워크로 나오며, 이 때문에 하이브리드 앱으로 개발하려면 네이티브 코드와 브리징이 필요하다.