‘16. 6월부터 개발하고 있는 알고리즘 트레이딩 시스템이 모양새를 갖춰가고 있습니다.

앞으로 이 시스템은 주식/채권/파생상품 종목선정부터 자산배분, 리스크관리를 거쳐 증권사 API를 이용해 실제 거래주문을 보내고, 거래결과를 정량적으로 분석/평가할 것입니다. 일단 파이썬으로 프로토타입을 개발해 보았습니다. 메시징큐 라이브러리인 ZeroMQ를 활용해 프로세스간 통신을 구현하였습니다.

주요기능

    1. 주가정보 취득, 2) Database에 저장, 3) 종목별 주가 모니터링 등 각각의 기능을 별도의 프로세스로 작동시켜 시스템의 속도를 최대한으로 이끌어 낼 수 있게끔 병렬처리

실행결과

[DEBUG|yQuant.py:23] 2016-08-07 13:41:43,920 > Process[feed_price] is started (pid:5312)
[DEBUG|yQuant.py:62] 2016-08-07 13:41:43,920 > Process[store_price] is started (pid:6916)
[DEBUG|yQuant.py:81] 2016-08-07 13:41:43,940 > Process[monitor_price] started (pid:176)
[DEBUG|yQuant.py:32] 2016-08-07 13:41:46,957 > feed_price sent a message (한국전력=57000)
[DEBUG|yQuant.py:72] 2016-08-07 13:41:46,957 > store_price recevied a message (한국전력=57000)
[DEBUG|yQuant.py:32] 2016-08-07 13:41:49,966 > feed_price sent a message (현대차=78000)
[DEBUG|yQuant.py:72] 2016-08-07 13:41:49,966 > store_price recevied a message (현대차=78000)
[DEBUG|yQuant.py:97] 2016-08-07 13:41:49,967 > 현대차 reached more than the monitoring price, 65000 (current: 78000)
[DEBUG|yQuant.py:72] 2016-08-07 13:41:49,968 > store_price recevied a message (현대차=68000)
[DEBUG|yQuant.py:91] 2016-08-07 13:41:49,968 > mnoitor_price recevied a message (현대차=68000)
[DEBUG|yQuant.py:32] 2016-08-07 13:41:49,968 > feed_price sent a message (현대차=68000)
[DEBUG|yQuant.py:97] 2016-08-07 13:41:49,969 > 현대차 reached more than the monitoring price, 65000 (current: 68000)

소스코드