알고리즘 트레이딩

마지막 업데이트: 2022년 3월 10일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
조규희 기자 [email protected]

알고리즘 트레이딩

이 책은 파이썬이라는 프로그래밍 언어를 이용한 알고리즘 트레이딩을 다룹니다. 프로그래밍을 전혀 모르는 비전공자나 HTS(Home Trading System)로 주식 투자 정도만 할 수 있는 일반인도 빠르게 파이썬과 알고리즘 트레이딩을 배울 수 있는 알고리즘 트레이딩 입문서입니다.

파이썬 기초 문법에 대한 친절한 설명으로 시작해서, 파이썬을 이용한 각 증권사 API 사용법, Pands 를 이용한 데이타 분석 기초와 함께 마지막으로 알고리즘 트레이딩 실전 프로젝트까지 기초부터 실전 노하우까지 모두 다루는 종합 안내서입니다.

《파이썬으로 배우는 알고리즘 트레이딩》 개정판에서는 파이썬 3.7 버전에 맞춰 본문 내용을 업데이트하였으며, 백테스팅 라이브러리 zipline 업데이트 반영, pandas_datareader 관련 업데이트, 그리고 웹스크래핑을 하는 라이브러리들을 웹 환경 변화에 따라 최근 기준으로 모두 동작하도록 반영하였습니다.

출판사 서평

이 책은 “프로그래밍 책이지만 기존의 전공자를 위한 프로그래밍 책이 아니라 비전공자와 일반인이 파이썬을 쉽고 재미있게 배울 수 있어야 한다”는 목표와 “이 책은 주식과 관련된 주식 책이지만 기존 주식 책과는 달리 실제 노하우를 어떻게 프로그램으로 구현할 수 있을지를 구체적으로 설명해야 한다”는 목표를 갖고 집필했습니다.

1부에서는 파이썬 기초를 다룹니다. 단순히 파이썬 문법을 설명하는 것이 아니라 파이썬과 주식과 관련된 예제를 통해 더욱 재미있게 파이썬을 배울 수 있습니다.

2부에서는 파이썬을 이용해 증권사 API의 사용법을 다룹니다. 대신증권 CYBOS Plus, 이베스트투자증권 xing API, 키움증권 OpenAPI+의 기초 및 기본 API 사용법을 배울 수 있습니다.

3부에서는 pandas라는 라이브러리를 이용한 데이터 분석 기초를 다루고 zipline을 이용해 백테스팅하는 방법을 소개합니다. 그리고 matplotlib를 통해 데이터를 시각화하는 방법과 PyQt를 이용한 GUI(Graphical User Interface) 개발을 배웁니다.

4부에서는 1~3부에서 배운 내용을 바탕으로 실전 프로그램을 개발합니다. 실전 프로그램에서는 거래량 기반의 투자 알고리즘과 배당률 기반 투자 알고리즘을 구현하고, 이를 통해 실제 매수/매도까지 자동으로 진행하는 프로그램을 개발함으로써 개발에 대한 자신감을 가질 수 있습니다.

저자 프로필

  • 학력 광운대학교 컴퓨터공학 학사
    광운대학교 대학원 석사
    광운대학교 대학원 박사

광운대 컴퓨터공학과를 졸업하고 동 대학원에서 석사 및 박사학위를 취득했다. 주 전공은 영상처리(비디오 압축)이며, 여러 관련 프로젝트에 참여했다. 비디오 압축 분야의 국제 표준화 회의에 다년간 참석했고, 30여 건의 국내외 특허를 출원했다. 평범한 개발자로 파이썬을 좋아하다 취미 삼아 알고리즘 트레이딩을 시작했다. 파이썬을 사용한 알고리즘 트레이딩과 관련해 네이버 카페(http://cafe.naver.com/pystock)와 파이스탁(http://pystock.net)을 운영하고 있다.

대표 저서

개정판 | 파이썬으로 배우는 알고리즘 트레이딩

저자 소개

광운대 컴퓨터공학과를 졸업하고 동 대학원에서 석사 및 박사학위를 취득했다. 주 전공은 영상처리(비디오 압축)이며, 여러 관련 프로젝트에 참여했다. 비디오 압축 분야의 국제 표준화 회의에 다년간 참석했고, 30여 건의 국내외 특허를 출원했다. 평범한 개발자로 파이썬을 좋아하다 취미 삼아 알고리즘 트레이딩을 시작했다. 파이썬을 사용한 알고리즘 트레이딩과 관련해 네이버 카페(http://cafe.naver.com/pystock)와 파이스탁(http://pystock.net)을 운영하고 있다.

▣ 01장: 파이썬 시작하기
01. 파이썬과 알고리즘 트레이딩
___프로그래밍과 프로그래밍 언어
___주식투자
___알고리즘 트레이딩
___파이썬이란?
02. 파이썬 설치
___아나콘다 설치 파일 다운로드
___아나콘다 설치
03. 파이썬 인터프리터 실행
___파이썬 IDLE 이용하기
___파이썬 들여쓰기
연습 문제

▣ 02장: 파이썬 변수와 문자열
01. 파이썬으로 하는 계산
02. 변수
___파이썬 변수와 객체
03. 문자열
___문자열 인덱싱 및 슬라이싱
___문자열 자르기
___문자열 합치기
04. 기본 데이터 타입
연습 문제

▣ 03장: 기본 자료구조
01. 리스트
___리스트 생성
___리스트 인덱싱
___리스트 슬라이싱
___리스트에 데이터 삽입하기
___리스트 데이터 삭제
02. 튜플
___튜플 슬라이싱
03. 딕셔너리
___딕셔너리에 데이터 삽입 및 삭제
___딕셔너리로부터 키-값 구하기
연습 문제

▣ 04장: 제어문
01. Boolean
02. 논리 연산자
03. if 문
___if ~ else 문
___if ~ elif ~ else 문
04. for 문
___for와 range
___for와 리스트
___for와 튜플
___for와 딕셔너리
05. while 문
___while 문을 이용한 상한가 계산
___while과 if
___break와 continue
06. 중첩 루프
연습 문제

▣ 05장: 함수와 모듈
01. 함수
02. 반환값이 있는 함수
___함수 호출 과정 이해하기
___두 개의 값 반환하기
03. 모듈
___모듈 만들기
___파이썬에서 시간 다루기
___OS 모듈
___모듈을 임포트하는 세 가지 방법
04. 파이썬 내장 함수
연습 문제

▣ 06장: 클래스
01. 클래스란?
___클래스 기초
___클래스 정의
___클래스에 메서드 추가하기
02. 클래스 생성자
03. self 이해하기
04. 클래스 네임스페이스
05. 클래스 변수와 인스턴스 변수
06. 클래스 상속

▣ 07장: 파일 다루기
01. 파일 읽기
02. 파일 쓰기
연습 문제

▣ 08장: 실전 프로젝트
01. PyCharm을 이용한 개발 알고리즘 트레이딩 환경 구축
___PyCharm 설치 프로그램 다운로드
___PyCharm 설치
___PyCharm 초기 설정
___프로젝트 생성
___PyCharm 기타 설정
02. 주소록 프로젝트
___Contact 클래스 만들기
___사용자로부터 데이터 입력받기
___메인 메뉴 구성하기
___연락처 입력 동작시키기
___연락처 출력하기
___연락처 삭제하기
03. 주소록 프로젝트의 기능 향상
___연락처 저장 함수 작성하기
___연락처 불러들이기
___명령 프롬프트에서 프로그램 실행하기

▣ 09장: 파이썬과 COM
01. COM과 파이썬
02. 파이썬으로 엑셀 다루기
___엑셀 파일 읽기
___셀에 색깔 입히기

▣ 10장: 대신증권 API
01. 개발 환경 구축
___계좌 개설 및 CYBOS 5 설치
___CYBOS Plus 로그인
02. 기초 API 익히기
___연결 상태 확인
___주식 코드 조회
03. 기본 API 익히기
___종목 코드 가져오기
___과거 데이터 구하기
___PER, EPS 데이터 구하기
04. API를 이용한 알고리즘 개발
___거래량 분석을 통한 대박 주 포착
___업종별 PER 분석을 통한 유망 종목 찾기
05. 매수/매도 API 익히기
___모의투자 가입하기
___매수/매도하기

▣ 알고리즘 트레이딩 11장: 이베스트투자증권 API
01. 개발 환경 구축
___계좌 개설 및 xingAPI 패키지 설치
___모의투자 가입하기
02. 기초 API 익히기
___로그인
___계좌 정보 조회
03. 기본 API 익히기
___DevCenter 사용하기
___단일 데이터 조회하기
___반복 데이터 조회하기
___차트 데이터 받아오기

▣ 12장: 키움증권 API
01. 개발 환경 구축
___계좌 개설 및 모듈 설치
___모의투자 가입하기
___KOA Studio 사용하기
02. PyQt 기초
___PyQt 소개
___Hello PyQt
___위젯과 윈도우
___이벤트 처리
03. 기초 API 익히기
___Open API+ 로그인하기
___로그인 이벤트 처리하기
___기본 정보 요청하기
___계좌 정보 가져오기
___종목 코드 및 한글 종목명 가져오기

▣ 13장: pandas를 이용한 데이터 분석 기초
01. pandas Series
___파이썬 리스트, 튜플, 딕셔너리
___Series 기초
___Python Console
02. pandas DataFrame
___DataFrame 생성
___DataFrame 칼럼, 로우 선택
03. 주식 데이터 받기
___DataReader 사용하기
___차트 그리기
04. 이동평균선 구하기
___이동평균선
___pandas를 이용한 주가이동평균 계산
___주가이동평균선 그리기

▣ 14장: pandas와 Zipline을 이용한 백테스팅
01. Zipline 시작하기
___Zipline 설치
___Zipline 기초
02. 이동평균선 전략 백테스트
___Zipline을 이용한 이동평균선 전략 테스트
___이동평균선 전략 보완하기
03. 유가증권시장/코스닥시장 백테스팅
___거래 수수료 설정
___초기 투자 금액 설정

▣ 15장: matplotlib를 이용한 데이터 시각화
01. pyplot 기초
___간단한 그래프 그리기
___Figure와 subplots
___라벨 및 범례 표시하기
___matplotlib 구성
02. 다양한 그래프 그리기
___수정 종가와 거래량 한번에 그리기
___캔들 스틱 차트 그리기
___bar 차트 그리기
___pie 차트 그리기

▣ 16장: PyQt를 이용한 GUI 프로그래밍
01. PyQt 기초
___아나콘다에서 PyQt 설치 및 업데이트
___PyQt 복습하기
02. Qt Designer
___Qt Designer 소개
___Qt Designer를 이용한 UI 구성
___UI 파일을 파이썬 코드로 변환하기
___UI 파일을 파이썬 코드에서 로드하기
___이벤트 처리하기
03. 기본 위젯
___QPushButton
___QLabel
___QLineEdit와 QStatusBar
___QRadioButton과 QGroupBox
___QCheckBox
___QSpinBox 481
___QTableWidget
04. Layout
___QVBoxLayout
___QHBoxLayout
___QGridLayout
___레이아웃 중첩
05. 다이얼로그
___QFileDialog
___QInputDialog
___메인 윈도우와 다이얼로그의 상호작용
06. PyQt와 matplotlib 연동
___기본 레이아웃 구성
___그래프 그리기

[4부] 실전 알고리즘 트레이딩

▣ 17장: 주가 데이터 저장하기
01. SQLite
___sqlite3 모듈 기초
___데이터베이스 브라우저
___데이터베이스로부터 데이터 읽기
02. pandas와 SQLite
___DataFrame 객체를 SQLite DB에 저장하기
___SQLite DB에서 테이블 로드하기
___pandas를 이용한 주가 데이터 저장
03. 증권사 API를 이용한 주가 데이터 저장
___종목 코드 리스트 얻어 오기
___일봉 데이터 연속조회
___SQLite DB에 일봉 데이터 저장하기

▣ 18장: 실전 프로그램 개발
01. 개발 1일 차
___자동 버전 처리 스크립트
___윈도우 작업 스케줄러
___PyTrader 구현
___키움 OpenAPI+ 자동 로그인
02. 개발 2일 차
___UI 구성
___Kiwoom.py 파일 업데이트
___pytrader.py 파일 업데이트
___매수 테스트
03. 개발 3일 차
___UI 구성
___Kiwoom.py 파일 업데이트
___pytrader.py 파일 업데이트
04. 개발 4일 차
___UI 구성 및 매수/매도 목록 파일 생성
___선정 종목 정보 출력하기
___자동 주문 구현하기

▣ 19장: 실전 프로그램 개발(2)
01. 개발 5일 차
___코스피/코스닥 종목코드 가져오기
___일별 데이터 가져오기
___급등주 포착 알고리즘 구현
02. 개발 6일 차
___HTML 기초
___웹 페이지 크롤링
___배당률 기반 투자 알고리즘
___배당률 기반 투자 알고리즘 구현(1)
___배당률 기반 투자 알고리즘 구현(2)
___배당률 기반 투자 알고리즘 구현(3)

▣ 부록 A: 소스코드 다운로드 및 실행

▣ 부록 B: PyCharm을 이용한 디버깅
01. 브레이크포인트 설정
02. 디버깅 모드로 프로그램 실행
03. 함수 디버깅하기
04. 추가 기능 살펴보기

Earticle

사용자 편의성 기반의 알고리즘 트레이딩 시스템
User Convenience-based Trading Algorithm System

첫 페이지 보기

  • 발행기관 한국인터넷방송통신학회 바로가기
  • 간행물 한국인터넷방송통신학회 논문지 KCI 등재 바로가기
  • 통권 제16권 제3호 (2016.06) 바로가기
  • 페이지 pp.155-161
  • 저자 이주상, 김병서
  • 언어 한국어(KOR)
  • URL https://www.earticle.net/Article/A278110 복사

※ 기관로그인 시 무료 이용이 가능합니다.

영어 음성듣기 --> In current algorithm trading system, general users need to program their algorithms using programing language and APIs provided from financial companies. Therefore, such environment keeps general personal investors away from using algorithm trading. Therefore, this paper focuses on developing user-friendly algorithm trading system which enables general investors to make their own trading algorithms without knowledge on program language and APIs. In the system, investors input their investment criteria through user interface and this automatically creates their own trading algorithms. The proposed system is composed with two parts: server intercommunicating with financial company server to send and to receive financial informations for trading, and client including user convenience-based user interface representing secondary indexes and strategies, and a part generating algorithm. The proposed system performance is proven through simulated-investment in which user sets up his investment strategy, algorithm is generated, and trading is performed based on the algorithm 한국어 기존의 알고리즘 트레이딩 시스템에서는 투자전략을 금융사가 제공하는 프로그램밍 언어와 API들을 사용하여 사용자가 직접 프로그래밍 하여야 했기에 일반 투자자들이 사용하기에는 많은 어려움이 있어왔다. 따라서 본 논문에서는 사용자가 프로그래밍에 대한 지식이 없어도 손쉽게 자신의 투자전략을 사용자 인터페이스를 통하여 제시하면 이를 통하여 알고리즘이 형성되어 시스템 트레이딩이 수행되도록 하는 사용자 친화적인 트레이딩 시스템을 개발하는 것을 목적으로 한다. 본 시스템은 금융회사의 서버와 주식 정보를 송수신하고 매매를 수행하는 서버 부분과 투자전략을 설정하기 위한 보조지표들로 이루어진 사용자 인터페이스, 이를 기반으로 알고리즘이 생성되는 부분 등으로 구성되어진 클라이언트로 구성되어진다. 제안된 시스템은 모의 투자 실행을 통하여 사용자가 설정한 투자전략에 따라 설정된 알고리즘에 의하여 자동으로 매매가 이루어짐을 통하여 성능을 검증하였다.

요약
Abstract
Ⅰ. 서론
Ⅱ. 관련 기술 및 연구 동향
Ⅲ. 제안 시스템
1. 제안 시스템의 구조
2. 서버 부분
3. 클라이언트 부분
4. 스피드 주문 다이얼로그와 알고리즘 생성
Ⅳ. 모의투자 실험 및 결과
Ⅴ. 결론
References

한빛출판네트워크

머신러닝을 이용한 알고리즘 트레이딩 시스템 개발

현재 시중에 있는 머신러닝 관련 도서는 머신러닝이 무엇인지 소개하거나 머신러닝의 수학적 배경을 설명한다. 전자는 머신러닝 알고리즘에 대한 소개와 사용방법에 치중하여 머신러닝 사용법을 학습하는 데는 도움이 되지만, 머신러닝의 개념을 이해하고 무엇을 하기에는 내용이 부족하고, 후자는 반대로 너무 전문적이어서 머신러닝 알고리즘에 사용된 수학적 개념들과 각종 정리를 소개하는 데 치중해 있다. 머신러닝 알고리즘을 새로 개발하거나 기존 머신러닝 알고리즘을 개선해서 사용하려 한다면 이런 책들이 도움되지만, 머신러닝 알고리즘을 사용하려고 한다면 너무 학문적이고 이론적이어서 별로 도움이 되지 않는다.

『머신러닝을 이용한 알고리즘 트레이딩 시스템 개발』은 머신러닝을 공부하는 데 필요한 통계와 확률에 대한 수학적 이론과 머신러닝을 적용하려는 분야에 대한 도메인 지식(Domain Knowledge), 이를 구현한 코드를 한곳에서 볼 수 있는 책이다.

머신러닝을 이용해 프로그램을 작성하는 데 머신러닝 알고리즘이 차지하는 비중은 그렇게 크지 않다. 중요한 것은 데이터에 대한 이해와 특성을 파악하는 것이다. 이 과정은 통계와 확률에 대한 수학적 지식과 머신러닝을 적용하려는 분야에 대한 도메인 지식이 있으면 시간을 대폭 단축할 수 있고, 문제를 단순화할 수 있다. 이런 과정을 거쳐 적용한 머신러닝이야말로 좋은 결과를 보여준다.

머신러닝을 제대로 활용하기 위해서는 데이터가 더욱 중요한 이슈라고 얘기했듯이, 머신러닝을 이야기하는 데 적용 분야인 도메인을 정하지 않는 것은 반쪽짜리다. 그래서 이 책은 쉽게 데이터를 얻을 수 있으며, 데이터 자체에 대한 신뢰도가 높고 난도가 있는 주식을 선택했다.

주식시장은 예측이 어려운 대표적인 분야로, 머신러닝을 공부하는 데 필요한 모든 요소를 가지고 있다. 수학 이론을 이용한 예측 모델의 작성, 작성한 모델을 위한 데이터 처리, 주가를 예측하기 위한 학습, 학습결과의 해석과 이를 개선하는 방법 등 머신러닝 전체 흐름을 경험하기에 좋다. 통계, 시계열(Time Series), 알고리즘 트레이딩 등 책에서 다루는 주제는 각각 한 권의 책으로도 분량이 모자랄 만큼 방대한 내용을 가지고 있으나 이 책의 목적상 알고리즘 트레이딩과 직접 연관되고 반드시 알아야 하는 사항들을 중심으로 서술했다. 아울러 이 책은 프로그래밍을 할 수 있는 독자가 대상이므로 프로그래밍에 관련된 설명은 특별히 하지 않았다.

이 책은 크게 3부분으로 구성되어 있다.

Part 1은 머신러닝의 개요로, 머신러닝이 무엇인지와 머신러닝이 할 수 있는 것은 무엇인지, 머신러닝의 종류는 무엇이 있는지 등 머신러닝의 전반적인 개요를 설명한다.

Part 2는 알고리즘 트레이딩을 위한 수학적 배경지식으로 통계와 시계열을 다룬다. 알고리즘 트레이딩을 하려면 주식의 매도와 매수를 결정하는 ‘모델’이라는 것을 만들어야 한다. 이 모델을 만들기 위한 최소한의 통계 개념과 시계열 개념을 설명한다.

Part 3은 실제로 간단한 알고리즘 트레이딩을 파이썬을 이용해 구현해본다. 머신러닝에 기반을 둔 모델과 시계열 이론에 기반을 둔 모델 2가지를 구현해보고, 구현된 결과에 대한 해석과 이를 개선하는 방법에 대해 다룬다.

KAIST SW석사과정을 마쳤다.

어느 날 알게 된 머신러닝에 흠뻑 빠져 그동안 애지중지하던 클라우드를 버리고 머신러닝으로 전향하였다. 이제 더는 다른 기술은 관심을 두지 않고 머신러닝 한길만으로 정했기에 머신러닝을 공부하며 어려운 수식들을 다시 보느라 고생하고 있지만, 하루하루 배워가는 지식에 행복해하며 지내고 있다. 머신러닝으로 가마우지를 만들어 인생을 즐기려 노력하고 있으며, 그 결실이 완성되는 날 완벽한 경제적 자유를 누리고자 한다.

  • Facebook : https://www.facebook.com/james.ahn.9
  • Homepage : http://www.deepnumbers.com

동국대 정보공학석사를 마쳤다.

머신러닝 책을 집필할 때만 해도 쉬엄쉬엄하는 마음으로 했는데, 딥마인드(DeepMind)의 데미스 하사비스(Demis Hassabis)가 ‘알파고(AlphaGo)’를 서울에 데려와 파문을 일으키고 가는 바람에 왠지 모를 조바심이 생겼다. 그동안 딥러닝에 대해 갸우뚱하던 생각도 무지의 소치로 치워두고 급상승한 호기심을 발판으로 깊숙이 들어가 보려 한다. 확신할 수 없을 때는 불안하고 머뭇거리게 되지만 다행히 누군가 그 길을 보여주면 그때라도 놓치지 말고 따라가는 게 낫지 않을까 생각한다.


[프라임경제] '개미'라 불리는 개인투자자가 올핸 '동학개미'란 새로운 닉네임을 받았죠. 코스피가 박스권을 뚫고 2700을 돌파한 원동력으로 인정받을 만큼 위상은 높아졌지만 안타깝게도 현실은 여전히 먹이사슬 최하단의 초식동물일 뿐입니다.

개미가 정보를 듣고 매매를 클릭하는 순간 정보와 기술에 앞선 알고리즘 트레이딩 알고리즘 트레이딩 알고리즘 트레이딩 포식자는 이미 수익실현 중일 수도 있다는 얘기입니다. 슈퍼개미가 등장하기도 하는 등 개미 역시 점점 진화 중이지만 그들의 경쟁자는 자금·정보·기술 등 모든 면에서 그들을 압도합니다. 투자업계 최고 포식자인 월가의 10년 전을 돌아보며 승승장구로 가졌을지 모를 개미들의 자아도취를 떨쳐냈으면 합니다.

10년 전 오늘 뉴욕타임스에선 주식시장과 IT기술에 관련된 재미난 보도를 했습니다. IT기술을 활용해 월가에서 컴퓨터가 기자나 작가가 사용한 단어를 분류하고 문장구조나 생소한 이모티콘까지 분석해 사람의 개입 없이 투자할 수 있는 프로그램을 만드는 연구를 진행 중이라는 내용입니다. 알고리즘 트레이딩을 비정형 데이터 영역으로 확장하겠다는 의지였는데요, 당시로선 상당히 획기적 시도였습니다.

IT기술 발달로 IT와 산업 간 경계가 무너지며 컨버전스에 초점이 맞춰졌던 당시, 월가에서도 기술 진화를 업계에 적용하기 위해 부단히 노력했음을 알 수 있습니다.

고성능 컴퓨터로 △뉴스 기사 △사설 △웹사이트 △블로그 △SNS 메시지 등을 빠르게 읽어내는 이 노력을 두고, 새롭게 시장을 판단할 수 있는 기술 혁명이 될 것이라며, 종국에는 가장 고성능 컴퓨팅 능력을 가진 투자자가 경쟁에서 승리할 것이라고 예측하기도 했죠.

흥미로운 점은 이모티콘을 활용해 윙크를 하거나 웃는 모습을 표현하면 시장상황을 낙관적으로 전망하는 식의 일차원적 분석 기법이 활용됐다는 사실입니다. 어쩌면 당시 업계가 진화의 속도를 미처 따라가지 못한 게 아닌가 하는 생각도 듭니다.

10년이 지난 현재 이미 일부 투자자가 주식매매에 비슷한 방식을 활용하기도 합니다. 단순한 정보 이용 수준을 넘어 컴퓨터를 통한 자동매매에 정보를 활용하는 거죠. 예를 들어 특징주라는 키워드와 코로나백신이라는 키워드를 넣고 언론사 사이트를 모니터링 해 긍정적인 표현의 기사가 나올 경우 기사에 명시된 기업의 주식 1000만원 어치를 시장가로 매입하라는 식의 알고리즘을 짜 놓고 자동매매를 합니다. 바이오·정치 등 테마주 중심으로 사용 빈도가 높습니다.

이 같은 방식으로 매매할 경우 남들에게 관심이 쏠리기 전에 저가로 주식을 매수할 기회를 잡을 수 있죠. 선물거래소가 있는 시카고와 현물 시장이 있는 뉴욕 사이에서 단 0.004초의 네트워크 속도 단축을 위해 2억달러 규모의 네트워크 회선 구축 공사를 했다는 사실에 비춰보면 이 같은 기법이 당사자에겐 분명 득이 될 것으로 보여집니다.

하지만 이 때문에 손실을 입은 투자자가 청와대나 금감원에 민원을 넣는 사례가 늘어나는 등 시장 교란 행위라는 비판을 받기도 합니다.

이 방식은 컴퓨터 프로그램에 특정 매매기법(시스템)을 입력해 자동으로 주식을 사고파는 알고리즘 트레이딩의 일종으로 볼 수도 있는데요. 전형적인 알고리즘 트레이딩과의 차이라면 의사결정 변수로 수치나 지표 대신 비정형 데이터를 활용한다는 겁니다.

알고리즘 트레이딩은 기관이나 외국인이 활용하는 프로그램 매매와 동일한 개념으로 이해할 수 있습니다. 해외에선 이미 많은 투자자가 활용하며, 세금과 거래수수료가 거의 없는 파생시장에선 이미 대세로 자리 잡았죠. 최근엔 국내 주식시장에서도 알고리즘 트레이딩에 대한 관심이 꾸준히 늘고 있는 추세입니다.

알고리즘 트레이딩을 위해서는 이미 제공된 프로그램을 활용해 추가 개발하거나 직접 새로운 프로그램을 개발해야 합니다. 주로 이용되는 개발언어는 '파이썬'입니다. 사용자가 직접 프로그램을 만들 수 있도록 증권사에서 API를 제공하기도 합니다만 코딩에 익숙하지 않은 일반 투자자들이 손쉽게 접근하기엔 다소 무리가 따릅니다.

이미 몇 해 전부터 증권가에선 알고리즘 트레이딩을 위한 필수 지식인 코딩에 대한 관심이 높아졌습니다. 이들은 IT교육기관에서 '파이썬'을 익혀 △일정한 규칙에 따라 주문할 수 있는 프로그램을 만들기도 하고 △운용파트 직원은 외국 주식을 매매하는 데 알고르즘 트레이딩을 활용하기도 하죠. 산학협력을 통해 코딩을 교육하거나 빅데이터 알고리즘을 연구하는 사례도 늘고 있습니다.

이 같은 업계 관심에도 불구하고 높은 거래수수료 때문에 주식시장에서 알고리즘 트레이딩을 보편적으로 활용하는 건 시기상조입니다. 또한 알고리즘 트레이딩에 지나치게 의존하는 것 역시 위험한 발상입니다.

전문가들 역시 알고리즘을 짜는 건 인간의 몫이라며, 기술에만 초점을 맞춰선 안 된다고 조언합니다. 한 교수는 "알고리즘 트레이딩 워낙 변수가 많고 리스크를 줄여야 하는 금융 산업의 특성 상 일정한 패턴을 찾아 알고리즘을 만드는 것은 쉽지 않을 것"이라며 "알고리즘 트레이딩은 향후 트레이더의 결정을 돕는 형태로 발전할 것"이라고 전망하기도 했습니다.

라스베이거스 카지노의 고액 블랙잭 테이블에 가면 플레이어들이 배팅하는 금액은 달라도 카드를 받는 패턴은 거의 동일합니다. 그들이 수년 혹은 수십 년에 걸쳐 수집한 '이기는 노하우'는 결국 비슷하다는 얘기입니다. 그들은 서로의 플레이를 존중하며 '팀'알고리즘 트레이딩 이라는 마음가짐으로 카지노를 상대합니다. 그런데 초심자가 테이블에 들어와 패턴에 어긋나는 행동을 하면 짜기라도 한 듯 자리를 뜹니다.

올해 성공했다고 내년에 성공한다는 보장은 없습니다. 전문가의 지식을 토대로 각자만의 이기는 방정식을 만들어야 할 것입니다.

조규희 기자 [email protected]

알고리즘 트레이딩

입문용으로 좋은 알고리즘 트레이딩 서적 Best 5

    본문 폰트 크기 조정 본문 폰트 크기 작게 보기 본문 폰트 크기 크게 보기 가

1. Quantitative Trading - How to Build 알고리즘 트레이딩 Your Own Algorithmic Trading Business (by Ernest P. Chan)

알고리즘 트레이딩 분야의 구루이신 Ernest P. Chan 박사의 첫 번째 알고리즘 트레이딩 책이다. 알고리즘 트레이딩에 대해 정말로 아무런 지식이 없을 때 이것이 대체 무엇인지, 어디에 쓰는 것인지, 전략 아이디어는 어디서 구할 수 있는지, 백테스팅은 무엇인지, 알고리즘 트레이딩을 어떻게 비즈니스화시킬 것인지 등에 대한 아주 근본적이지만 필수적인 내용들만을 다루고 있다. 단점은 그만큼 전략 혹은 운용방식에 대한 디테일은 떨어진다는 점이다. 하지만 알고리즘 트레이딩을 도대체 어디서부터 어떻게 시작해야 할까라는 질문을 하고 싶다면 무조건 보아야 할 책이다.

2. Algorithmic Trading - Winning Strategies and Their Rationale (by Ernest P. Chan)

앞서 소개한 Quantitative Trading이 알고리즘 트레이딩 비즈니스 셋업을 위한 전반적 프레임워크를 제시하는 책이었다면, Ernest P. Chan 박사의 또 다른 저서인 이 Algorithmic Trading이라는 책은 전작에서 깊이 다루지 못했던 트레이딩 전략 파트를 좀 더 깊이 있게 다루고 알고리즘 트레이딩 있는 책이다. 특히 이 책은 알고리즘 트레이딩을 경험해보았다면 익숙할 평균회귀 전략과 모멘텀 전략을 기준으로 크게 두 파트를 나누어 각각의 전략에 대해 좀 더 구체적으로 다루고 있다. 특히나 반 이상의 내용을 평균회귀 전략 하나에 알고리즘 트레이딩 대해서만 다루고 있는 만큼 평균 회귀를 활용한 트레이딩 전략을 구현할 때 도움이 될 수 있는 공적분, 반감기 등의 개념에 대해 상세히 기술하고 있다. 알고리즘 트레이딩에 관심이 있다면 Chan 박사의 책들은 필독서라고 해도 과언이 아니다.

3. Quantitative Trading Strategies (by Lars Kestner)

Ernest P. Chan 박사의 Quantitative Trading이 알고리즘 트레이딩에 대해 매우 간략한 버전의 프레임워크를 제시한 책이라면, Lars Kestner의 Quantitative Trading Strategies는 좀 더 크고 디테일한 버전의 프레임워크를 제시하고 있다. 알고리즘 트레이딩의 개요, 트레이딩 전략의 카테고리뿐만 아니라 알고리즘 트레이딩의 성과 측정 및 패러미터 최적화와 같은 보다 실무적으로 필요한 내용들을 쉽게 설명하고 있다. 이 책이 2003년에 쓰인 책이 맞나 싶을 정도로 알고리즘 트레이딩 전반에 대해 꼭 필요한 설명과 개념들 만을 모아놓았다.

4. Successful Algorithmic Trading (by Michael Halls-Moore)

Struggling To Make Profitable Systematic Trading Strategies? You didn't set out to lose money when trading, but lots of small mistakes along the way meant that your strategy performance in backtests didn't pan out when you went live. 300+ pages of algorithmic trading techniques How to implement an e.

Michael Halls-Moore는 영국에서 금융공학 교육 컨텐츠 서비스를 제공하고 있는 QuantStart의 대표이자 QuantStart 블로그의 주인장이다. 그의 블로그에도 엄청나게 좋은 양질의 컨텐츠들이 많지만 이러한 파편화된 지식들을 한데 묶어 그는 지금까지 총 세 권의 책을 저술했는데, 그 첫 번째 책이 바로 Successful Algorithmic Trading이다. 어떻게 보면 Chan 박사의 Quantitative Trading과 전반적인 내용이나 전개 방식이 비슷하지만 이 책은 좀 더 소프트웨어적인 내용들을 추가해서 다루고 있다. 매매자동화, 금융데이터 저장 및 처리 같은 내용들은 이 책의 차별화된 요소이다. 또한 고급 통계학이나 시계열 분석, 예측 기법 등에 대한 내용도 다루고 있어 실무적으로 트레이딩 전략 모델링에 대한 지식을 익히고자 하는 사람들에게 안성맞춤인 책이다.

5. Advanced Algorithmic Trading (by Michael Halls-Moore)

Machine Learning Applied To Real World Quant Strategies Finally. implement advanced trading strategies using time series analysis, machine learning and Bayesian statistics with the open source R and Python programming languages, for direct, actionable results on your strategy profitability. 500+ pa.

Michael Halls-Moore의 두 번째 저서인 Advanced Algorithmic Trading이다. 제목에서부터 Advanced가 풍기는 아우라가 있기에 아예 처음부터 트라이하기는 그리 쉽지만은 않은 책이지만, 어느 정도 알고리즘 트레이딩에 대해 익숙해졌고 좀 더 테크니컬한 측면의 내용을 다루고자 한다면 자연스럽게 손이 갈 수밖에 없는 책이다. 그만큼 이 책 속에는 매우 다양한 고급 내용들이 즐비해 있다. 특히 베이지안 통계학, 마르코프 체인, 시계열 분석, 상태-공간 모형, 칼만 필터, 머신러닝, 자연어 처리 등의 도구들은 공부하는 이로 하여금 지적 즐거움을 느끼게 해줄 뿐만 아니라 실무적으로도 이것들을 어떻게 사용할지에 대한 좋은 인사이트를 제공해준다.


0 개 댓글

답장을 남겨주세요