트레이딩2020. 12. 31. 14:41




System Trading 

 


자동매매 시스템 구현/운용 위한 실전 정보.

자동매매뿐만 아니라 손매매시에도 유용한 정보.

 

증권사 API 기반 자동매매 시스템 개발 . 

- API 활용 방법 정리.


상용툴 S/W 기반 자동매매 구현.

- 예스트레이더, 시그널 메이커, 메타트레이더 등.

- 소셜 시스템 트레이딩.


트레이딩 관련 유용한 정보들.

- 거래 대상 종목.

- 지표들.


용어 

시스템트레이딩, 매매봇, 자동매매, 로보트레이딩, 머신트레이딩, 오토트레이딩 다 같은 의미.


 




자동화된 시스템 트레이딩 

"디지털 노마드" 를 실현하는 최고의 수단. 
단, 스스로 능력을 발전 시키고 구현한 자에게만 주어지는 보상.




 

기초 

 

 시스템 트레이딩이든 수동 손매매든 트레이딩 이라는 점에서는 동일하다. 기초 개념 부터 정리하자.  
 
 트레이딩 기초 개념 : http://igotit.tistory.com/1548

 
 


 

 

트레이딩 초특급 전문가

 

수익의 규모가 상상을 초월할 정도로 큰 트레이딩 대가들. 그 들의 결과물인 성과만 보지말고 그들이 어떤 특징을 갖고 있길래 큰 수익을 거두었는지 배워서 본인 실전매매에서 반영하도록 하자. 비록 우리의 결과물이 그들 만큼 수십조 단위는 아니어도 수억~수백억 수익 내는데는 큰 도움을 받을 수 있다. 

시스템 트레이딩 분야. 


 - 공통점 : 수학적인 수단과 컴퓨터를 이용한 트레이딩에 특화.

이름 

 특징.


 에드워드 소프 


 

 1961년 이후 20년간 월스트리트 최고수익율 달성. 


 상세보기 : http://igotit.tistory.com/1581


 제임스 사이먼스


 

연봉 3조로 국내에 많이 알려짐.



 에드 세이코타


 

16년간 250000% 수익률 달성. 


상세보기 : http://igotit.tistory.com/1580


 데이비드 쇼


 

상세보기 : http://igotit.tistory.com/1625


 


 




 

API 활용.

 

증권사에서 제공하는 API 기반하여 자동매매시스템 구축하기 위해서는 C++. C# 등의 언어기반하여 매매전략뿐만 아니라 모든 소프트웨어 구성요소(실시간 데이터 수신부,챠탕처리,  데이터 처리부,전략 로직부,  주문 실행부, 주문 관리부 등)들을 모두 로레벨 코딩으로 구현해야하므로 높은 수준의 코딩 스킬과 많은 시간이 요구된다.

API 기반 구축하는 경우의 장점
- 새롭게 등장하는 최첨단 기술( 예 : GPU 기반 딥러닝등 ) 을 매매시스템에 접목 가능.  
- 상용툴 S/W 에서 구현하기 힘든 것들 구현시 유리. ( 예 : 초단타매매, 섬세한 호가정보, 코드내에서 지정가 주문, 정정, 취소 등의 섬세한 주문관리 )


 증권사 API 리스트

 
 위 주소에 정리된 것처럼 많은 증권사에서 API 제공하고 있으며, 본인 취향에 맞는것으로 골라 도입하여 개발하면 됨. 


 증권사 해외선물 수수료 비교. 편도 3달러 이하만 : http://igotit.tistory.com/1716



 유진투자선물. OpenAPI. 

  유진 OpenAPI 개요, 활용준비 : http://igotit.tistory.com/1730
  유진 OpenAPI  Visual C++ 에서 코딩 시작하기  : 


 NH선물. OpenAPI. 

  NH선물 OpenAPI 개요, 활용준비 : http://igotit.tistory.com/1731
 

 하나금융투자. 1Q OpenAPI. 

  1Q OpenAPI 개요, 다운로드, 설치 : http://igotit.tistory.com/1710
  1Q OpenAPI  Visual C++ 에서 코딩 시작하기  : http://igotit.tistory.com/1711

 키움증권 OpenAPI-W - 해외선물 전용

  OpenAPI-W  개요. 다운로드.설치. : http://igotit.tistory.com/969 
  OpenAPI-W  Visual C++ 에서 코딩 시작하기 : http://igotit.tistory.com/970
  OpenAPI-W 실시간 시세 수신 구현 : http://igotit.tistory.com/977
  OpenAPI-W 실시산 시세 0시 직후 시각정보부실 해결책 : http://igotit.tistory.com/986
  OpenAPI-W 활용팁, 주의사항 (초당조회수 제한등) : http://igotit.tistory.com/1720


 동부증권 API - 해외선물 전용

  동부증권 API 사용신청 예제소스코드 다운로드. http://igotit.tistory.com/1099
  동부증권 API Visual C++ 코딩 시작하기 : http://igotit.tistory.com/1150


 이베스트 증권 xingAPI

  xingAPI DLL. Visual C++ 코딩 시작하기. http://igotit.tistory.com/499
  xingAPI DLL 버전업 방법 : http://igotit.tistory.com/758 



암호화폐 bybit API (REST , WebSocket API)

bybit API 실시간 시세수신 파이썬.  https://igotit.tistory.com/2490



  

 


 


 

자동매매 상용 툴 S/W

 

 상용툴 S/W에서는 시세수신 및 주문 기능은 구현되어있고, 사용자는 툴 S/W에서 제공되는 쉬운 언어기반 코딩하여 매매전략 구축/평가/실전 매매 하는 방식으로 활용된다.  API 기반 로레벨 코딩하여 시스템 구축 하는것  비교하여 전략 로직부분만 집중하여 구현하면 되므로 개발시간 단축 가능하다. 

상용툴 S/W 로도 초단타를 제외한 하루 수십번 진입하는 단타부터 스윙 , 장기 추세 추종 시스템등 모든 수익 내는 전략 구축 가능하다. 

 예스트레이더

  예스트레이더, 예스랭귀지, 예스스팟 개요. 설치. 기본사용법 :  http://igotit.tistory.com/836
  예스스팟 개요. Hello World 코딩예 : http://igotit.tistory.com/837
  예스랭귀지 개요 : http://igotit.tistory.com/842 
  예스트레이더에서 예스랭귀지 이용 매매전략 평가예 : http://igotit.tistory.com/871
  예스트레이더 활용시 봉가정 오류에 의한 가짜 우상향수익률 : http://igotit.tistory.com/869

 시그널메이커

  시그널메이커 개요 : http://igotit.tistory.com/1425
  시그널 메이커 활용법 모음. : http://igotit.tistory.com/1462


 메타트레이더

 메타트레이더(MetaTrader), MQL, EA(Expert Advisor) 개요 : http://igotit.tistory.com/711

 메타트레이더 4 체계정리(활용법/지식) :  http://igotit.tistory.com/1756


 메타트레이더 5 체계정리(활용법/지식) :  http://igotit.tistory.com/1775


 

 툴 S/W 비교.

 예스트레이더, 시그널메이커 에서 동일 전략  평가 리포트 비교 :  http://igotit.tistory.com/1471
 
 메타트레이더와 타 시스템툴 S/W 와의 비교. 
 압도적으로 메타 트레이더가 최고품질이며, 타 소프트웨어와는 비교 대상도 아닌 특장점들이 있다. 일부만 소개.
 - 연속 구동 가능 : 메타트레이더는 시스템 운용시 사람이 프로그램 구동및 종료 처리 하지 않아도 되며 심지어는 수개월간 켜둬도 자동매매 정상실행된다. 한국에서는 증권사 서버 날마다 재부팅 시키고, 시그널메이커든 예스트레이더든 심지어 API 기반 프로그램들 모두 서버와 연결이 끊기기 때문에 사람이 날마다 프로그램 재실행해야한다. 메타 트레이더는 전혀 서버와의 연결 끊김 없다. 
 - 전세계 시스템 트레이딩 네트웍 인프라  : 이 특징은 메타트레이더의 압도적인 최고의 안정성,품질 및 방대한 사용자 계층을 확보하고 있다. 현재도 전세계 많은 사람들이 활용중이다.  이것 보다가 한국 현실을 보면 처참한 수준...  
  

 


 


 

소셜 시스템 트레이딩.

 

내가 직접 시스템 개발하지 않고도 다른 전문 시스템 운영자의 신호를 받아서 자동매매 운영가능. 

소셜 시스템 트레이딩 가능한 수단. 

메타드레이더4,5 
- 메타트레이더는 전세계 수많은 브로커(증권사) 에서 사용가능하며 신호제공 역시 전세계인 누구나 , 그리고 카피하는 사람 역시 전세계인 누구나 가능하다. 메타트레이더는 현존(2019년 12월 기준)하는 모든 시스템 툴 S/W 중에 직접 전략 개발뿐만 아니라 신호 카피 매매에서도 독보적이고 이미 안정화 된 시스템이다.  
- 메타트레이더에서 카피 매매 가능한 전략들  순위 보기 : https://igotit.tistory.com/2294

2019년 12월 24일 시점 아래 제거함.  개인적으로 무용지물인것으로 판단했음.
프리캡  HTS http://igotit.tistory.com/1457
- 한국에서 특정 증권사에서만 사용가능하며, 아직 초기단계라서 완성도가 높지 않은 단점이 있다. 




 


 


 

매매 대상

 



FX 마진. 

- 초거대 외환 거래시장. 시스템 트레이딩 적용하기 좋은 최적의 거래대상.  

- 선물과 달리 만기일없음. 

- FX마진 더 알아보기 : https://igotit.tistory.com/1745

- 한국법에서의 FX마진 거래시 해외선물사 불법 문제 정리 : https://igotit.tistory.com/1793


암호화폐 

- 완전한 연속거래 시장. 거래 쉬는 날 없음. (  FX마진은 한국시 기준 토, 일은 거래 없음. )


- 손매매든 시스템트레이딩이든 접근성 좋음. 


- 암호화폐 거래소 예 (bybit)  : https://igotit.tistory.com/2235


- 암호화폐 포함 환율 거래시 결제통화에 따른 주요 차이점 : https://igotit.tistory.com/2677

CME 선물 


원유, 골드, 유로FX, 나스닥, S&P 등 상세보기 : http://igotit.tistory.com/838


- 전세계 금융거래소 중에서 현재(2017년 7월) CME 상품들이 최대 거래 규모. 최장 연속(23시간) 거래 가능 .

- 해외선물들 대부분 변동성 크고, 충분한 유동성(전세계 거래자들이 참여함.),  하루 23시간 연속 시장이어서 시스템 매매 대상으로 최적의 종목. (사람은 23시간 연속 시장 감시하기 불가능하나, 자동시스템은 연속 매매가능.)

CFD (지수, 오일, 골드, 등)

- 메타트레이더에서 거래가능한 FX마진외의 종목. 
- 메타트레이더의 장점을 모두 활용가능함이 최고의 장점. 
- CME 선물에서의 나스닥, S&P, 오일, 골드와 가격 움직임은 동일. 
- 메타트레이더에서의 CFD 종목 상세 보기 : https://igotit.tistory.com/2541




한국 선물이나 주식을 매매하지 않는 이유. 

  • - 트레이딩으로 수익을 낸다함은 가격변화를 수익으로 취하는 행위. 
  • - 동일자금이라면 변동성 큰 종목을 매매 대상으로 해야 수익기회 많아짐.(동시에 손실 기회도 많아짐에 주의 할것.)
  • - 한국선물이나 주식은 변동성 죽었음. 거래시간도 너무 짧음. 변동성 죽었고 거래시간도 짧으면 매매로 뭔가를 해볼 수 있는 기회 자체가 줄어든거임. 손실도 수익도 고만고만한 수준.  하나마나 한 짓은 안하면 된다.
  • - 한국선물옵션거래가 줄어든 이유 : 2010년까지만해도 전세계 1위 거래규모까지 발전했었는데 한국정부의 규제 개입으로 시장 박살냄. 전세계 거래자들은  시카고거래소(CME) , FX마진 등의 거대 시장이면서 변동성/ 유동성 충분한 시장으로 몰림. 
  • - 한국 주식이 시스템 매매에 적합하지 않은 이유 : 시스템트레이딩 대상은 통계적 일관된 유의성 있는 거래 특성이 있어야 수익내기에 유리하다. 시장 참여자가 국지적이고 거래자도 적은 종목들의 특징은 통계적 유의성이라기 보다는 인위적, 정치적 정보(회사 내부정보등 ) 정부의 불필요한 간섭 및 특정 소수 매매자들의 영향력이 크게 작용한다. 데이터과학/공학/통계/기술적 방식으로 전략 구축되는 시스템 트레이딩 으로 진검승부 불가능한 최악의 거래 종목임. 

 
 


 



 

마켓데이터

 

종목별 마켓데이터 다운로드.


유로FX (CME 선물):  http://igotit.tistory.com/1456


마켓데이터 주의사항. 

증권사 별 데이터 품질 차이 : http://igotit.tistory.com/1506

- 동일 전략을 증권사별로 시험해보면 차이를 보이는 경우가 있다. 증권사 별로 데이터 품질 차이가 있기 때문이며, 심각한 수준인 경우도 있다. 


마켓데이터 활용 

파이썬에서 금융시계열 데이터 쉽게 활용하기 : https://igotit.tistory.com/2124

 


 




 

자동매매 PC 설정

 
 자동매매 시스템 운영시 전산시스템 운용/관리 무결성 관리되어야 함.  네트웍 단절, 정전, 컴퓨터 불안정 사태가 장시간 방치되면 손실 위험 증가되므로 무결성 관리 수단 요구됨. 

 지정된 시간에 PC 켜기. http://igotit.tistory.com/142
 PC부팅시 로그인 창없이 자동로그인 하기.  http://igotit.tistory.com/170
 지정된 시간에 PC 끄기. 혹은 재부팅하기. http://igotit.tistory.com/90
 PC시계 정밀동기화. http://igotit.tistory.com/171
 윈도우 자동업데이트 금지 시키기. http://igotit.tistory.com/1103

 


 

 

코딩 언어/ 라이브러리

 

 

 Visual C++ 

 증권사 API 기반 트레이딩 툴 S/W 직접 코딩 하는 경우 Visual C++ 가장 강력함.

 매매가 느리게 이뤄져도 되는 전략이면 어떤 언어로 구현해도 관계없지만, 거래소에서 제공되는 원시 틱데이터 기반 고빈도 매매전략 까지 수행해야 하는 경우라든지  실시간 GPU기반 딥러닝 기술까지 접목하려면 시스템 코어는 필수 C++ 로 구현할것.  


 Visual C++ 에서 키움증권 OpenAPI-W 코딩 시작하기 : http://igotit.tistory.com/970

 Visual C++ 에서 동부증권 API 코딩 시작하기 : http://igotit.tistory.com/1150

 Visual C++ 에서 이베스트 xingAPI DLL 코딩 시작하기. http://igotit.tistory.com/499


 Visual C++ 일반 활용 정보 모음 : http://igotit.tistory.com/11


 TA-LIB 

 직접 코딩하는 경우 쉽게 활용가능한 지표계산 라이브러리.

 TA-LIB 개요 : http://igotit.tistory.com/1404 



 MQL ( 메타트레이더 )

 - 메타 트레이더 플랫폼에서 전략 코딩 가능한 언어. 

 - 메타트레이더 4 에서는 MQL4 , 메타트레이더 5에서는 MQL5 로 불리는데 이름만 MQL 이라 불릴 뿐 실제 MQL4 는 C언어, MQL5 는 C++ 임. 

 - 너무 강력하고 안정되어 있어서 이것 접하고 나면 API 기반 로레벨 코딩해온것이 억울할 지경.. 


 메타트레이더(MetaTrader), MQL, EA(Expert Advisor) 개요 : http://igotit.tistory.com/711


 메타트레이더 4 체계정리(활용법/지식) :  http://igotit.tistory.com/1756


 메타트레이더 5 체계정리(활용법/지식) :  http://igotit.tistory.com/1775


 


 


 


 

매매전략

 

시스템 매매 초보부터 신의 경지 까지 수익 곡선 타입 5종.  http://igotit.tistory.com/1397

백테스트 시 봉가정 오류에 의한 가짜 우상향수익률 주의 : http://igotit.tistory.com/869 

승율, 손익비 : http://igotit.tistory.com/1525
- 매매전략 평가시 가장 중요한 수치.

TPI (Trading Performance Index, 매매성능지수 ) : http://igotit.tistory.com/1546
- 매매전략 성능평가 위한 가장 간단한 수치.  
- TPI 값이 1보다 큰 것이 수익 내는 매매전략이며, 1보다 작은 경우 손실 내는 매매전략임. 

- 매번의 매매진입시 투자원금대비 진입 계약수 결정기준. 
- 매매전략의 승율, 손익비에 따라 최고 누적 수익내기 위한 최적의 비율이 있다. 
- 최적비율보다 작으면 수익이 작아지고, 큰 경우 조기파산위험성 높아진다. 
- 투자원금 풀베팅 반복하면 반드시  파산( 계좌잔고 0 ) 한다.  
 
 


 









첫등록 : 2016년 3월 13일. 

최종수정 : 2020년 12월 31일. 


본 글 단축주소 : https://igotit.tistory.com/840






Posted by 리치굿맨

댓글을 달아 주세요

  1. 궁금해요

    안녕하세요 궁금한 점이 있어서 댓글을 남깁니다

    2013.11.01~2014.02.08
    해당 기간의 1분 5분 30분 240분의 캔들 차트를 확인하려 합니다

    확인하려는 종목은 대부분 해외선물의 통화 상품이며 종목명은 6bz13, 6cz13, 6ez13, 6bh14, 6eh14, 6ah14, 6jh14, 6ch14, 입니다


    예스트레이더 시물레이션 차트에서는 2015년12월31일 부터 캔들차트를 볼 수 있는데
    혹시 해당기간의 캔들차트를 확인할 수 있는 방법을 아신다면 답변 부탁드리며
    많이 아시는거 같아서 여쭤봅니다
    감사합니다

    2019.10.12 23:11 [ ADDR : EDIT/ DEL : REPLY ]
    • 안녕하세요~ 메타트레이더 매력에 푹빠져 수년전부터 다른 툴들은 아예 사용하지를 않다보니 기억이 가물 가물한데요.., 예스트레이더 나 시그널 메이커 모두 해당 프로그램 운용하는 증권사에 따라 제공되는 과거 데이터 제공량이 다릅니다. NH선물의 YesGlobalPro 가 과거 데이터를 제일 많이 제공해줬던 기억이 납니다. 좀더 정확한 정보는 증권사별로 예스트레이더 설치하여 비교해보는 방법이 있습니다.

      예스트레이더 제공해주는 증권사들 : https://igotit.tistory.com/836 의 중간 부분에 증권사 정리되어있습니다.

      데이터 품질도 증권사별로 차이 나는 경우 종종 있으니 주의 필요합니다.
      시그널 메이커의 경우 증권사별 시세 데이터 차이 비교 : https://igotit.tistory.com/1506

      2019.10.13 20:57 신고 [ ADDR : EDIT/ DEL ]
  2. 궁금해요

    댓글 달아주실줄은 몰랐는데 정말 감사합니다
    확인 후 정리되면 댓글 남길게요 ^^

    2019.10.15 18:47 [ ADDR : EDIT/ DEL : REPLY ]
  3. 안내해주신데로 NH 선물의 yesglabalpro 의 시뮬레이션 차트로 2013.12.01~2014.02.07기간의 1분 데이터를 확인해 보았습니다
    하지만 결과론적으로 연결선물 데이타라 그런지 제가 실제로 진입한 시간대에는 엉뚱한 가격이 존재하고 제대로 된게 없더군요

    아래 주소는 제 실거래 내역인데 대부분이 통화 선물이라 혹시 메타트레이더의 fx 차트에서 비슷하게 나올지도 모른다는 생각이 드네요
    https://postimg.cc/yWyQGRwb

    제가 메타트레이더를 설치해서 데이터를 다운받아본 경험이 없는데 혹시 이용하고 계시는 메타에서 위 기간의 1분봉 데이터를 확인할 수 있을까요?

    알고 계신 내용 친절히 답변해 주셔서
    다시한번 감사드립니다

    2019.10.15 20:58 [ ADDR : EDIT/ DEL : REPLY ]
    • 메타트레이더에서 과거 데이터 활용하는 방식은 매매챠트상에서 과거데이터를 보는것과 전략 평가하기 위한 내장 툴인 Strategy Tester 2종이 있습니다. 매매챠트상에서 과거데이터를 보는것은 오랜 과거 데이터 지원되지 않으나 Strategy Tester 에서는 고품질의 데이터를 활용하여 전략 평가 가능합니다. 2000년 부터 현재까지 1분봉 데이터도 깔끔하게 제공됩니다. Strategy Tester 에서 과거 데이터 적용예 영상을 새로 올려뒀습니다. -> https://igotit.tistory.com/1804 의 마지막 영상 보시면 감 잡으실 듯 ~

      2019.10.16 20:49 신고 [ ADDR : EDIT/ DEL ]
  4. 답변 감사드립니다 확인 후 상황 정리되면 댓글 남기겠습니다 ^^

    2019.10.18 00:06 [ ADDR : EDIT/ DEL : REPLY ]
  5. 안내해주신 정보로 메타5 fxcm 다운 - 데모계좌 접속 - 데이터 저장 - strategy tester 로드해서
    아래 실거래 기록 최하단 첫번째 거래기록을 확인해보았으나
    https://postimg.cc/yWyQGRwb

    6BZ13 / 2013.12.04 16:04:09에 1.6386 이라는 가격 자체가 없어서 반포기 상태입니다 ^^:

    실제 거래기록인 6BZ13 의 선물 데이터를 구하고 어떤 툴인지는 모르겠지만 해당 툴안에 연결선물이 아닌 실 데이터를 넣어서
    돌려볼 수 있지 않는한 더 이상 진행이 안될것 같군요
    하하 그래도 답변해주셔서 너무 감사합니다
    복 많이 받으세요 ~




    2019.10.18 01:43 [ ADDR : EDIT/ DEL : REPLY ]
  6. 비밀댓글입니다

    2019.10.18 01:44 [ ADDR : EDIT/ DEL : REPLY ]
  7. 이화영

    국내거래소 통화선물 자동주문 가능한 API 가 있을까요. 감사합니다.

    2020.01.30 21:10 [ ADDR : EDIT/ DEL : REPLY ]
    • 한국거래소(KRX)에도 통화선물 상품이 있었군요... KRX 통화선물쪽은 저 개인적인 경험이 전혀 없다보니 명확한 가이드는 어렵지만 통상적인 아래 절차에 따라 직접 조사해보셔야 합니다.
      1. KRX 통화선물들을 한국 증권사들 에서 거래 중개 여부.
      2. 상기1결과 거래 중개하고 있다면 해당 증권사에서 배포하는 통화선물 거래가능한 API 배포여부.

      관련.
      한국거래소 통화선물경험은 없지만 시카고 선물 거래소(CME. 상세 : https://igotit.tistory.com/838 )의 선물들(한국에서 흔히 해외선물이라고 부르는 류들)이 한국 증권사거쳐 개인도 거래가능하고, https://igotit.tistory.com/493 에서 해외선물 지원되는 증권사들의 API 활용가능합니다.

      2020.01.30 21:49 신고 [ ADDR : EDIT/ DEL ]
  8. 비밀댓글입니다

    2020.02.02 15:15 [ ADDR : EDIT/ DEL : REPLY ]
  9. 초보코더

    안녕하세요.
    NH증권 나무도 API가 있는데 추가해주실수 있으실까요?
    C++로 만들어진 api가 너무 어려운데 제 실력으로는 방법이 없어서요,,, 혹시 C#에서 dll 을 읽어서 로그인하고 매매하는게 가능할까요?
    가능하다면 예시 페이지 추가 부탁드립니다. ㅠㅜ

    2020.05.28 21:49 [ ADDR : EDIT/ DEL : REPLY ]
  10. 안녕하세요?

    안녕하십니까? 시그널 메이커를 이용중인데요.

    해외선물을 할 적에는, 포지션 보유 50개 제한이

    부족하지 않았는데,


    가상화폐 거래를 하니,

    포지션 50개 제한에 불편함을 느끼고 있습니다...


    그래서 쉽지 않은 길일지라도,

    직접 api를 개발해보려합니다.


    하지만 그 길이 있기는 한 것인지를 알아야 할 것 같습니다...


    api를 직접 개발하면, 포지션 50개 제한이 없는지요??

    상용프로그램 회사가, 서버 부담을 줄이려고 50개 제한을 건 것인지,

    아니면, 거래소 차원에서 50개로 제한을 건 것인지가 궁금합니다...

    2020.07.23 17:53 [ ADDR : EDIT/ DEL : REPLY ]
  11. 안녕하세요?

    직접 api 로 개발하고 싶은데

    비쥬얼 스튜디오로 컴파일하면

    컴파일 하는 도중에 매매가 이루어지는 건가요?

    2020.08.12 20:36 [ ADDR : EDIT/ DEL : REPLY ]
    • C++ 에서 컴파일이란 실행파일(확장자 exe)을 만들어내는 과정이므로 프로그램이 실행상태가 아닙니다. 컴파일 완료된 실행파일을 실행시켜준 이후 부터 매매도 가능해집니다.

      2020.08.15 12:34 신고 [ ADDR : EDIT/ DEL ]
  12. 안녕하세요?

    암호화폐 자동매매 구현하려면 winapi도 다룰줄 알아야 하나요? 아님 c++만 파면 되는 건가요??

    2020.08.16 12:10 [ ADDR : EDIT/ DEL : REPLY ]
    • 암호화폐 자동매매 구현한다함은 암호화폐 거래소에서 공개적으로 오픈해준 API 를 활용하여 본인 프로그램에서 코딩하여 거래소 서버와 통신하는 코드 구현 작업 하는 것입니다.

      1. 암호화폐 거래소에서 제공하는 API 기본 정보 : https://igotit.tistory.com/2245
      설명 : API 의 형식은 REST 와 WebSocket 으로 제공되므로 개발툴에서 REST API 와 WebSocket 핸들링 가능하게 코딩할 수 있어야 합니다.

      2. 상기1의 API 중 WebSocket 이용하여 파이썬에서 실시간 시세 수신 코딩예.
      https://igotit.tistory.com/2490


      위 2개 정보를 살펴보면 API 이용하여 본인 프로그램 작업의 첫 시작점을 파악할 수 있습니다.

      언어 선택문제.
      1. 파이썬이 REST나 WebSocket 다루기 편하기 때문에 첫 프로토 개발시에는 파이썬으로 시험해보는게 가장 쉽습니다.

      2. Visual C++ 에서도 REST , WebSocket 핸들링 하는 코드 구현 가능하긴 하나 난이도가 파이썬대비 훨씬 높기 때문에 이미 Visual C++ 전문가 수준인 경우에는 크게 문제 없지만 입문자인 경우엔 API 활용 구현 외에도 해결하고 학습해야할 내용이 많아져서 작업량이 매우 방대해 집니다.

      2020.08.17 13:32 신고 [ ADDR : EDIT/ DEL ]
  13. 비밀댓글입니다

    2020.11.07 08:50 [ ADDR : EDIT/ DEL : REPLY ]
    • 넵 반갑습니다. ~~~ 코스닥 주식 대상으로 시스템 구축 중이시군요. 유일하게 제가 시스템 구축 경험 없는 영역이 주식 쪽이어요. ^^

      주식은 손매매 경험만 있는데... 코스닥 주식 매수하고 묵혀 둘려했는데 금감원에서 우편물이 하나 오더군요.. 해당 주식 상폐되었다고.. 이후 다신 주식 안보는 중. ㅎㅎ

      전 코스피 선물, 옵션 먼저 시스템 구축하다가 이후 해외선물, 요즘은 암호화폐와 FX 에 집중 중인데.. 코딩 입장에서는 주식만큼 종목수가 많지 않고, 암호화폐나 FX 나 둘다 통화 종목이다 보니 일관성 있는 통계적 유의성이 있는것 같아서 심플해서 좋은면이 있어요.

      대상이 뭐든 한땀 한땀 성취해 나가는 쾌감은 큰것 같아요~

      2020.11.10 02:08 신고 [ ADDR : EDIT/ DEL ]
  14. 비밀댓글입니다

    2021.01.22 17:30 [ ADDR : EDIT/ DEL : REPLY ]
    • 반갑습니다. ~ 제가 비밀댓글로하면 댓글 단 분도 못읽게 되더라고요.. 공개댓글로 남깁니다.

      1.
      예. 저도 예트나 스팟 경험 및 여타 모든 경험결과 비교해보면 압도적으로 메타트레이더의 ea 가 최고였습니다. 개발자로 하여금 지속가능하면서도 내가 투자한 시간의 가치가 누적되는 최상의 선택이었습니다.

      2.

      이 문제로 의외로 심각하게 고민하는 분이 많더라구요. 저는 전혀 고민해 본적도 없고 현실에서 문제 생긴적 한번도 없는데 인터넷상에선 왜 이리도 공포감 조성하는 이야기들만 있는지 아직도 이해 못하고 있는 중입니다.

      해결방법 : 처음에 1개만 선택하고 그것 하나로 모든게 해결 될거라는 발상이 문제인걸로 생각 됩니다. 딱히 1개 결정이 확고하게 안되는 경우엔 우량해 보이는 3개 정도 선택하고 본인 기준에서 최소자금 (예 10만~50만원등 ) 으로 본인이 직접 경험해보는게 가장 확실한 방법으로 여겨집니다.


      3.
      전 요즘 거의 99% 암호화폐에 집중 중입니다. 현 상황에서는 암호화폐가 가치투자든 단기 단타매매든 수익 취하기 가장 좋은 대상입니다. 주어진 기회를 적극 활용중입니다. 2022년 1월부터 세금 거둬 가니까 정부가 암호화폐 매매하는거 방해하진 않겠죠~~ 반대로 보호하고 육성해야 세금 많이 가져 갈테니 우리 입장에서는 세금내는 대신 방해받지 않고 장기적으로 매매 가능한 대상으로되어 긍정적입니다.

      4. 해외법인은 전 싱가포르(법인세 17%)보다는 유명 휴양지 같은 곳(법인세 거의 안내는곳)을 더 선호합니다. ^^

      결언.
      넵 자동화된 시스템 트레이딩 개발 영역 쉽지 않습니다. 개발하는 그 프로그램 하나에만 올인하면 수익내기까지 장시간 걸릴 수 있기 때문에 더 힘든 과정입니다. 덜 지치면서 진행하려면 본인의 손매매 방식 중 성공적인것이 있는 경우 병행하면서 시스템 개발 진행하심을 추천드립니다. 또한 다른 전문가의 신호 카피트레이딩을 걸어두고 꾸준한 수익 취하는 것을 실전 관찰하면서 그들이 어떻게 수익내는지 보면 나의 전략 개발에도 큰 도움됩니다.

      위 방식으로 나의 자산 증가가 제법 안정적일 경우엔 내가 직접 개발하는 시스템 개발은 취미생활처럼 즐거움을 주는 행복한 코딩이 가능해 집니다.

      2021.01.23 02:23 신고 [ ADDR : EDIT/ DEL ]
  15. 산수려

    선생님 안녕하세요 선생님 글을 보고 시스템 트레이딩에 입문했는데 많은 좋은 글들을 써주셔서 감사합니다.
    지금 매매기법 두 가지를 적용해서 돌려보았는데요.
    1. tpi: 1.168 / 켈리지수: 0.71 / 승률 90-95% / 수익률 14.4% / 하루 매매 횟수 2.25회
    2. tpi: 1.124 / 켈리지수: 0.452 / 승률 85-88% / 수익률 20% / 하루 매매 횟수 4.5회

    시드는 500만원 정도 있고 자기자본%로 하게되면 손실이 나서 고정 액수로 하는 중입니다.
    이 두 가지 중에 어느쪽을 집중해야할지 잘 모르겠어서 질문 드립니다.

    2021.01.23 10:43 [ ADDR : EDIT/ DEL : REPLY ]
    • 넵 반갑습니다.

      1번이 더 안전하고 실전 매매시 불안감이 훨씬 작을 것입니다. 특히 켈리 비율이 1번이 2번보다 더 큰값을 보이므로 동일자금 투입시 파산당할 위험성이 더 작아서 안전한 전략입니다.

      캘리 지수 0.7 의 의미는 매번의 매매시 투자원금의 70% 초과한 금액으로 계속 반복하는 경우 결국 파산당한다는 의미이므로 실전에서는 이보다 작은 (예 절반이나 1/3 ) 금액을 기본 진입액수로 해야합니다.

      투입되지 않은 나머지 자금은 위험구간시 살려내는 용도로 활용되어야 합니다.

      추가.
      2개의 수익률 그래프 비교하여 손실구간이 1번이 더 작다면 무조건 1번 전략이 뛰어납니다.
      2번 전략에도 미련이 남는다면 1번 전략 먼저 운용하여 발생한 수익으로 추후 2번 전략 병행해봐도 좋겠습니다~

      2021.01.23 10:54 신고 [ ADDR : EDIT/ DEL ]
    • 아하 둘 중에 하나만 선택하려 하고 나중에 할 생각은 못했네요 ㅎㅎ
      말씀하신대로 1번을 먼저 해서 안정적으로 자금 확보한 후 2번을 좀 더 개량해서 도전해보겠습니다.
      감사합니다~!

      2021.01.23 13:15 [ ADDR : EDIT/ DEL ]
  16. 후리부야

    안녕하세요 정리된 글 매우 잘 봤습니다.

    다름이 아니라 메타트레이더5에 증권사 open api 를 연결해서 사용할수가 있나요? 대부분 OCX 방식이라 사용 가능할것 같긴 한데..

    실제로 구현이 가능한지 여쭤보고 싶습니다.

    좋은글 감사합니다.

    2021.02.03 15:11 [ ADDR : EDIT/ DEL : REPLY ]
    • 메타트레이더에서 ocx 형식을 직접 임포팅하는 수단은 제공되지 않지만 직접 제작한 VC++ DLL 은 임포팅하여 메타에서 함수호출가능합니다.
      상세 : https://igotit.tistory.com/2177

      따라서, 증권사 에서 제공하는 api 활용하여 증권사 서버와 통신하는 DLL을 만들고 동시에 DLL 을 메타에서 임포팅하는식으로 설계하면 메타측에서 DLL 함수 호출하여 증권사 api 측으로 주문등의 명령 전송은 달성됩니다.

      한편, 증권사 측에서 제공해주는 실시간 틱 데이터를 메타측으로 실시간 피딩하는 수단이 해결되어야 하는데 이게 간단하게 달성되지 못하고 메타의 OnChartEvent 이용하여 윈도우 메시지 송신하는 방법을 조합하면 달성가능합니다.

      참고
      VC++ DLL 만들기 예 : https://igotit.tistory.com/148

      MQL5 의 OnChartEvent https://igotit.tistory.com/1817

      윈도우메시지
      https://igotit.tistory.com/319

      2021.02.03 16:50 신고 [ ADDR : EDIT/ DEL ]
    • 답변 정말 감사합니다!!!

      2021.02.16 11:14 [ ADDR : EDIT/ DEL ]
  17. 그럼

    증권사로 메타트레이더가 이용 가능하고 메타에서 백테스팅도 가능한건가요?

    2021.02.17 12:17 [ ADDR : EDIT/ DEL : REPLY ]
  18. 카뱃

    안녕하세요 상당히 해박한 지식이 있으신거 같아서 문의좀 드릴개요~
    제가 메타트레이더 4 이용중인대요. 혹시 키움증권에서 사용하는 해외 외환 지표 EURUSD 같은거를
    메타4에서 볼수 있는 방법이 잇을가요?
    정보를 좀 알아보고 싶은대 방법을 모르갰내요. ㅜ
    혹은 키움에서 사용하는 지표와 유사한 메타4 브로커가 있을지 궁금하기도 하구요.

    2021.08.03 10:42 [ ADDR : EDIT/ DEL : REPLY ]
    • EURUSD 를 포함한 외환 종목들(상세 : https://igotit.tistory.com/1745 )은 모든 브로커에서 취급하므로, MT4 에서 EURUSD 실시간 가격 확인 가능합니다.



      2021.08.04 16:45 신고 [ ADDR : EDIT/ DEL ]
  19. kntla

    안녕하세요 c++/rust 같은 저수준 언어로 HFT에 관심있는 학생인데요. (아직 시스템 트레이딩 경험은 없습니다.)
    댓글을 살펴보니 요즘은 암호화폐에 대부분 투자하시는거같은데 암호화폐도 고빈도 매매가 가능한가요?
    다른 블로그 글을 보면 업비트 같은경우 자동트레이딩 코드를 짜도 통신이 잘 안된다는 글을 본적이 있어서요.
    또 API같은 경우 1초에 요청 제한이 있을 수도 있잖아요?

    이런 점에서 암호화폐 고빈도매매 시스템 트레이딩은 어떠한지 조언좀 듣고 싶습니다.
    괜찮다면 추천하시는 암호화폐 거래소와 고빈도매매 관련 기초 강의/책에 대한 정보를 좀 얻을 수 있을까요?

    2021.10.02 01:35 [ ADDR : EDIT/ DEL : REPLY ]
    • API 의 요청 빈도 제한 관련

      업비트의 경우 주문요청에서 초당 8회, 분당 200회 라는 제한이 있습니다.

      바이비트의 경우 post (주문요청도 post 에 포함) 로 가능한 가장 고빈도 요청은 초당 50회 요청 연속적으로 5초
      까지 가능. 즉, 5초동안 총 250회 요청가능. 단, 허용된 최고속도 로 요청후 다음 고속 요청할려면 1분은 기다려야 가능.

      압도적으로 바이비트가 고속 요청이 가능합니다.


      속도 문제외에도 업비트의 경우 실시간 정보 제공되는 websocket 으로는 시세(시장의 실시간 체결틱, 실시간 호가틱) 정보만 제공되고 내가 주문낸것의 체결 정보는 websocket 으로 제공되지 않기 때문에 내 주문 상태를 수시로 rest 방식으로 확인해야 하므로 필연적으로 수 초 단위의 느린대응 방식의 매매 시스템 이 만들어집니다.

      한편, 바이빗의 경우엔 내 주문의 변경, 포지션 변경도 실시간 websocket 서비스 제공되기 때문에 나의 코드에서 느릴 수 밖에 없는 rest 요청하지 않아도 가장 빠르게 내 주문 상태를 실시간 확보 하면서 매매 진행가능합니다.


      api 에서 거래소 와 고속으로 통신하면서 매매해야 하는 경우엔 바이빗이 당연 유리합니다.

      암호화폐에서의 고빈도 매매

      - 고빈도 매매의 정의를 어떻게 하냐에 따라 다를텐데요... 통상적으로 고빈도 매매가 이뤄졌던 방식은 시세를 더 빨리 알아내고 느린 시세로 거래되는 거래기관에서 거래하는 방식입니다. 즉, latency arbitrage입니다. 이 시간차이가 매우 짧다보니 필연적으로 고빈도 매매가 되었구요..
      - latency arbitrage 가 가능할려면 시세결정되는 곳이 단일 거래소가 아니여야 가능한데, 암호화폐는 거래소가 여럿이니 고려해볼 가능성은 있다고 할 수 있겠습니다.

      한편, 고빈도매매 가 상기 latency arbitrage 외에 다른 수익 모델 기반 고빈도 매매라면 대상 거래종목의 변동이 고빈도 변동성이 있어야 할텐데.. 현재까지의 코인들의 변동성 특성을 보면 변동의 진폭은 충분히 크나 변동성 변화의 빈도는 좀 지루합니다. 예를들어 나스닥 CME 선물을 보면 미장 개시 직후 수분간 지속되는 가격변화의 미친듯한 상, 하 반전 움직임을 코인 에서는 한번도 못봤습니다. 변화진폭은 충분히 크나 변화의 빈도는 느린 편입니다. 아마 24시간 연속 거래대상이어서 그런듯 합니다. 특별한 악재, 호재가 나온경우에도 단순하게 일방향 주욱 ~ 한참 움직이는 단순무식과격한 특성을 보입니다. 한편, 코인들의 단순무식한 가격 움직임 특성도 점점 지저분하게 노이지 해지고 있습니다. 이는 거래 참여자가 과거와 달리 훨씬 다양하고 서로 상반된 이해관계를 가진자들이 진입했다는의미로 받아들이고 있습니다.

      고빈도 매매 관련 정보.
      - 검색어 High Frequency Trading, latency arbitrage 등으로 유튜브 구글 검색하여 정리 취합만 해도 실전에서 활용가능한 기초지식은 확보됩니다.

      2021.10.02 03:31 신고 [ ADDR : EDIT/ DEL ]
    • 상세한 답변 감사합니다. latency arbitrage에 대해 말해주셔서 궁금한게 하나 더 있는데요.
      말씀을 들어보면 latency arbitrage를 이용하려면 여러 거래소에 가입을 해놓은 후에 각 거래소에 코인 시세 차이가 있는 경우 돈을 버는 방식 같은데

      예를 들어서 바이낸스와 바이빗의 시세 차이가 나는 코인을 발견해서 바이낸스에서 사고 바이빗에서 팔려고해도
      코인 특성상 바이낸스에서 바이빗으로 코인을 보낼때 체결되는 시간이 짧지가 않기 때문에(내 transaction이 새로 생성되는 block에 포함되기까지 시간이 걸리므로) arbitrage라고 보기에는 좀 도박적인 요소가 존재하지 않나요?

      제가 말한것과는 다른 방식인가요?

      그리고 초당50회정도면 그냥 파이썬으로 해도 충분한가요?

      2021.10.02 11:57 [ ADDR : EDIT/ DEL ]
    • latency arbitrage 와 거래소간 차익거래는 다른 개념입니다.

      거래소간 차익거래는 더싼 거래소의 것을 buy하고 더 비싼 거래소에서 sell 하는 식으로 2개의 거래소에서 모두 거래가 요구되는 방식.

      latency arbitrage 에서는 시세에 느리게 반응하는 거래소가 있는 경우 나의 매매로직에서 선행하는 시세를 실시간 빠르게 확보하면서 느리게 반응하는 거래소에서 사고 팔고를 반복하게 됩니다.


      파이썬 처리속도 건.

      -네 초당 50회 정도의 요청 및 처리 수준에서는 파이썬으로도 무난합니다.
      - 파이썬으로 구축한 프로그램이 수익내지 못하는 이유가 처리응답속도가 느려서 발생함이 확실한 경우 로레벨 C++ 등을 이용하여 고속응답성 가진 코드 구현함이 유리합니다.

      2021.10.02 16:15 신고 [ ADDR : EDIT/ DEL ]
    • kntl

      그럼 암호화폐 트레이딩에서 로우레벨 언어를 이용한 고빈도 트레이딩을 할 일이 있나요?
      거래소마다 최대 50회정도의 제한이 있는거면 암호화폐 트레이딩에서는 쓸일이 없어보여서요

      2021.10.02 21:10 [ ADDR : EDIT/ DEL ]
    • 초당 50회, 초당 8회 제한이 의미하는 바가 매번의 요청 간격이 1/50 초, 1/8 초 이상이어야 함을 의미하는게 아니라 1초 이내 50회 이므로 50요청을 0.1 초 이내에 몰아서 요청해도 됩니다.
      즉 거래소에서 초과요청 검출방식이 초당 카운팅이므로 초 이내에서 몰아치기 고속 전송은 제한에 걸리지 않기때문에 최고속도를 활용하는것이 유리한 매매전략인 경우에는 고속처리 가능한 언어 기반 구현이 더유리합니다.

      기타.
      한편,... 고빈도매매에서 언어외에도 거래전략이 실행되는 PC 와 거래소 서버간의 느린 네트워크 통신속도 문제도 악영향이기 때문에 통상 거래소 서버 근처의 클라우드 서버 마련하고 운영하게 됩니다.
      ping 으로 측정되는 지연시간이 수밀리초 이내면 고빈도매매 운용에 적합니다.

      2021.10.02 21:51 신고 [ ADDR : EDIT/ DEL ]
    • kntl

      이해되었습니다. 감사합니다.

      2021.10.02 22:22 [ ADDR : EDIT/ DEL ]
    • kntl

      그런데 리치굿맨님은 현업에서 시스템 트레이딩을 하시는 분인가요?
      취업을 시스템 트레이딩쪽으로 공부해서 하고싶은데 채용공고 자체도 거의 없고
      있더라도 신입채용을 하는 곳은 거의 보질 못했는데
      현실적으로 신입이 시스템 트레이딩쪽 취업은 어려워서 우선 다른쪽에서 개발 경력을 쌓고 이직하는 것이 나은지
      아님 좀 방법이 있는지 조언을 구하고 싶습니다.

      2021.10.02 23:07 [ ADDR : EDIT/ DEL ]
    • 저 개인적인 현업은 1종만 있지 않습니다.
      시스템트레이딩영역은 애착과 중요도 높은 개인적 활동이면서 동시에 비중높은 현업이라고 생각 중입니다.

      한국의 경우, 시스템 트레이딩 영역 뿐만 아니라, 금융 관련 전반 심각한 수준으로 금지성 규제,통제가 많습니다. 이는 규제를 만들어낸 정치집단만의 문제도 아닌 것이 많은 국민의 정서에 조선시대 악습 사농공상 마인드가 남아있고, 그 결과 제도까지 이 모양인 걸로 판단하고 있으며, 이런 추세가 개선될 여지는 없어 보입니다. 오히려 점점 더 악화되고 있습니다.

      한국에서 금융트레이딩 분야의 업체 설립하고 운용하기에는 지저분한 규제들 대응해야하는 소모성 일들이 많아 굳이 한국내에 업체 만드느니 남의돈 받지 않고 자기자본만으로 개인적으로 운영하는게 더 효율적이라고 판단중입니다.

      금융트레이딩 분야의 대형 업체 취직이 중요한 경우, 미국의 대형 금융트레이딩업체에 취직하는게 좋습니다. 본 포스팅에서 소개된 제임스사이먼스, 데이비드 쇼 등이 설립한 헤지펀드등을 비롯하여 많은 전문트레이딩 업체들이 있습니다. 그나마 금융분야에서는 미국은 사농공상 과는 완전히 반대의 가치인 공과 상 도 존중하는 문화다보니, 업체들도 큰 업체가 많고 직원에 대한 대우도 압도적으로 훌륭합니다. 대우가 훌륭한 만큼 일반레벨의 학부 졸업만으로는 부족하고 석박사 이상 기타 본인의 실력이 증명되어야 합니다.

      2021.10.03 16:30 신고 [ ADDR : EDIT/ DEL ]