본문 바로가기

Algorithmic Trading

(8)
부동소수점 수, 정밀도 이야기 C/C++ 에서 제공하는 float, double 변수는 IEEE754 형식의 single / double precision 에 맞춘 변수일뿐이고, 실제로 소수점 연산의 정밀도는 보장하지 않습니다. =========================================================================== // Floating-point_number_precision.c // Compile options needed: none. Value of c is printed with a decimal // point precision of 10 and 6 (printf rounded value by default) to // show the difference #include #def..
증권사 API 자동매매 #006 - 전략을 만드는 아이디어 [이전 글] 2021/01/31 - [Algorithmic Trading] - 증권사 API 자동매매 #005 - 전략은 어떻게 만들죠? [그리고 계속] 주식시장에 참여하는 사람들은 각기 다른 목적을 갖고 있습니다. 1년동안만 여유자금을 굴리고 싶은 사람 대략 3년 안에는 여유자금을 굴리다가 회수해야 하는 사람 평생 주식만 할 것처럼 많은 돈을 넣을 수 있는 사람 등등 자동매매 프로그램도 마찬가지로 목적에 맞게 설계해야 하는데요. 본인이 자동매매 프로그램으로 얻고자 하는 것이 무엇인지 먼저 파악해야 합니다. 물론 투자나 매매 아이디어를 얻기 위한 차원으로 자동매매 프로그램을 돌려볼 수도 있겠습니다. 제 경우죠.. 네. 그럼 저는 아무 거나 다 해보는 사람이니까, 가장 간단한 전략부터 구현을 해 볼까요? ..
증권사 API 자동매매 #005 - 전략은 어떻게 만들죠? [이전 글]2021/01/26 - [Algorithmic Trading] - 증권사 API 자동매매 #004 - 기본에서 출발해봅시다.[그리고 계속] 이제 본격적으로 전략을 만들어야 할 단계입니다.여러분들은 어떻게 전략을 만드십니까?그리고 그건 또 어떻게 프로그래밍을 해서, 프로그램이 알아듣게 만들죠? 우리는 어쨌든 인터넷 환경, API 를 사용해서 개발하는 것이 주제니까요.도식화하면 위와 같습니다. State Transition Diagram 이라는 개념을 사용합니다.저렇게 개념도를 그리고 나면,각 상태에 따라 프로그램이 어떤 행동을 해야 할지좀 더 명확해지게 됩니다. 따라서, 머릿속의 모든 전략은 저렇게 State Transition Diagram 을 통해 만드시면 됩니다. 어? 그런데, 왜 도대체 ..
증권사 API 자동매매 #004 - 기본에서 출발해봅시다. [이전 글] 2021/01/23 - [Algorithmic Trading] - 증권사 API 자동매매 #003 - 시세(틱 데이터 tick data) 집착 [그리고 계속] 이전에 쓴 글처럼 과거 시세 데이터에 집착할 필요는 없지만, 실제로 자동매매 프로그램의 테스트 단계부터는 시세 데이터가 의미는 있습니다. 실제로 어떤 시세에 어떻게 반응을 한 건지, 자동매매 프로그램이 사전에 알려준 전략대로 적절하게 대응을 하긴 한 건지 알아야 하기 때문이고, 예외적인 상황들이 발생하는 경우에도 해당 시각에 수신한 시세 데이터를 알아야 향후 위험관리 차원에서 어떻게 대처를 할 것인지 결정할 수 있기 때문입니다. 대부분 자동매매를 좀 해본 경험이 있으신 분들은 이런 상황을 이해하시리라 생각합니다. 자동매매를 처음 접하시..
증권사 API 자동매매 #003 - 시세(틱 데이터 tick data) 집착 [이전 글] 2021/01/23 - [Algorithmic Trading] - 증권사 API 를 사용한 자동매매 프로그램 만들기 #002 [그리고 계속] 많은 분들이 자동매매를 하고 싶어 합니다. 그러면, 자동매매를 위해 필요한 것이 뭘까요? 저도 한때 거래소 시세 tick data 는 엄청나게 중요한 자산이라 생각해서 모았던 적이 있습니다. 지금도 꽤 있어요. 이왕 모은 거, 버리지는 못하죠. 분석할 데이터량이 방대해지면, 당신은 그걸 빠른 시간 안에 다 분석할 수 있으실까요? 젊음은 다 가고, 나이는 점점 들어가고, 수익은 언제 낼 건가요. 주식시장에서 수익을 내는 전략이 있긴 한 건가요? 이제부터 찾으실 건가요? 과거 시세에 답이 있을까요? 방대하게 모은 시세와 현재 주식시장의 시세는 동일한 패턴을..
증권사 API 를 사용한 자동매매 프로그램 만들기 #002 증권사 API 를 사용해서 자동매매를 돌릴 때, 갖추어야 할 가장 중요한 세 가지를 꼽자면? 1. 예외상황 처리를 위한 긴급 알람 2. 예외상황 처리를 위한 긴급 알람 3. 예외상황 처리를 위한 긴급 알람 그렇죠. 그 다음엔 뭐가 필요하죠? 4. 긴급조치를 위한 긴급명령 그렇죠. 위와 같이 텔레그램 봇을 만들어두면, 자동매매 프로그램이 잘 돌고 있는지 감시할 수 있고 긴급상황에 청산주문 등등을 실행할 수 있게 됩니다. 텔레그램 봇은 양방향 통신이 가능하기 때문입니다. 조금 더 발전시킨다면, 급등주 발굴이나 특정 조건에 맞는 종목이 튀어나올 때 텔레그램으로 알려줄 수도 있겠네요. 물론 매수하라고 텔레그램으로 응답을 하면, 매수까지 가능하면 더 좋겠죠? 게다가 손절과 추가매수 기능까지 사전에 반자동 전략을 ..
증권사 API 를 사용한 자동매매 프로그램 만들기 #001 증권사에서 제공하는 API 를 사용해서 자동매매 프로그램을 만들기 위해서는 기본적으로 인터넷 환경이 어떻게 되어 있는지 알아야 합니다. 한국거래소 - 증권사들 사이에는 전용선으로 연결되어 있지요. 어떤 증권사들은 colocation 서비스를 사용해서 아주 약간 더 빠르게 주문, 시세 수신을 할 수 있긴 하지만, 어차피 우리는 증권사 API 를 사용하려는 목적이니 크게 중요하지 않습니다. Draw.io 를 사용해서 다이어그램을 그렸더니, 시간도 빠르게 흐르고 벌써부터 진이 빠지네요. 자동매매 프로그램에서 꼭 갖추어야 할 것들은 저 위에 다이어그램에서 Trading Programs 에 해당하는 것들입니다. 천성이 게을러서 언제 다 만들지 모르겠지만, 되는대로 꾸역꾸역 한 번 써볼랍니다.
Visual Studio 2019 Community 라이선스 자격 요건 및 설치 후아, 블로그를 개설하고 첫 글을 쓰기까지 생각은 참 많이 했는데 첫 글을 쓰기가 상당히 어렵네요. 일단 무조건 시작하는 것이 중요한 일이니, 알만한 사람들은 다 아는 Visual Studio 2019 Community 버전 설치 글부터 쓰겠습니다. 예전(언제쩍?)과 다르게, 이제는 마이크로소프트에서 Community 버전 사용에 대한 자격요건을 많이 풀어줬죠. 개인이 프리랜서 작업을 하거나 기업(법인)을 세워도 실제 매출이 약 12억원, 혹은 PC 250대 이상 설치한 법인이 아니라면 상당수의 개발 기능이 포함된 Visual Studio 2019 Community 버전 라이선스를 사용할 수 있습니다. 심지어 Professional 버전과 큰 차이가 없습니다. 그래서, 일단 설치하시는 것이 좋습니다. 단..