시스템 02호2017. 11. 10. 16:30

 

 

 

 

 

Posted by 투자의神
시스템 01호2017. 11. 10. 16:00


 

 

 

Posted by 투자의神
뉴스 검색기2017. 11. 10. 10:53

 

 

전일 밤낚시를 다녀오고 오후에는 업무상 미팅이 있는등 최근의 일상이 이러하므로 작업 시간을 많이 할애할 수 없음에 양해를 당부 드립니다.

 

 

현재까지의 진행 상황을 안내 해드리고 또 의견을 청취하는것이 추후 기능 추가와 의견이 너무 분리되지 않도록 하는 등에 유리할 것으로 판단하기에 경과를 공개합니다.

 

 

 

 

▲ 뉴스 검색기 최초 실행 화면입니다.

 

▲ 이베스트투자증권 API 모듈을 이용하여 제작했기 때문에 해당 증권사 서버로의 로그인이 필요하며 이 과정에서 증권사 아이디가 없는분은 신규 회원가입이 필요합니다.

 

▲ 대부분이 독자분들께서 말씀하신 기능들이나 속도등의 부분은 모의투자 서버에 접속하더라도 이용이 가능할 것으로 판단되어 프로그램 타이틀에 별도로 기록한 것이지만 향후 경우에 따라 삭제 될 수 있습니다.

 

▲ 로그인을 하지 않은 상태이기 때문에 로그인과 종료 버튼 이외에는 모두 비활성화 상태입니다.

 

▲ 정상적인 피드백은 블로그를 통해주시고 프로그램의 중대한 결함이나 하자가 발생하거나 큰 문제가 있을시 우측 하단의 안내 메시지란에 제 개인 연락처를 별도로 둘테니 참고 하시기 바라며 블로그 등에는 가급적 오픈하지 않고 프로그램을 사용할 독자분들께만 안내될 예정입니다.

 

▲ 좌측 하단의 "로그인" 버튼을 클릭하면 아래의 창이 뜨게 됩니다.

 

 

 

▲ 증권사 아이디와 비밀번호 등을 입력하면 기본적으로 모의투자 서버에 접속할 수 있게 되어 있고 조금 더 쾌적하게 사용하고 싶은 독자분께서는 "접속서버"를 "일반서버"로 바꾸시면 됩니다.

 

▲ 로그인창 화면 하단에도 메인창과 마찬가지로 제 연락처 정보를 기입할 예정이니 프로그램 사용상 중대한 문제가 발생하는 경우라면 빠르게 연락 주셔야 조치를 취할 수 있습니다.

 

▲ 로그인을 하고 난 뒤의 화면은 아래와 같습니다.

 

 

 

 

▲ 증권사 서버에 로그인을 하고 나면 모든 버튼들이 활성화 됩니다. (로그인 버튼만 비활성화 처리)

 

▲ 각자 컴퓨터에 키워드 정보를 입력하기 보다는 사용하는 모든 분들의 키워드를 (혹은 사용자별로 분리도 가능) 등록하여 공용으로 사용할 생각도 가지고 있는데 이 부분은 키워드에 주인은 없다지만 혹시 생각치 못한 일이 벌어질지 알 수 없으므로 각자의 견해를 알려주시기 바랍니다.

(만약 각자 사용자 컴퓨터에 저장하지 않고 모든 사용자가 공유하는 형태라면 제 서버 공간 일부를 할애해서 처리 예정입니다.)

 

▲ 모든 뉴스를 수신, 키워드에 등록된 뉴스만 수신, 키워드에 등록된 뉴스만 제거 등의 체크 박스가 있으므로 선택적으로 뉴스 수신이 가능할 예정입니다.

 

 

이외 고려중인 부분으로는

등록된 키워드의 검색 범위를 제목, 내용, 제목+내용 중 선택할 수 있는 기능이 필요할까 아닐까 고민하고 있어서 확정짓지 못하였으니 의견 주시기 바랍니다.

 

 

필자는 디자인쪽은 문외한이기에 프로그램에 멋스러운 디자인을 입힐 계획은 없음을 알려 드립니다.

 

 

프로그램 우측에 뉴스에 해당하는 종목들의 현재가, 등락율, 가격 등의 정보를 출력하는 부분을 요청하신분이 계신데 지금까지 단 한분만 요청한 기능이라 구현을 할지 말지 고민중이니 의견 주시기 바랍니다.

(이 부분은 기능 구현에 어려움은 전혀 없습니다.)

 

 

앞으로 약 열흘간 개인 일정으로 블로그 포스팅 및 여러 Comment 들에 대한 피드백 속도가 늦어질 수 있는점 감안하여 주시고 다양한 의견을 모아 공통적으로 필요로 하는 기능들의 구현에 중점을 두는게 맞다고 생각하고 또한 피자와 일대일로만 소통하면 다른분들의 의견과 다소 차이가 있을 수 있어 배가 산이 가는 사태를 막고자 의견을 남겨 주실 때 비밀글이 아닌 공개글로 남겨주세요.

 

 

Posted by 투자의神
뉴스 검색기2017. 11. 10. 10:36

 

 

우선 프로그램의 명칭이 "뉴스 필터링"에서 "뉴스 검색기"로 변경되었음을 알려 드립니다.

 

 

뉴스 검색기를 찾는분이 많아짐에 따라 별도의 카테고리를 신설하였습니다.

 

 

앞으로 뉴스 검색기와 관련된 모든 내용은 본 카테고리에 등재될 예정이며 독자분들께서도 관련 Comment는 본 카테고리의 해당 게시물을 Comment 작성란을 이용해주세요.

 

 

 

Posted by 투자의神
아이디어, 알고리즘2017. 11. 9. 00:30

 

 

독자분들이 현재 하고 계신 행위는 투자가 맞습니까? 혹은 투기입니까?

 

 

투자를 빙자해 매일같이 부지런히 시장에 나와 세력들과 고수들, 선수들에게 용돈주고 계십니까?

 

 

아니면 꾸준히 수익을 얻고 계십니까?

 

 

필자의 시장 경험은 17년 가량 되고 현재는 매일같이 빈자루만 들고 시장에 가서 가만히 서 있으면 누군가가 와서 자꾸 돈을 넣어줍니다.

 

 

물론 하루도 빠짐없이 매일은 아니며 과거에는 독자분들과 같은 고난과 역경의 시기가 있었지만 적어도 현재는 어지간한 직장인들 연봉을 한달 평균 수익으로써 꾸준한 수익을 얻고 있습니다.

 

 

독자분들께서 돈을 벌기 위한다면 투기가 아니라 투자를 하셔야 하며 아무렇게나 감대로 촉대로 마구 하셔서는 안되고 이를 위해서는 반드시 확인해야 될 것이 있습니다.

 

 

만약 제주도의 땅값이 중국발 관광 산업의 성장 이슈로 천정부지로 치솟고 있는데 전라도 변두리의 땅을 사시겠습니까?

강원도의 땅값이 평창 올림픽 수요 증가 이슈로 상승중인데 지리산 자락의 땅을 사겠습니까?

 

 

가격이 상승하는 것은 언젠가 주춤해지게 되더라도 당분간은 이유가 있기 때문에 오르는 것입니다.

 

 

주식도 이와 비슷합니다.

(원론적으로 부동산의 가치 하락은 요원하나 주식은 하락이 가능하다는 점은 배제하고 단순 비유적으로 설명합니다.)

 

 

100만원도 비싸다, 200만원도 비싸다 하던 삼성전자 주가가 본 글을 적고 있는 현재 기준으로 284.2만원입니다.

이슈는 모바일 시장의 규모가 확대되고 반도체를 필요로 하는 산업이 증가하였고 또한 치킨게임의 종식으로 인해 시장 점유율 증가하며 주주 배당 규모의 확대 등이 골자인데 수년째 계속 상승세를 이어가고 있고 여기에서 꺾일지 얼마나 더 갈지 알 수 없으나 산업을 선도하고 시장을 선도하는 종목임에는 틀림이 없고 무엇보다 나날이 삼성전자로 모여드는 자금의 규모가 늘고 있다는 점입니다.

 

 

많은 하락세를 보여온 종목의 주가가 턴 어라운드하여 장기 상승 할 가능성도 있지만 잠재되어 있는 가치를 시장과 투자자들로부터 인정받기까지 얼만큼의 시간이 소요될지 알 수 없기 때문에 개인적으로 선호하지 않습니다.

 

 

시장의 자금은 언제나 좋은 주식을 찾아 다니기에 시장지수가 하락하더라도 상승하는 섹터는 있기 마련입니다.

 

 

시장의 자금이 현재 어디에 몰려가고 있으며 어떤 업종이 인기가 있는지 안다면 수익 내는것이 어렵지 않습니다.

 

 

누군가는 그럽니다.

 

 

테마주 쫓아 다니다가 거덜 났다고요.

 

 

그런데 필자는 과거에 테마주를 쫓아 다니며 사냥 본능을 발산하던 시기에 제법 큰 돈을 벌었습니다.

 

 

테마중에서도 가장 자금이 몰리는 테마로, 또 그 테마 내에서도 가장 자금이 몰리는 종목을 거래 한다면 손실 볼 이유가 없고 또 혹여 실수로 손실을 보더라도 크지 않은선에서 방어 해낼 수 있습니다.

 

 

꼴뚜기가 뛴다고 망둥어도 같이 뛰려고 하면 수익낼 수 없습니다.

 

 

그게 바로 투기입니다.

 

 

잘못된 방법으로 투기를 해놓고 테마를 탓하거나 세력을 탓하고 시장을 탓하는것은 성장할 수 있는 사람의 자세로써 옳지 않습니다.

 

 

투자는, 꼴뚜기만 선별해서 잡는것입니다.

 

 

독자 여러분의 계좌에는 꼴뚜기가 들어 있습니까? 망둥어 일색입니까?

 

 

호가창에서 뵙겠습니다.

 

 

Posted by 투자의神
아이디어, 알고리즘2017. 11. 5. 11:32

 

 

미래학자인 Ray Kurzweil은 인류와 문명 그리고 산업 전반에 걸쳐 갈수록 발전의 속도가 높아지는 Law of Accelerating Returns에 대해 얘기 했습니다.

 

 

인간은 발달된 문명을 보존함과 동시에 지속 발전할 수 있는 능력이 강하기 때문입니다.

 

 

발전할 수 있는 능력이 강한것은 더욱 진화된 상태이기도 합니다.

 

 

2천년전의 사람들이 찾아낸 수학의 법칙과 정의 그리고 풀어낸 수학 문제를 보고 있노라면 깜짝 놀랄법도 하지만 발전이라는 것은 단순히 수학문제를 잘 푼다고 가능한것이 아니라 수학, 과학, 물리학, 화학 등의 여러 분야가 골고루 발전하고 또 그것이 유기적으로 잘 결합되어야만 가능하기에 오래전 시대를 살았던 사람들이 일부분에 특화되어 더 지식이 많거나 똑똑 했던 경우가 있더라도 발전된 사회를 살아갈 수 없는 이유입니다.

 

 

물론 과거를 살던 사람들이 무언가를 계속 연구하고 발전 시켜왔기 때문에 그 후대의 사람들이 바통을 이어받아 진화시킬 수 있던점도 있습니다.

 

 

필자가 여기에서 얘기 하고자 하는 것은 시간이 가면 갈수록 발전의 속도에 가속도가 붙어 점점 더 빨라지게 된다는 것인데요.

 

 

왜 이런 이야기를 하느냐하면,

현재에 머무르고 있기만 한다면 HTS나 MTS를 통한 수동 매매는 갈수록 승산이 줄어들 수 밖에 없다고 생각하기 때문입니다.

 

 

2016년 AlphaGo(Lee Version)와 이세돌 9단에 의해 펼쳐진 세기의 바둑 대결은 인간과 인공지능이 바둑판을 앞에 두고 대결하는 모습을 봤습니다.

이때 사용된 알파고를 두고 후에 AlphaGo Lee Version 이라고 부르는데요.

 

 

이세돌 9단이 최선을 다해 싸웠지만 결국 AlphaGo 앞에 무릎을 꿇을 수 밖에 없었습니다.

 

 

최종 스코어는 4승 1패로 AlphaGo의 압승이라고 표현되기도 했고 각종 매체에서는 로봇을 이긴 마지막 인간으로 표현하기도 했으며 다가올 가까운 미래에는 인간이 로봇에 의해 지배 당하게 될 것이라는 표현까지 등장했습니다.

 

 

이후 불과 몇달도 채 경과하지 않은 시점에서 엄청난 성능으로 무장한 AlphaGo Zero Version이 등장했고 구글 딥마인드에서 자체적으로 AlphaGo Zero  VS  AlphaGo Lee 대결을 치뤘는데요.

 

 

결과는 100대 0으로 AlphaGo Zero의 압승이었습니다.

 

 

AlphaGo Lee가 만들어지기까지 수 많은 시간이 소요되었지만 이를 이긴 AlphaGo Zero는 그리 오랜 시간이 걸리지 않았습니다.

 

 

10년전에도 손매매로, 현재도 손매매로, 10년후에도 손매매로?

 

 

갈수록 점점 승산이 없는 게임이라고 생각합니다.

 

 

필자가 알고리즘 자동매매 시스템에 집중할 수 밖에 없는 이유이자 동기부여이며 생존을 위한 선택입니다.

 

 

지금 열심히 노력해서 삼각 피라미드 구조의 먹이사슬 상층부에 오르지 못하면 다시는 오를 수 있는 기회가 없을테니 말입니다.

 

 

최근 1~2년 사이 "로봇 어드바이저"라는 서비스를 각 증권사마다 개발하고 있고 중국, 미국, 영국, 일본 등 전세계 각지에서 인공지능(AI) 자동매매 시스템을 개발에 박차를 가하고 있기 때문에 머지않아 시장의 여러 흐름들이 과거와 제법 많이 달라져 있을것으로 생각됩니다.

 

 

게중에는 시장 평균 수익률 대비 성과가 아주 떨어지는 인공지능 모델도 있겠지만 포기하지 않고 끊임없이 발전에 발전을 거듭한다면 성과는 확연히 개선될 수 있을것입니다.

 

 

실제 국제 연구진이 개발한 인공지능 모델의 경우에 과거 23년간의 데이터에 시뮬레이션을 해보니 연간 수익률이 73%에 이릅니다.

 

 

실제 주식투자 대회에서 약 2~3개월동안 수백%의 수익을 내는 사람들이 있기도 하고 또 아무리 손매매라 하더라도 개인의 경우에는 가능할 수 있는 수치이지만 큰 집단이나 기관급에서는 시장 평균 수익률(약 9%)이 평가 기준일 정도로 낮은 정도의 기대 수익을 8배나 초과하는 수익을 인공지능을 통해 거둘 수 있다는것입니다.

 

 

인공지능 알고리즘 자동매매 시스템을 이해하고 개발하는 것을 더 이상 늦춰서는 이 분야에 대해서 만큼은 개인 투자자들에게 암울한 미래만을 보여줄지도 모르겠습니다.

 

 

필자는 이미 인공지능 알고리즘 자동매매를 하고 있으니 한편으로는 다행이긴 합니다만 열심히 연구하고 업그레이드 하지 않으면 안되겠지요.

 

Posted by 투자의神
증권사 API2017. 10. 31. 12:17

 

 

이전 글에서 이베스트투자증권의 DevCenter를 통하면 API를 통해 어떤 정보들을 수신할 수 있는지와 또 수신한 데이터를 활용할 수 있는 방법에 대해 알려드렸습니다.

 

 

그런데 혹자는 "나는 단타 안해", "나는 차트등을 분석하는 기술적 분석이 아니라 기업의 내재 가치를 분석하는 기본적 분석을 할거야"라고 하는분들도 계실겁니다.

 

 

API를 통해 데이터의 수집과 분석 그리고 매매에 이르기까지 빠르게 처리할 수 있는 장점이 있다고 말씀 해드렸었는데요.

 

 

이는 단기 매매자에게만 적용하는것이 아닙니다.

 

 

우리가 추구해야 할 방향점은,

쉽고 편하고 빠르게 데이터의 수집과 분석 그리고 매매를 가능하게 하고 무엇보다 자동화 한다는게 중요합니다.

 

 

눈으로 일일이 데이터를 조회 해보고 마우스를 클릭하면 얼마나 더디겠습니까?

 

 

매일 같이 혹은 매일은 아니더라도 주기적으로 기업의 내용을 마우스 클릭으로 일일이 찾아 보십니까?

 

 

그 자체만으로도 경쟁력이 떨어지는 것입니다.

 

 

HTS의 조건검색식을 통하면 보다 편리하기는 하겠지만 그래도 일일이 들여다 봐야 하는 번거로움이 없어지는 것은 아닙니다.

 

 

우선 종목의 과거 또는 현재의 주가가 어느정도의 범위에 있는지 혹은 기간내 저가 또는 고가대비 어느정도의 위치에 있는 종목을 선정할것인지를 결정하고 또 이중 기업이 부실한 경우(관리종목, 불성실공시법인,투자유의,투자경고,매매정지,정리매매)를 제외한 후 종목 압축에 들어갑니다.

 

 

그 과정을 API로 보여주기에는 무리가 있으니 DevCenter를 통해 간략히 보여드리겠습니다.

 

 

우선 DevCenter를 실행하고 TR목록에서 t1404 (관리/불성실/투자유의조회) TR을 선택합니다.

 

 

 

 

▲ t1404 TR의 구성요소(이름, 데이터타입, 데이터크기, 필드(항목)설명) 등에 대해 자세히 보여지게 됩니다.

 

 

▲ t1404InBlock (인블럭)에는 사용자가 조회를 원하는 데이터 값을 넣으면 되고, t1404Out (아웃블럭)에는 이베스트투자증권 API 서버에서 내려주는 데이터의 구성요소에 대해 보여지게 됩니다.

 

 

▲ t1404InBlock의 gubun 필드를 선택하니 우측 하단에 어떤 값을 입력해야 되는지 친절하게 안내되고 있습니다.

 

 

 

▲ t1404InBlock의 jongchk 필드를 선택 해봤습니다.

 

 

▲ 우측 하단을 보면 t1404InBlock의 jongchk 필드에는 어떤 값을 넣어야 되는지 안내되고 있습니다.

 

 

▲ t1404의 jongchk에 입력할 수 있는 값은 관리종목/불성실공시종목/투자유의종목/투자환기종목의 범위에서 선택할 수 있습니다.

 

 

▲  jongchk 아래에 있는 cts_shcode는 우선 생략하고 다음번에 다루기로 합니다.

 

 

 

 

▲ t1405 (투자경고/매매정지/정리매매조회) TR을 선택하면 위와 같이 출력됩니다.

 

 

▲ t1404와 t1405는 입력 필드중 gubun의 형식은 동일합니다.

 

 

 

 

▲ t1405의 jongchk는 투자경고/매매정지/정리매매/투자주의/투자위험/위험예고/단기과열지정/단기과열지정예고중 선택할 수 있게 되어 있습니다.

 

 

 

▲ 원하는 TR을 선택한 후 아무곳에서나 마우스 우측 버튼을 클릭(우클릭)하면 보여지는 화면인데 DevCenter 에서는 모의실행 기능을 제공하고 있습니다.

 

 

▲ 모의실행 기능은 "TR 목록"에서 선택한 경우에만 가능하고 "Real 목록"에서 선택한 경우에는 불가능합니다.

 

 

▲ TR 모의실행을 위해 값을 채워넣고 진행해볼텐데요 코스피와 코스닥 모두를 대상으로 검색하려면 0을 입력하면 되고 jongchk는 투자경고에 해당하는 1을 입력해보겠습니다.

 

 

 

 

▲ 위 이미지의 상단을 보면 gubun 은 0(전체 = 코스피+코스닥), jongchk 는 1 (투자경고) 에 해당하는 데이터를 조회하고 있음을 알 수 있습니다.

 

 

▲ 서버에서 내려준 데이터를 보면 열제목이 영어로 되어 있는데 이 부분은 아래 이미지를 보면 이해가 쉽게 될 것입니다.

 

 

▲  코스피와 코스닥 모든 종목에서 투자경고가 내려진 종목이 40개나 검색되었습니다.

 

 

 

 

▲ 빨간색 사각형 표시한 곳을 보면 위에서 조회한 데이터의 열제목이 각각 어떤 값을 가지는지 쉽게 알 수 있습니다.

 

 

▲ t1404OutBlock1 - OCCURS 라고 된 부분에서 OCCURS 는 연속 데이터가 조회 될 수 있는 항목들을 묶어둔 것입니다.

 

 

▲ t1404OutBlock1 - reason 에서는 우리가 조회한 종목들이 어떤 사유로 투자경고가 내려졌는지 상세하게 설명되어 있습니다.

 

 

 

여기까지 DevCenter 를 통해 데이터를 조회하는 방법에 대해 알아봤습니다.

 

 

생각보다 상당히 쉽게 되어 있죠?

 

 

눈에 익숙치 않은분들은 손으로 일일이 하나씩 눌러보고 설명도 읽어보면 시간이 조금 걸릴 수 있겠지만 제가 운용하고 있는 알고리즘 자동매매 시스템에서는 아주 짧은 시간내에 어떤 종목이 어떤 사유로 투자경고 등의 주의가 발동되었는지 조회할 수 있습니다.

 

 

기본적 분석을 통해 또는 기업의 내재 가치를 분석해서 내실은 탄탄하지만 아직까지 주가에 반영되지 않아 향후 추가 상승의 가능성이 높은 종목을 찾기 위해 일부 종목들을 소거하였고 나머지 종목들에 대해서 분석을 시작 해봐야할텐데요 각자가 보는 "내실이 탄탄, 우량한 기업"의 조건은 다르므로 이 부분에 대해서 본문에서는 굳이 언급하지 않겠습니다.

 

 

PER, ROE, EPS, BPS, PBR, PEG 등의 지표를 중시하는 분도 계실테고 매출이나 이익의 증가 규모 혹은 부채의 가감 추이를 보는분도 계실것이라 경우의 수가 너무 많기 때문이고 추후 기회가 되면 별도로 다루도록 하겠습니다만 조회가 가능한 TR은 소개 해드리겠습니다.

 

 

 

 

▲ t3341 재무순위종합 조회 TR입니다.

 

 

▲ 기업의 기본적 분석에 필요한 정보들을 조회할 수 있습니다.

 

 

▲ 독자분들이 원하는 특정 조건에 맞는 종목을 보다 쉽고 빠르게 조회 할 수 있습니다.

 

 

 

오늘 준비한 내용은 여기까지이며 왜 API를 이용해야 되는지 간단히 추가 설명 드리고 마치겠습니다.

 

 

만약 독자분들이 오전 9시에 마우스 클릭을 1번 해야 되는 상황이라면 그냥 손으로 해도 됩니다.

 

 

그런데 매일 동일한 조건에 동일 작업을 수행해야 한다면 독자분들은 9시 전후한 시간에 아무일도 하지 못하고 그것에만 집중할 수 밖에 없을 것입니다.

 

 

또한 클릭의 횟수가 만약 1초 내에 10번을 해야 한다거나 혹은 10초내에 100번을 매일 해야 한다면 엄청난 스트레스를 받게 될지도 모를 일입니다.

 

 

API를 통한 자동화 구현은 독자분들이 원하는 투자 자료의 수집과 분석 그리고 매매 판단까지 아주 쉽고 빠르게 처리할 수 있습니다.

 

 

삽질도 삽질 나름이어야 합니다.

 

 

언제까지 삽을 이용해서 산을 옮기겠습니까?

 

 

포크레인이 있고 불도저가 있는데 말입니다.

 

 

 

그럼 호가창에서 뵙겠습니다.

 

 

 

Posted by 투자의神
증권사 API2017. 10. 25. 08:11

 

 

DevCenter를 통하면 이베스트투자증권 xing API에서 얼마나 많은 정보들을 제공하고 있는지 알 수 있으며 지난 시간에는 조회TR과 RealTR 목록을 보여드렸습니다.

 

 

이번에는 조금 더 들어가보겠습니다.

 

 

 

 

DevCenter를 우선 실행하고 좌측 하단의 TR목록 선택 탭에서 RealTR을 선택하고 S3_ 라는 TR을 클릭 해보겠습니다.

 

 

S3_는 코스피에 속한 종목의 체결 정보를 수신할 수 있는 TR입니다.

 

 

 

 

위 이미지처럼 하나의 TR안에서도 상당히 많은 데이터들이 제공되고 있습니다.

 

 

종목코드를 입력하면 체결시간, 전일대비구분, 전일대비, 등락율, 현재가, 시가시간, 시가, 고가시간, 고가, 저가시간, 저가, 체결구분, 체결량, 누적거래량, 누적거래대금, 매도누적체결량, 매도누적체결건수, 매수누적체결량, 매수누적체결건수, 체결강도, 가중평균가, 매도호가, 매수호가, 장정보, 전이동시간대거래량, 단축코드 등의 정보를 수신받을 수 있습니다.

 

 

이중 체결구분 필드를 선택해보면 아래와 같이 나옵니다.

 

 

 

체결구분의 필드 속성에서 수신되는 값이 +로 나오면 매수체결, -로 나오면 매도체결임을 알 수 있게 됩니다.

 

 

 

 

status (장정보) 필드를 선택 해보았습니다.

 

 

0이 수신되면 장중 체결로 수신된 데이터임을 구분할 수 있고 4는 장후 시간외, 10은 장전시간외로 구분할 수 있습니다.

 

 

필드 속성값을 별도로 가지지 않는 필드들도 있는데요.

 

 

S3_ 에서는 chetime (체결시간), price (현재가) 등은 별도의 필드 속성값을 가지지 않고 수신된 값 그 자체만 보아도 됩니다.

 

 

필드 속성값을 가지는 이유는 처리 용량과 시간등을 위해 일종의 정형화된 압축이라고 보면 됩니다.

 

 

이번에는 다른 TR을 선택 해볼까요?

SC0 주식주문접수 RealTR을 선택 해보겠습니다.

SC0은 사용자 본인이 주문한 주문에 대해서만 응답이 내려오는 RealTR입니다.

 

 

 

 

SC0은 앞서 소개한 S3_ 보다 훨씬 더 많은 데이터를 수신할 수 있네요.

 

 

위 TR은 알고리즘 자동매매 프로그램을 통해 주문한 내용이 증권사 서버에 정상적으로 접수 되었는지 확인하기 위한 Real TR입니다.

 

 

만약 삼성전자(005930)를 100만원에 10주 매수하겠다고 주문 넣었는데 엉뚱한 값이 수신된다면 99.99%는 사용자가 개발한 프로그램의 오류로 잘못된 주문이 접수 된 것이겠고 아주 미약한 확률은 증권사 서버의 문제일수도 있습니다.

 

 

다만 증권사의 주문처리 서버는 아주 오랜시간동안 검증이 되어왔고 전문 인력이 관리하고 있기 때문에 시스템 장애 등의 경우가 아니라면 이런 일은 거의 없습니다.

 

 

 

 

SC0 에서는 gmhogagb (공매도호가구분) 등의 필드가 속성값을 가지며 나머지 대부분의 TR은 필드의 값 그 자체로 보고 이해하면 됩니다.

 

 

 

 

 

이번에는 OK_ (코스닥거래원) TR입니다.

 

 

독자분들이 HTS를 통해 조회해볼 수 있는 "종목별거래원" 등의 데이터가 API에서는 이런식으로 수신됩니다.

 

 

어떤 증권사에서 어떤 종목을 얼만큼 사고 팔았는지 그 증권사가 국내 증권사인지 외국계증권사인지 실시간으로 알 수 있기 때문에 투자 주체별 매매 규모가 매매 로직에 있어서 중요한 분들께는 아주 유용한 데이터가 되겠죠.

 

 

 

 

위 이미지를 보면 무엇이 먼저 떠오르시나요?

 

 

전 편인 " DevCenter에서 제공하는 데이터의 종류 "에서 언급한 북한 미사일 관련 예시가 먼저 떠오른다면 정독하고 계시다고 보여집니다.

 

 

NWS 는 RealTR로써 시장에 뉴스가 발생하면 실시간으로 데이터를 내려줍니다.

 

 

 

 

NWS 에서 id 필드를 보면 각 신문사 등이 나오고 중간에 15:공시가 나오죠?

 

 

실시간 뉴스와 실시간 공시가 바로 수신됨을 알 수 있으며 뉴스만 보겠다는 분도 계실테고 나는 공시만 빨리 보면된다는 분도 계시고 둘다 볼 수도 있겠죠?

 

 

선택적으로 각종 뉴스와 공시를 수신할 수 있습니다.

 

 

단 NWS에서 수신한 데이터는 뉴스 또는 공시의 제목만 보여줍니다.

 

 

제목만 봐도 되면 여기까지만 봐도 되고 자세한 내용을 모두 보고 싶으면 realkey 필드의 값을 이용할 수 있습니다.

 

 

조금 더 나아가서는 code 필드에서 수신한 종목코드가 내가 모니터링하는 종목에 포함될 때만 본문을 볼 수도 있고요.

 

 

 

 

실시간으로 수신한 뉴스의 키값 (NWS TR의 realkey 필드)을 t3102에 넣으면 뉴스 본문 전문을 조회할 수 있습니다.

 

 

제목과 본문을 분리하는 이유는 한꺼번에 모든 데이터를 송수신하면 이베스트 투자증권 서버도 부담을 받고 독자분들의 서버나 PC도 부담이 될 수 있기 때문에 필요에 따라 선택적으로 송수신이 용이하게 하는 목적으로 분리 서비스 하고 있습니다.

 

 

NWS로 수신받은 종목코드와 realkey 값으로 t3102을 수신하는 테스트 프로그램을 만들어서 작동시켜 보니 0.018초만에 뉴스 본문까지 모두 수신이 되었습니다.

 

 

이 과정을 조금 더 풀어보면,

 

 

1. 제 서버의 테스트 프로그램에서 NWS 데이터 패킷 수신

2. t3102에 원하는 realkey 값을 넣고 데이터 조회 요청

3. 이베스트 서버에서 데이터 조회 요청을 접수

4. 이베스트 서버에서 제 서버로 데이터 송신

5. 제 서버에서 데이터 수신

 

 

이 정도로 축약해볼 수 있습니다.

 

 

이 모든 과정이 0.018초 만에 이뤄진다니 놀랍지 않으십니까?

 

 

뉴스에 따라 반응하는 알고리즘 자동매매 프로그램의 경우에도 NWS 데이터 패킷을 수신받고 실제 주문을 넣기까지 약 0.1초가 채 걸리지 않았습니다.

 

 

21세기 정보화 시대라는 말은 많이 들어봤어도 이 정도일줄은 상상도 못한분이 다수 일텐데요.

 

 

필자의 알고리즘 자동매매 프로그램과 독자분이 HTS 호가창에서 만나면 독자분들은 백전백패 할 수 밖에 없습니다.

 

 

손매매는 빨리 버릴수록 좋습니다.

 

 

그럼 호가창에서 뵙겠습니다.^^

 

 

 

Posted by 투자의神
증권사 API2017. 10. 20. 08:59

 

 

제가 현재 사용하고 있는 이베스트 투자증권의 Xing API에 대해서 소개 해보려고 합니다.

 

 

이미 동 증권사 API를 사용중이라면 패스하셔도 될 부분이니 참고하세요.

 

 

앞서 API가 무엇인지 간략하게 설명을 드렸었는데요.

아무래도 글로만 적다보니 감이 잘 오지 않을 수 있기에 오늘은 이베스트에서 API를 이용해서 할 수 있는 것들에 대해

소개한 페이지 캡쳐까지 곁들여 보겠습니다.

 

 

 

 

증권사에서 제공하는 Xing API의 구성에 대해서 우선 보겠습니다.

 

첫번째로 가장 중요한 Xing API가 있고 DevCenter, xingACE, ChartData 등이 있다고 적혀 있군요.

 

 

 

 

Xing API는,

고객이 직접 작성한 '트레이딩(자동매매/신호포착 시스템 등) 프로그램'이 이베스트 투자증권의 서버를 통하여

데이터를 주고 받거나 매매가 가능하도록 해주는 통신연결 프로그램입니다. 라고 친절히 설명 해놨습니다.

 

 

더불어 xing API는 별도의 트레이딩툴(HTS/MTS 등)을 제공하지 않으며 프로그래밍이 가능하고 이베스트 투자증권 계좌를 보유하고 계시는 고객이라면 누구든지 사용 가능하다고도 합니다.

 

 

여기에서 중요한 점!

API는 저를 비롯해 각 트레이더가 사용하는 컴퓨터 또는 서버와 증권사 서버를 연결해주는 통신 프로그램이기 때문에

이 연결 프로그램을 통해 어떤 데이터를 주고 받으며 또 어떤 처리를 할 것인지에 대한 부분은 각자가

직접 프로그램을 개발하여 처리해야 될 부분입니다.

 


저의 경우 Microsoft 에서 만든 C#이라는 프로그래밍 언어를 주로 다루며 이를 통해 Microsoft Windows 기반의

프로그램을 만들었습니다.

또한 각종 시세 데이터의 실시간 데이터를 제 서버로 내려 받고 데이터베이스에 모두 저장 하고 있기도 합니다.

 

C#이 아니더라도 엑셀 프로그래밍(VBA), Visual Basic, Delphi, Python, C, C++, Visual C++ 등 다양한 종류의

프로그래밍 언어를 지원하고 운영체제는 Microsoft Windows는 물론 Linux 도 지원하고 있습니다.

 

 

 

DevCenter는,

'API 이용 프로그램' 개발 시에 함께 사용하는 'API 전용 개발보조도구'라고 설명되어 있지요?

 

 

위 설명대로 프로그램 개발을 위한 보조도구도 함께 제공해주고 있는데요.

실제로 저도 이 프로그램을 많이 사용했고 또 지금도 사용하고 있는 아주 편리한 프로그램이며,

"특허출원"이라고 마크도 달아놨네요.

 

 

이 프로그램의 상세한 부분에 대해서는 추후 다시 포스팅 하겠으니 우선은 가볍게 넘어갑니다.

 

 

 

 

XingACE입니다.

이쯤되면 뭔가 많은 것들을 제공하고 있구나 싶으실텐데요.

 

 

예전부터 증권사들간의 수수료 경쟁이 심화되다보니 이제는 '네가 죽는지 내가 죽는지 한판 붙어보자' 라는 식으로

수수료를 하락시켜 경쟁에 참여 하기 보다는 이런 부가 서비스(또는 프로그램)를 제공하는 경향이 강하고

간혹 주식수수료 무료, 선물수수료 무료 등의 이벤트도 곁들이기도 하는 편입니다.

 

 

XingACE는 저처럼 C#등의 언어로 개발한 프로그램을 '가상 테스트'하기 위한 가상거래소 프로그램으로 편리하다고는

합니다만 저는 개인적으로 사용해보지 않았습니다.

 

 

이유는 앞서 말씀드린대로 별도의 데이터베이스 서버에 상당히 많은 분량의 시세 데이터를 저장하고 있기 때문입니다.

 

 

 

 

ChartData 부분인데요.

여러가지 부가 기능을 제공하고 있다 정도로만 보시면 되고,

위 이미지 중단이하의 내용은 추후 별도로 언급할 DevCenter 라는 프로그램을 통해 이뤄지고 있음을 알 수 있습니다.

 

 

여기까지 이베스트 투자증권에서 XingAPI 를 통해 다양한 서비스를 제공하고 있는 모습에 대해 알아봤습니다.

 

 

"시스템 트레이딩은 사람보다 빠르고 정확합니다." 라고 블로그 메인에 적어둔 글이 허언이 아님을 느끼실겁니다.

정말 빠르고 정확합니다.

 

 

누군가는 빠르고 정확한 API를 통해 매매 수익을 거두는가 하면

또 누군가는 9시가 되고 땡하면 매수, 매도 할거라고 HTS앞에서 눈에 불을켜고 앉아 있겠지요.

 

 

저처럼 API서비스를 이용하고 또 자동매매 프로그램을 만들어서 사냥하는 사람이 있는가 하면

석기 시대도 아닌데 여전히 돌도끼를 들고 사냥하는 사람이 있겠지요.

 

 

IBM에서 만든 인공지능 왓슨이 암진단을 하고 알파고가 바둑 랭커들에게 압승하는 시대입니다.

 

 

"마음을 추수르고 다시 해보자! 그러면 잘 될거야!" 라고 자기 암시 해봐야 이미 시작부터 틀렸습니다.

자동매매 시스템은 그 시작부터 "심리"라는 것이 없기 때문에 애초에 마음을 추스를 필요가 없기 때문입니다.

 

 

서두르셔야 합니다.

지금이 아니면 더 늦습니다.

제2의 알파고가 어딘가에서 나타나서 시장을 점령한다면 말이지요.

 

 

감사합니다.

Posted by 투자의神
프로그래밍 with C#2017. 10. 19. 14:11

 

 

컴퓨터를 처음 마주한게 아마도 89년도 무렵일것으로 기억 됩니다.

학교에 비치된 것이었는데요.

 

 

지금 생각해보면 고물도 그런 고물이 없겠지만 당시에는 아주 신기한 물건이었지요.

당시 어린 제가 컴퓨터라는 신문물을 통해 게임이라는 것을 할 수 있었으니 말입니다.

 

 

이후 컴퓨터 학원을 다니며 Basic이라는것을 잠시 만져봤고 그러곤 컴퓨터라는것과 인연이 없을줄 알았는데

세월이 흘러 컴퓨터를 처음 장만한게 95~96년도 무렵으로 기억 됩니다.

세진컴퓨터의 진돗개, 세종대왕 시리즈가 한창 이름을 날리던 때죠.

 

 

본격적으로 프로그램 개발, 프로그래밍과 인연을 맺게된 시기이기도 합니다.

 

 

물론 그 사이 사이의 기억들을 더듬어 보면 Cobol, Fortran 도 잠깐 만져보긴 한 것 같습니다.

 

 

아무튼 본격적으로는 90년대 중반이 시작이었고 C++과 인연을 맺게 되었습니다.

C조차 모르는 제가 C++을 처음 접하게 되니 이해가 되지 않는것들 투성이인데다 당시에는 주변에 물어볼 곳도

마땅치 않을 시절이라 정말 애를 먹었던게 기억나는데요.

 

 

시간이 흐르고 흘러 나중에 다시 C, C++, Basic(Visual Basic), VC++(Visual C++)의 순서로 정주행하게 되었고

최근 몇년사이에는 모든 프로젝트의 개발을 C#으로 하고 있습니다.

 

 

"투자", "경제" 가 주 내용인 본 블로그에서 다루기 마땅치 않을 수 있으나

간간히 그동안의 족적들과 또 제 나름대로 공부했던 C#에 대해서 얘기를 풀어보는것으로 하고

오늘은 여기까지만 적겠습니다.

 

 

감사합니다.

 

 

Posted by 투자의神