시뮬레이션2017. 11. 23. 15:00

 

 

사무실내에 있는 최대한의 컴퓨팅 자원을 모아서 병렬처리 하여도 언제 끝날지 기약할 수 없는 시뮬레이션을 AWS를 이용하고 있는 덕분에 이번주말경에 마무리 될 예정에 있습니다.

 

 

글로 쓰기 쉽지 1805조번은 엄청난 수치란것을 느낍니다.

 

 

그런데 이 시뮬레이션과는 별도로 사무실내 서버들에서도 별도의 로직에 대한 시뮬레이션이 이뤄지고 있는 상황인데다 시뮬레이션의 끝판왕쯤으로 불러도 되지 않을까 싶은 시뮬레이션을 다시 기획중입니다.

 

 

경우의 수를 더욱 추가하였기 때문에 지난번보다 더 많은 연산 규모를 자랑할 예정인데요.

 

 

무려 1,494,100,608,000,000,000 (149경 4100조 6080억) 회의 연산이 필요합니다.

 

 

조건값의 종류로는 7가지의 조합이며 경우의 수는 제일 많은것이 16744개 제일 적은 경우의 수는 11개입니다.

 

 

이 경우의 숫자들을 모두 곱연산하면 최소 필요 연산 규모가 나오게 되는데요.

 

 

그런데 이는 단순히 진입 조건을 따지는 규모이고 장중청산 연산과 종가청산 연산 그리고 결과값을 데이터베이스에 입력하기 위한것까지 포함하면 몇배는 될 것 같습니다.

 

 

바쁜일이 일단락 되었다 싶어서 가동중인 시뮬레이션이 종료되고 결과 분석시까지 며칠 여유가 되면 "뉴스 검색기"에 조금 더 열을 올려 보려고 했는데 현재 가동중인 시뮬레이션이 종료되기전에 새로운 시뮬레이터를 개발 및 가동해야 하기에 금주중으로 예정되어 있던 "뉴스 검색기 배포"가 조금 지연될 수 있을 것 같아 미리 양해 말씀 드립니다.

 

 

본업이 알고리즘을 연구하는 것이니 본업을 소홀리 할 수 없네요.

 

 

뉴스 검색기는 고사하고 제일 주력인 "취미 생활"도 며칠째 못하는중이라 바다가 부르는것만 같습니다.

 

 

누군가 슈퍼 컴퓨터를 일주일만 빌려주면 좋겠다는 생각이 들 정도인데 옆에서 지켜보는 이들은 컴퓨팅 장비 욕심이 많다고 합니다.

 

 

필자의 경우에는 장비 욕심은 전혀 없고 그저 대신 계산해주는 계산기에 불과한데 말이죠.

 

 

"뉴스 검색기"건으로 알게 된 몇몇분께서 만남을 청해오시기에 사무실로 오시라 했는데 불러놓고 몇시간씩 기다리게 하지를 않나 참 이놈의 일복은 왜 이렇게 많은것인지 걱정이 태산입니다.

 

 

바쁜 와중에 글을 적다보니 두서도 없고 엉망진창의 글이 되버렸는데 아무튼 당분간 다시 바쁠 수 밖에 없음을 이해 해주시리라 믿고 당분간 수면아래에서 열심히 일하고 오겠습니다.

 

 

Posted by 투자의神
시스템 성과 합산2017. 11. 22. 17:00

 

 

 

 

추세추종 인공지능 V2 시리즈는 오늘도 거래가 없었습니다.

 

 

어제나 오늘쯤 거래가 한번 있을 수도 있었는데요.

 

 

장 마감후 HTS를 잠시 켜봤더니 옵션 프리가 여전히 높아 보입니다.

 

 

뭐 때가 되면 알아서 거래 하겠지요.

 

 

새로운 시뮬레이터 프로그램 개발하느라 하루가 어떻게 갔는지 모를 정도로 바빴는데 얼마나 바빴는지 식사하는것도 잊어버렸습니다.

 

 

다 먹고 살자고 하는건데 제일 중요한것을 빼먹었네요.

 

 

오늘의 점심식사는 앞으로도 영원히 챙겨 먹을 수 없을거라 생각하니 얼마나 더 잘살자고 그런건지 하는 상념이 듭니다.

 

 

현재 AWS에서 가동중인 시뮬레이션은 약 3주정도 가동에 비용이 127만원쯤 청구될 예정인데 새로운 시뮬레이터는 얼마나 걸릴지 알수가 없네요.

 

 

이것까지 마무리되면 아마 해가 바뀌어 있을것 같은데 서둘러봐야겠습니다.

 

 

프로그램이 내일도 거래를 할지 아닐지 두고 봐야 알겠으나 호가창에서 뵙겠습니다.

 

 

Posted by 투자의神
시스템 03호2017. 11. 22. 16:30

 

 

 

 

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

 

 

 

 

Posted by 투자의神
시스템 01호2017. 11. 22. 15:30

 

 

 

 

Posted by 투자의神
뉴스 검색기2017. 11. 22. 15:30

 

 

현재까지는 뉴스 검색기 v.0.97 필드테스터에 선정된분께만 해당되는 사항이며 향후 뉴스 검색기를 사용하게 될 분도 동일하게 적용될 내용입니다. (정식버전 배포시 수정 예정)

 

 

1. 이베스트투자증권 홈페이지 회원가입 (http://www.ebestsec.co.kr/)

 

 

2. 이베스트투자증권 홈페이지 상단 메뉴 : 고객센터  >  매매시스템  >  API  > 사용등록/해지

 

 

3. xingAPI 최신버전 다운로드 및 설치 (v20170803)

 

 

4. 사용자 컴퓨터의 C:/eBEST/xingAPI/reg.bat 실행

 

 

5. 사용자 컴퓨터의 C:/eBEST/xingAPI/DevCenter.exe 실행 및 로그인 (서버는 모의서버 선택)

 

 

6. DevCenter 실행후 좌측 상단 메뉴중 "Res 파일을 모두 다운로드" 클릭

 

 

 

위 내용이 뉴스 검색기를 사용하기 위한 준비 과정의 전부이며 위 항목중 6번을 진행하다가 오류가 발생하더라도 상관없으니 "확인"버튼을 누르면 알아서 다운로드가 재개 됩니다.

 

 

모든 준비가 완료된분께서는 http://systemtraders.tistory.com/172?category=725349 링크의 본문을 잘 읽고 Comment 남겨 주시면 별도로 연락 드리겠습니다.

 

 

 

Posted by 투자의神
이런저런2017. 11. 22. 05:00

 

 

 

얼마전 포항 지진 사태로 인해 일주일 연기되었던 2018학년도 대학수학능력 평가 시험 실시에 따른 시장 운영시간 변경 안내문이니 참고하세요.

 

 

 

Posted by 투자의神
이런저런2017. 11. 22. 04:30

 

 

 

 

 

예전 같이 손매매를 했더라면 변경되는 시장 제도의 변경 공시 등에 민감했을텐데 시세데이터를 받는것부터 자동으로 거래를하고 데이터베이스 서버에 저장하고 시뮬레이션 하는것까지 컴퓨터 프로그램이 알아서 다 처리하니까 둔감해지네요.

 

 

간혹 큰 이슈를 발생시킬 수 있는 시장 제도의 변경은 시스템 트레이더라 하더라도 반드시 확인하고 프로그램의 수정이 필요하면 적절한 조치를 취해야 프로그램 실행에 오류가 없습니다.

 

 

Posted by 투자의神
시스템 성과 합산2017. 11. 21. 11:00

 

 

 

 

오늘은 다른날보다 성과표가 빨리 포스팅 되어서 놀란분도 계실텐데요.

 

 

시스템에 대해서 더 말씀드리기 위해 일찍 예약 포스팅 해두었고 물론 금일도 매매가 없기도 했습니다.

 

 

7-72 시스템은 역대 최장 관망일이 14일이고 현재 8일 연속 거래가 없습니다.

14일이면 거래일 기준으로 약 3주에서 하루 빠진날이니 상당하죠?

10-72 시스템도 7-72 시스템과 마찬가지로 역대 최장일은 14일이며 현재 8일 연속 관망중입니다.

 

 

13-64 시스템은 역대 최장 관망일이 9일이고 오늘로써 10일 관망을 기록하며 역대 최장 관망일 기록을 갱신했습니다.

10일이면 정확히 2주간 거래가 없었다는 뜻입니다.

 

 

필자의 여러 시스템중 V2 시스템의 특장점 들을 이전에 말씀드린적이 있고 또 말씀드리지 않은것도 있었는데 비공개 내용의 경우에는 매매 로직에 중요한 부분이기도 해서 공개하지 않았는데 이 부분중 한가지 더 공개하고자 합니다.

 

 

센스가 있는 독자분들이라면 오늘 공개된 부분을 가지고 시장을 어떻게 봐야 하는지 감을 조금 더 잡을 수 있으리라 생각합니다.

 

 

옵션은 만기일까지의 잔존 일수와 방향성의 강한 추세 흐름에 아주 많은 영향을 받습니다.

 

 

잔존 일수와 관련해서는 월물초에는 별로 거래가 없고 만기일이 다가올수록 거래가 증가하는것은 말씀 드렸는데요.

 

 

강한 추세(시세)와 관련해서는 (구체적으로 말씀드리기는 어렵고 좀 많이 두리뭉실하게 말씀드릴테니 각자의 역량에 맞게 판단하면 됩니다.) 가격이 비쌀수록 KOSPI200 지수나 KOSPI200 지수선물의 등락 영향을 덜 받는편이고 또 (자꾸 공개하면 안되는데 손가락은 이미 타이핑을 하고 있으니 큰일입니다.) 앞서 말씀드린 내용들을 기초로 다음날 시세흐름이 어떠할지 어느정도는 유추할 수 있습니다.

 

 

때문에 오늘 시스템이 거래없이 관망할 것이라는 것을 어제 장 마감하고 미리 알 수 있다는 뜻이지요.

물론 여러 조건들이 있기 때문에 그중 어떤 조건에 따라 관망하게 될지 모든 것을 미리 다 알 수는 없고 일부 조건들에 한해서는 미리 알 수 있습니다.

 

 

이는 필자가 시세의 흐름을 모두 예측할 수 있다는 뜻이 결코 아니니 오해할 필요 없습니다.

 

 

단지 지금까지 여러 시뮬레이션과 분석 그리고 최적화를 거치면서 어떤 특성을 가진 시세는 다음날 거래를 하더라도 성과가 좋지 않을 수 있다는 의미이며, 이는 승률의 관점이 아니라 손익의 합에 관한 내용입니다.

 

 

100번중 30번 손실이 나고 70번 수익이 날 수도 있고 손실과 수익의 수가 뒤바뀐 경우일 수도 있기 때문에 승률의 문제가 아니라 (시스템은 승률이 결코 중요하지 않습니다. 실제 생존한 그리고 꾸준히 누적 수익을 기록하는 시스템 중에서는 승률 30%대의 것도 있습니다.) 100번중 몇번의 수익과 손실인지에 상관없이 수익의 합과 손실의 합을 모두 더해보니 특정 시세 이후에 거래를 했을 때는 합산 손실이므로 통계상 거래를 하지 않는편이 낫다는 결론이기 때문입니다.

 

 

거래를 하지 않고 관망한 거래일중에는 크게 시세가 분출하여 수익의 기회를 놓친 경우도 분명 존재합니다.

그러나 앞서 말씀드린대로 합산해보면 누적 손실이므로 전체 거래를 대상으로 필터링 조건이 추가 된 셈이라고 이해하면 됩니다.

 

 

오늘까지는 본업에 충실하고 뉴스 검색기는 아마 내일부터 작업 재개 될 것으로 기대하고 있으며 금주중 배포가 될 수 있도록 노력 해보겠습니다.

 

 

일전에 4분의 필드테스터를 선정했었는데 필자와 원활한 커뮤니케이션을 위해 본문에 비밀글로써 연락처(이메일 또는 카카오톡 또는 휴대전화 번호 등) 정보를 남겨주시면 좋을것 같습니다.

 

 

원하지 않을경우 남기지 않아도 되며 (의무사항 아님) 연락처를 남기게 되면 반드시 "비밀글"로 작성 해주세요.

 

 

호가창에서 뵙겠습니다.

 

 

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 투자의神