암호화폐 시스템 트레이딩 서버제작(1) 개발언어 선정
암호화폐 시스템 트레이딩 서버제작(1) 개발언어 선정
제작 배경과 선택의 이유
언어 선택
0. 언어 선택지
-
C
-
CPP
-
Python
-
C#
1. 목적 및 배경
-
암호화폐 시스템 트레이딩 자동 매매 체결 서버 용도
-
파이썬 사용자
-
금융관련 프로젝트인 만큼 서버의 안정성은 금전적인 문제와 직결됨, 조금이라도 익숙한 언어를 선택해 제어가 원활해야함
2. 파이썬 선택과 이유
-
주로 사용하는 언어
-
투자 전략을 주로 고려해야하는 시스템 트레이딩에서 다른 언어를 배우기 시작함으로서 생기는 러닝커브를 피해야함
-
소위 말하는 초 단타 전략을 사용할 계획이 없기 때문에 성능보다는 조금이라도 더 빠르게 제작해야함(생산성)
-
시스템 트레이딩에 주로 사용되는 언어인 C/CPP 를 사용하지않는 까닭은 C 계열의 언어를 사용하면 좀 더 빠르게 주문내역등을 받아올수있다고 생각할수있지만, 하드웨어의 발전으로 인해 실제 트레이딩을 위한 속도의 차이는 크게 차이가 나지않는다.
오히려 네트워크나 주변 다른 환경의 영향을 크게 받으며, 예를들어 주문내역을 요청하게 될때
네트워크로 조회할때 100ms 가 소요되며, 로직은 cpp 은 2ms 파이썬은 3ms 정도 차이가 날뿐이다.(대략적인 예시일뿐 실제로 그렇지는 않다.)
언어부분에서 성능을 다루려고 하기보다는 네트워크나 다른 주변 환경을 최적화하는것이 보다 효과적이다.
- Pandas 등 데이터 분석에 관련된 라이브러리도 풍부하며, 커뮤니티가 굉장히 활성화되어 문제해결이 상대적으로 다른언어에 비해 쉬운편에 속한다고 생각한다.
최초 작성일 : 2020-08-11