프로그래밍 with C#2017. 10. 24. 08:31

 

 

알고리즘 자동매매 프로그램은 정해진 시각에 작동해야 합니다.

 

 

독자분들중 HTS를 너무 열심히 보던 나머지 밤늦도록 보다가 잠들었는데 아침에 깨어보니 HTS 접속이 종료되어 있는것을 경험한 분이 계시리라 생각합니다.

 

 

이는 국내를 포함해 해외 시장도 마찬가지로 모든 증권사는 자체적으로 전산장비 점검 시간을 가지기 때문에 일정한 시각에 증권사 서버와 연결되어 있는 모든 온라인 연결을 해제 시키고 점검을 마친후 다시 연결을 허용합니다.

 

 

서버 점검 시각에는 증권사 서버로의 연결(HTS, MTS, API)이 불가능하고요.

 

 

이 때문에 점검 시각이후에 알고리즘 자동매매 프로그램을 통해 다시 로그인 해야 합니다.

 

 

때문에 독자분들이 프로그램을 개발할 때 수신되는 데이터를 마구잡이로 저장하고 분석할 수 있는게 아니고 증권사 서버가 언제 점검을 하는지 또 개장 시각은 언제인지 폐장시각은 언제인지 알아야 프로그램을 통해 지정된 시각에 로그인을 하고 시세 데이터를 받고 저장할 수 있는 것입니다.

 

 

제목이 개장, 폐장 시각의 변화인데요.

 

 

이제 며칠 있으면 2018학년도 수학능력평가시험(수능)인데요.

 

 

수능이 열리는 날에는 개폐장 시각이 1시간 순연됩니다.

 

 

장전 시간외 단일가 거래, 동시 호가 주문 접수 시각, 개장 시각, 폐장 시각, 종가 단일가 거래 시각, 장 마감후 시간외 단일가 시각 등이 모두 1시간씩 연기된다는 뜻입니다. (장 마감후 시간외 단일가의 종료 시각과 EUREX, CME 개장시각은 변동 없음)

 

 

추가로 서머타임(섬머타임, 일광절약시간제, Daylight Saving Time)인데요.

 

 

서머타임 시행 여부에 따라 야간옵션(EUREX)의 폐장시각과 해외선물의 개장, 폐장시각이 1시간씩 순연됩니다.

 

 

이러한 변화는 프로그램의 구현 과정에서 필수적으로 챙겨야 합니다.

 

 

만약 독자분들이 엄청난 수익을 거두는 로직을 개발하였는데 그것이 특정 종목을 9시 5분에 매수하기로 하는 내용이 포함되어 있다면 수능일에는 10시 개장이므로 거래 주문이 접수되지 않게 되겠고 심할 경우 프로그램에 심각한 오류가 발생하기도 합니다.

 

 

아래는 오늘 아침에 나온 관련 시장 공시입니다.

 

========================================

 

 

유럽의 서머타임이 해제됨에 따라 다음과 같이 국내코스피200지수의 야간연계거래(EUREX) 시간이 변경되오니, 이용에 참고하여 주시기 바랍니다.

 

                                         - 다  음 -

 

1. 제목

    국내파생 야간선옵(EUREX) 거래시간 변경(서머타임 해제) 안내

 

2. 해제일

    2017년 10월 30일(월)

    * 서머타임 기간 : 2017.03.26 ~ 2017.10.29

 

3. 변경시간

구분

변경 전

변경 후

EUREX (야간옵션)

18:00 ~ 익일 04:00

18:00 ~ 익일 05:00

 

    *국내 코스피200선물 연계거래(CME)는 변동없음 (18:00 ~ 익일 05:00) 


 

========================================

 

 

미국 및 유럽의 일광절약시간제(Daylight Saving Time: 서머타임)가 아래와 같이 종료되오니 거래에 참고하시기 바랍니다.                                

    

                                                      - 다  음 -



  1.머타임 종료일자 및 시차정보

구분

거래소

(eBEST Pro기준)

서머타임 종료일

시차

서머타임

서머타임 종료

유럽

EUREX (독일)
ICE_EU (영국)
LIFFE (영국)

EURONEXT (프랑스)

2017. 10. 29()

영국 (국내 - 8)
독일 (국내 - 7)

프랑스 (국내 - 7)

영국 (국내 - 9)
독일 (국내 - 8)

프랑스 (국내 - 8)

미국

CME (시카고)
CBOT (시카고)
NYMEX (뉴욕)
ICE_US (뉴욕)
LIFFE_US (뉴욕)

2017. 11. 05()

시카고 (국내 -14)
뉴욕 (국내 -13)

시카고 (국내 -15)
뉴욕 (국내 -14)

       ▶ 서머타임 종료로 해당거래소 상품의 기존 거래시간이 1시간씩 늦춰짐



  2. 해외선물 일일정산
미국/유럽 주요 시간대가 서머타임 종료로 인해 1시간씩 확대되므로 해외선물옵션 일일 정산시간 역시 아래와 같이 변경.


       ▶ 변경일자
         2017 11 7(화) 일일정산부터 적용

       ▶변경내역
:
        서머타임 적용: 국내시간 06:30am – 07:00am (30분간)
        서머타임 종료: 국내시간 07:30am – 08:00am (30분간)

 



  3. 특이사항
미국과 유럽의 서머타임 종료일정 차이로 인해 특정 기초상품의 거래시간이 아래와 같이 일시적으로
조정되어 거래됩니다
.

  ▶해당기간: 2017. 10. 30 () ~ 2017. 11. 03 (금)
     적용사유: 미국/유럽간 서머타임 종료일자 불일치에 따른 일시 조정

          ※ ICE 에너지 상품은 월요일만 07:00에 거래가 시작됩니다.


거래소 상품군 상품명 10/30(월) ~ 11/03(금) 11/6(월) ~
ICE_US 농축산 ICE Sugar 17:30 ~ 02:00 17:30 ~ 03:00
ICE_US 농축산 ICE Coffee 18:15 ~ 02:30 18:15 ~ 03:30
ICE_US 농축산 ICE Cocoa 18:45 ~ 02:30 18:45 ~ 03:30
ICE_EU 에너지 ICE Brent 09:00 ~ 06:30 10:00 ~ 07:30
 ICE_EU 에너지 ICE WTI 09:00 ~ 06:30 10:00 ~ 07:30
ICE_EU 에너지 ICE Gasoil 09:00 ~ 06:30 10:00 ~ 07:30

 

 

참고하여 모쪼록 좋은 프로그램을 개발하는데 도움이 되기를 바랍니다.

 

 

Posted by 투자의神
증권사 API2017. 10. 24. 07:00

 

 

지난 시간에는 필자가 사용하고 있는 이베스트 투자증권에서 제공하는 API에 대해서 개략적으로 알아보았습니다.

 

 

이번 시간에는 지난 글에서 언급했던 DevCenter 에 대해서 소개하려고 합니다.

 

 

DevCenter는 불과 몇년전에 api와 연동하여 개발하는 것에 비해서 개발환경이 매우 좋아졌기에 소개하지 않을수가 없네요.

 

 

실제 주변에서 이베스트 xing api를 이용하여 프로그램을 개발하는 개발자들중에서도 DevCenter의 존재를 전혀 모르거나 알고는 있지만 참고하지 않고 개발하는 분들이 계신것을 보았는데 이 글을 읽는 독자분들이 초보자라면 반드시 참고해야 할 참고서 수준의 것이니 꼭 알아두셔야 합니다.

 

 

우선 이미지를 2개 보겠습니다.

(퍼온 이미지가 아니라 필자가 직접 본 블로그를 위해 캡쳐한 화면이나 비상업적인 용도라면 출처를 밝히고 사용하셔도 됩니다. 대단한 워터마크를 넣지는 않았지만 특정 픽셀에 필자만이 알 수 있는 표기가 되어 있는점 참고하세요.)

 

 

 

 

 

DevCenter (데브센터)를 실행한 후 캡쳐한 조회TR목록(TR목록)과 리얼(Real)TR목록(Real목록) 입니다.

 

 

위 캡쳐 이미지에서 보듯 기본적으로 API에서 상당히 많은 기능들을 제공하고 있습니다.

 

 

각종 데이터를 조회 해볼 수 있는가 하면 조건 검색식을 적용할 수도 있고 심지어 주문까지 할 수 있지요.

 

 

필자의 경우 여러 프로그램을 동시에 구동하다보니 아이디를 여러개 사용하고 있는데요.

 

 

위 이미지를 캡쳐한 아이디 말고 다른 아이디에서는 해외선물에 대한 데이터까지 조회 해볼 수 있습니다.

 

 

DevCenter 또는 각자가 개발한 API 연동 자동매매 또는 조회 프로그램에서는 HTS, MTS와 같은 데이터를 조회 해볼수가 있으며 입맛대로 작성한 자동매매 로직이 있다면 컴퓨터 프로그램이 빠르고 정확하게 연산하여 진입과 청산까지 모두 처리 해주므로 사람의 손매매는 갈수록 설 자리가 좁아질 수 밖에 없는 형편입니다.

 

 

손매매로써 확실한 수익 로직을 가지고 있던 아니던 데이터의 수신과 분석 그리고 주문은 프로그램을 거치지 않고는 갈수록 힘든 싸움이 될 것은 자명한 일입니다.

 

 

한 예로써, [NWS] 실시간 뉴스 제목 패킷 TR과 [t3102] 뉴스본문 TR을 이용하여 특정 뉴스를 필터링하고

해당 뉴스 내용에 따라 반응하는 일종의 "조건 반응형 자동매매 프로그램"을 개발해둔채 검색 키워드로써 "북한", "미사일", "발사", "동해", "오늘" 을 등록 해뒀다면, 독자들은 북한의 미사일 발사로 지수가 급락하고 있는 상황에서도 빠르게 뉴스를 접하지 못한분들은 어리둥절 하다가 당할 수 밖에 없습니다.

 

 

제 프로그램에서는 뉴스가 나오자마자 0.01초 ~ 0.1초 사이에 이미 북한이 미사일을 발사했다는 소식이 접수되고 보유종목의 비중이 큰 것들은 비중을 축소하거나 아니면 북한 리스크 관련 이슈로 수혜를 받는 방위산업체 주식을 매수할 것입니다.

 

 

이 모든 과정이 최초의 뉴스가 나온지 1초가 채 걸리지 않습니다.

 

 

독자분들이 아무리 빠른 손놀림으로 뉴스를 확인하고 종목을 매매 하더라도 프로그램의 정확도와 속도를 도저히 따라갈 수 없는 상황이지요.

 

 

시장을 관찰하고 매매하는 것은 프로그램이 자동으로 처리 할테니 제가 하고 싶은 무엇이라도 하면서 북한이 미사일 실험 발사를 했는지 인지조차 하지 못해도 되는 상황인것이죠.

 

 

또한 투자라는것이 모름지기 심법으로부터 완성된다는 말이 있을정도로 심리상태의 변화가 투자 성과에 아주 강한 영향력을 행사하지만 저는 프로그램을 실행해둠으로써 심리적인 동요와 갈등이 없게 됩니다.

 

 

뒤늦게 막차를 타고 후회하시겠습니까? 아니면 남들보다 앞서 진입하시겠습니까?

 

 

결정은 독자분들이 하는것입니다.

 

 

DevCenter에 대한 추가적인 내용은 앞으로 몇회에 걸쳐 연재 할 계획이니 천천히 따라 와도 되고 이런게 있구나 정도면 오늘은 충분할 것 같습니다.

 

 

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

 

 

Posted by 투자의神
프로그래밍 with C#2017. 10. 23. 16:00

 

 

지난 글에서 밝힌대로 여러 프로그래밍 언어에 대한 경험이 조금씩은 있고 현재는 C#을 이용해서 프로그램 개발을 하고 있지만 필자는 스스로가 프로그래머 혹은 개발자라는 생각은 추호도 갖고 있지 않습니다.

 

 

수익매매 로직을 가지고 있고 그것에 손매매가 더해져 수익을 내다가 조금 더 편하고 빠르고 효율적으로 처리하기 위해 필요한 범위만큼 프로그래밍 언어를 공부하여 말 그대로 필요한 것 정도는 구현할 수 있는 수준입니다.

 

 

전문 개발자들이 프로그램을 만드는것처럼 체계화 되어 있지 않고 전문 지식도 없기에 그동안 많은 우여곡절을 겪은적이 많기도 합니다.

 

 

때문에 본 카테고리에서 다룰 내용들은 전문 개발자의 수준의 내용은 아닐 수 있음을 미리 말씀드립니다.

 

 

본 블로그에서 얘기하는 많은 부분에 있어서 잘못 기입된 내용이 있으면 지적 해주세요.

최대한 빠르게 정확한 내용으로 수정하겠습니다.

 

 

 

C# 이라는 프로그램 개발 언어를 선택하기까지의 과정과 이유는 제 개인적으로는 나름 복잡했고 많은 고민을 했습니다.

 

 

과거 C계열 언어에 어느정도 익숙함이 있지만 Visual C++을 다시 공부하기에는 솔직히 자신이 없었고 Visual Basic은 처리 속도에 불만이 있었고 Delphi는 만져본지 너무 오래된 관계로 다른 무언가를 찾고 있었습니다.

 

 

이 때 조건으로 내건것이 상대적으로 진입장벽이 낮되 성능저하나 기타 이슈가 없을것인데요.

 

 

이미 하나 이상의 프로그래밍 언어에 숙달 된분은 상관없겠지만 새로운 출발을 해야 할 경우에는 진입장벽이 낮은 프로그래밍 언어를 선택하는게 좋습니다.

C 계열 언어를 다뤄본 경험이 있음에도 필요로 하는 프로그램을 원활하게 개발하는데 1년 이상의 시간이 소요되었는데 아무것도 모르는 상황에서 맨땅에 헤딩해야 되는 분들은 더 많은 시간이 걸릴 수 밖에 없을겁니다.

 

 

많은 자원들이 유한하다고 하지만 우리에게 제일 소중하고 희소성이 높은 자원은 "시간"이고 이는 곧 "비용"이기도 하기 때문에 가장 빨리 논리적 사고 체계를 갖출 수 있으면서도 결과물을 산출하는데 필요로 하는 시간이 짧을수록 유리합니다.

 

 

2014년 겨울 드디어 C#과 Python이 물망에 올랐습니다.

 

 

웹 서핑을 하면서 알아보던중 첫번째로 본 샘플이 Python이었기 때문에 그런지 Python에 조금 더 눈이 갔습니다.

무엇보다도 쉬워보였거든요.

(나중에 안 사실이지만 C#으로는 수십줄 이상의 코드로 구현될 것이 Python에서는 단 몇줄로 가능하기도 했습니다.)

(위 첫번째로 본 샘플은 https://wikidocs.net/book/110 입니다.)

 

 

그렇지만 Visual Studio의 편리함을 익히 알고 있기에 최종적으로 C#을 선택하게 되었고 오랜만에 뭔가 새로운걸 시작하려니 흥분 상태에 빠지기도 했습니다.

 

 

2014년 12월말경 3권의 C#책을 구매하고 2015년 1월 2일인가 3일쯤으로 기억되는 날부터 파고들기 시작했습니다.

 

 

명절에도 사무실에 앉아 책을 볼 정도로 파고 들었죠.

 

 

이후 서너권의 책을 더 사기도 했고 웹 서핑 등을 통해 많은 정보를 얻으면서 지금껏 약 34개월간 수십개 이상의 프로그램을 만들어오고 있습니다.

 

 

그중에는 각종 데이터들을 수집하는 프로그램부터 이렇게 모은 데이터들을 효율적으로 백업하고 관리하는 프로그램도 있고 각종 조건값에 따라 시뮬레이션하는 프로그램 그리고 실제 거래를 하는 프로그램과 거래 결과에 대해 성과 분석하는 프로그램까지 다양하게 갖추게 되었습니다.

 

 

이 글을 적다보니 지난 34개월의 시간이 주마등처럼 스쳐가네요.

 

 

프로그램 자동매매를 계획하고 있고 뭔가 해보고자 한다면 저처럼 너무 고민하지 말고 일단 시작하세요.

 

 

C#을 이용하는 분이라면 제가 도울 수 있는 범위내에서는 돕도록 하겠습니다.

 

 

Posted by 투자의神
시스템 01호2017. 10. 23. 15:47

 

 

시스템 안내

 

이름 : 추세추종 인공지능 V2 7-72

 

투자대상 : KOSPI200 주가지수옵션 (EUREX시장은 참여하지 않고 주간장만 대응, 장 마감이전에 모두 청산)

 

오버나잇여부 : 당일 주간 단타만 진행

 

특징 : 시장에서 나타날 수 있는 경우의 수 300만개중 가장 적절한 대응이 가능하도록 설계

 

헷지여부 : 헷지 없음.

 

투자원금 : 총 투자원금은 1억원이나, 예비비를 50% 가지고 실제 투자는 5천만원만 투입되도록 설계

 

연평균기대수익금 : 약 1억 9천여만원 (원금 1억원 대비 약 190%선, 실제 투입 금액 5천만원 대비 약 380%선)

 

 

 

 

오늘도 무사히 잘 마쳤네요.

 

 

독자님들과는 매일 알게 모르고 호가창을 통해 뵙고 있다고 생각하니 뭔가 기분이 묘하네요.

 

 

Posted by 투자의神
시스템 02호2017. 10. 23. 15:46

 

 

시스템 안내

 

이름 : 추세추종 인공지능 V2 10-72

 

투자대상 : KOSPI200 주가지수옵션 (EUREX시장은 참여하지 않고 주간장만 대응, 장 마감이전에 모두 청산)

 

오버나잇여부 : 당일 주간 단타만 진행

 

특징 : 시장에서 나타날 수 있는 경우의 수 300만개중 가장 적절한 대응이 가능하도록 설계

 

헷지여부 : 헷지 없음.

 

투자원금 : 총 투자원금은 1억원이나, 예비비를 50% 가지고 실제 투자는 5천만원만 투입되도록 설계

 

연평균기대수익금 : 약 2억원 (원금 1억원 대비 약 200%선, 실제 투입 금액 5천만원 대비 약 400%선)

 

 

 

놀아도 좋고 일해도 좋은 시스템입니다.

 

 

좋은 때가 곧 올거라 믿기 때문입니다.

 

 

Posted by 투자의神
시스템 03호2017. 10. 23. 15:38

 

 

시스템 안내

 

이름 : 추세추종 인공지능 V2 13-64

 

투자대상 : KOSPI200 주가지수옵션 (EUREX시장은 참여하지 않고 주간장만 대응, 장 마감이전에 모두 청산)

 

오버나잇여부 : 당일 주간 단타만 진행

 

특징 : 시장에서 나타날 수 있는 경우의 수 300만개중 가장 적절한 대응이 가능하도록 설계

 

헷지여부 : 헷지 없음.

 

투자원금 : 총 투자원금은 1억원이나, 예비비를 50% 가지고 실제 투자는 5천만원만 투입되도록 설계

 

연평균기대수익금 : 약 1억 7천만원 (원금 1억원 대비 약 170%선, 실제 투입 금액 5천만원 대비 약 340%선)

 

 

 

+/- 0.

 

 

오늘도 여전히 놀고 있는 시스템의 모습입니다.

 

 

제 시스템중 어떤 하나의 시스템은 최대 14거래일간 거래가 없기도 했었는데요.

 

 

강한 추세가 나오면 수익낼 확률이 높다는것을 알기에 마음이 편합니다.

 

 

이렇게 시스템이 필자대신 일을 해주기 때문에 시장의 모습을 관찰하고 아이디어로 도출 시키고 또 그것을 시뮬레이션 하면서 계속적인 발전을 거듭할 수 있으니 제가 만들었지만 시스템에게 감사할 뿐입니다.

 

 

 

Posted by 투자의神
개발의뢰2017. 10. 23. 15:30

 

 

안녕하세요.

 

 

이곳은 개발의뢰 카테고리입니다.

 

 

제가 전문 개발자도 아니거니와 취미 생활인 목공과 낚시에 푹 빠져 지낼 예정이므로 시간적 여유가 많지는 않습니다만 여유 시간들을 보다 알차게 보내고 또 뜻깊은 일을 하고 싶은 마음에 직접적으로 자동매매 시뮬레이터 또는 실거래 자동매매 프로그램을 개발하기 어려운 분들을 위해 도움을 드리고자 합니다.

 

 

아주 간단한것은 금방 진행이 될 수도 있고 무상(FREE)으로 개발 해드리겠습니다.

 

 

필요한 시뮬레이터나 자동매매 프로그램이 있다면 우선 기본적인 상담을 위해 연락처(휴대전화 또는 이메일)를 비밀댓글로 남겨 주시면 연락드리겠습니다.

 

 

감사합니다.

 

 

덧1)

시세데이터, 개발의뢰 카테고리 관련 안내
http://systemtraders.tistory.com/notice/989

 

 

Posted by 투자의神
아이디어, 알고리즘2017. 10. 22. 10:06

 

 

 

수익은 이 세상을 살아가는 누구나가 추구하는 바 일 것입니다만 그것을 실제 취하는 사람은 극소수에 불과합니다.

 

 

아주 열심히 하지 않더라도 제가 알려 드리는 프로세스를 따라 연습하다보면 생각보다 쉽게 꽃길을 걸을 수 있습니다.

 

 

많은분들이 아직도 감으로 매매를 하거나 그때 그때의 느낌으로 매매를 하곤 합니다.

 

 

진입하고 약수익으로 마감하기를 반복하다가 한방 얻어 맞고 떡실신하거나

 

 

내리막길을 내달리는 종목의 막차를 타고 진입하자마자 계좌가 시퍼렇게 멍들기도 하죠.

 

 

제가 강의하면서 많이 하던 얘기가 있습니다.

 

 

"개인들은 수익이 나도 못팔고, 손실이 나도 못 판다"

 

 

이유는,

 

 

오르면 더 오를것만같고, 내리면 이제 곧 턴어라운드해서 오를것 같기 때문인데요.

 

 

그게 아주 잘못된 매매를 하고 있다는 뜻이기도 합니다.

 

 

"~같다."는 것은 '감'이기 때문입니다.

 

 

"~같다."는,

이제는 오를것 같다.

내일은 오를 것 같다.

이 종목은 오를것 같다. 는 생각으로 매매 하는 것을 말하는 것입니다.

 

 

수익을 꾸준히 내는분을 보면 "~같다."는 생각으로 매매하지 않습니다.

 

 

그럼 무슨 생각을 가지고 매매에 임해야 할까요?

 

 

이것을 찾고 이해하고 또 그것을 매매에 적극적으로 반영하는데 있어서 저조차도 많은 시간이 걸렸지만 공개하겠습니다.

 

 

아마도 알고 계신분도 계시겠지만 단순히 아는것과 실행에 옮기고 습관이 되고 체계화가 된것은 그 결과가 하늘과 땅 차입니다.

 

 

"A하면 B한다"의 매매는 성공 확률이 조금 더 높습니다.

 

 

예를 들어 설명하자면,

 

 

갭상승 출발하면 추가 상승 확률이 높다.

전일 종가가 고가로 마감하면 오늘은 약하다.

시가가 전일 종가보다 낮게 출발하면 단기 시세가 나온다. 등의 내용이 될 것입니다.

(위 내용은 설명을 위해 제가 임의로 작성한 것이므로 실제 매매에 적용하면 절대 안됩니다.)

 

 

이게 끝일까요? 아닙니다. 더 있습니다.

 

 

"A하면 B한다. 그러나 C하면 D한다."는 매매 성공 확률이 더욱 높습니다.

 

 

갭상승 출발하면 추가 상승 확률이 높다. 그러나 진입가로부터 -3%의 평가 손실이 발생하면 손절매를 단행한다.

등의 내용이 됩니다.

 

 

쉽게 말해, 단순히 감만으로 진입하는게 아니라 진입의 조건이 있고 또한 청산에 대한 조건이 있죠?

 

 

큰 틀은 위 내용만 보면 되고 변형은 각자 마음대로 해보셔도 됩니다.

 

 

예컨대, 전일 종가가 상한가가 아니고 종가가 고가로 마감하면 익일 시가로 매수하되 진입가로부터 -3%의 평가 손실이 발생하면 손절매를 단행하고 5% 평가 수익이 발생하면 보유 수량의 절반만큼 이익실현한뒤 나머지 절반의

보유물량은 5%를 넘어 추가 상승하는지 지켜보고 혹시 반락 하더라도 매수 평균단가에 나머지 절반의 보유 물량을

청산한다.

 

 

뭐 이런 식의 매매가 됩니다.

 

 

여러분 마음껏 해보셔도 됩니다.

 

 

그렇다고 무작위로 소설을 쓰라는 얘기는 아니고 다음의 내용도 중요하니 잘 보세요.

 

 

수익을 내는 매매를 위해서, 또 시스템 로직을 프로그래밍하기 위한 최소한의 조건값은,

 

 

A하면 B한다. 그러나 C하면 D한다입니다.

 

 

그렇다면 여러분이 하셔야 할 일은 감에 의존해서 마구잡이로 매매를 할 것이 아니라,

 

 

A, B, C, D의 인과관계에 대해서 확인하고 방법이야 어떻든 시뮬레이션을 하여 승률, 손익비, 누적손익 등에 대해 확인하는 과정이 필요합니다.

 

 

그러기 위해서는 차트를 보던 혹은 시장 지표 어떤것을 보던 데이터를 두고 연관성이 높아 보이는 것들의 집합을 만들고 그것들의 연관성 검증을 해보셔야 한다는 말입니다.

 

 

설계한 로직의 수익성과를 작은 오차로 추종하는가 확인하기 위해서는 표본의 갯수가 많아야 충분히 검증할 수 있기 때문에 데이터의 기간은 길면 길수록 좋으나 시장 제도가 변경된 시기가 포함되면 각 인자값들의 연관성이 갑자기 높아지거나 낮아지고 또 최종 손익 등의 값이 달라질 수 있기에 이런 부분은 기간별로 달리 적용하거나 시장 제도 변경 이후의 기간만 잘라서 보는편이 유리합니다.

 

 

간단한 예를 들면,

 

 

전일대비 2배 이상의 거래량으로 상한가(15%)에 도달하면 익일은 10%는 무난히 상승할 가능성이 높다면 아마도 여러분은 시가부터 매수하려고 난리법석일테지요. (위 내용대로 매매 하면 안됩니다. 포스팅을 위해 제가 임의로 작성한 소설입니다.)

 

 

그러나 시장 제도의 변경으로 상하한가 제도가 +/- 30%로 변경되면서 시가가 기존 제도하에서의 상한가 값인 15% 이상에서 형성될수도 있고 10%라는 수치가 수십% 이상의 큰 상승 흐름중 전초점일 수도 있습니다.

 

 

제도 변경 이후에는 기존의 로직대로 무작정 매수해서도 안되겠지만 무조건 10%의 지점에 대한 가능성만 보고 매도 했다가는 큰 추세와 수익을 놓칠수도 있습니다.

 

 

시장의 여러 현상들을 관찰하고 그것들의 인과관계에 대해 검증하다보면 1차적인 로직이 완성됩니다.

 

 

그럼 이제 돈벌러 가면 되겠죠?

 

 

제가 위에서 "1차적인 로직의 완성"이라고 표현한것은 여기에서 끝이 아니기 때문입니다.

 

 

성미가 급한분은 벌써 들떠 있을텐데 그러다가 다시 지난 실패를 반복할 확률이 높으니 끝까지 잘 보세요.

 

 

주식 투자만 하더라도 어떤 규모의 자금을 어느정도 분할하여 운용하며 종목당 투자 비중은 어떤지 단기 매매에만 참여 할 것인지 오버나잇을 할 것인지 평가 수익의 상태에서만 오버나잇을 할 것인지 결정해야 될 내용들이 한참 많이 남아 있습니다.

 

 

선물은 상승과 하락 양쪽 방향 모두에서 수익을 발생시킬 수 있는 구조적인 장점(?)을 가지고 있으므로 따져봐야 될 것이 더 많고 옵션은 더욱 많습니다.

 

 

일반적으로 주식이 1차원이면 선물은 2차원, 옵션은 3차원이라고 합니다.

달리 말하면 주식이 10이면, 선물은 10의 제곱, 옵션은 10의 세제곱이라는 뜻이죠.

(10의 제곱은 100, 세제곱은 1000 으로 엄청나게 큰 차이가 있다.)

 

 

A하면 B한다만 놓고 보더라도,

특정 조건 A가 만족될 때 매수하는 로직의 최종 성과와 반대 옵션의 매도 로직 그리고 선물과 옵션의 합성이나 옵션의 합성으로 진입하는 로직은 모두 제각각의 최종 성과를 보입니다.

 

 

대체적으로 강한 상승장에서는 콜옵션 매수가, 강한 하락장에서는 풋옵션 매수가 성과가 가장 뛰어나며,

느린 상승이나 되돌림 조정이 많은 상승장은 풋옵션 매도가 성과가 뛰어나며,

느린 하락이나 되돌림 조정이 많은 하락장은 콜옵션 매도가 성과가 뛰어납니다.

 

 

이처럼 장세에 따라서 성과의 차이가 있기도 하고 시뮬레이션 후 손실의 경우에 대해 필터링 조건(매매의 여러 조건들의 교집합)을 찾는 부분에서 엄청난 차이가 있는데 이 부분은 추후 다시 언급하는것으로 하겠습니다.

 

 

다시 "1차적인 로직의 완성" 단계로 갑니다.

 

 

앞서 언급한 여러 조건값(자금, 규모, 비중, 오버나잇 여부, 파생 상품이라면 포지션의 조합 등)을 어떻게 설정했을때

연속 손실 규모가 크지 않고 수익일 때는 크게, 손실은 최소화 하는 최적화가 이뤄지는지와 결과적으로 가장 큰 수익을 내는지 두가지 모두 보셔야 합니다.

 

 

전자의 조건은 시스템으로 매매 로직을 운영하는 과정뿐만 아니라 손매매라 하더라도 손익의 안정성을 추구하여 기복이 적은 매매를 가능하게 하며 후자의 조건은 그런 로직들 중에서 가장 최고의 성과를 거둘 수 있는 것을 추구합니다.

 

 

여기까지 되었다면 최종 완성이라고 보셔도 무방합니다.

 

 

이제 시장에 출사표를 던지고 매매를 하세요.

어떤 경우에라도 시뮬레이션에서 뽑아놓은 조건값과 달리하여 검증되지 않은 값으로 운용해서는 안됩니다.

시스템 운용 중단의 경우가 아니라면 절대적으로 시스템에 모든것을 맡기고 절대 자의적으로 손대서는 안됩니다.

 

 

이미 검증된 로직은 시장 제도가 크게 바뀌지 않는한 시간이 가면 시스템이 알아서 수익을 벌어다 줄 가능성이 높으니 그대로 두고 또 다른 아이디어를 찾아 시장을 관찰하세요.

 

 

몇번만 반복하면 여러분은 성능 좋은 시스템을 다수 보유하여 시간의 자유, 경제적인 자유 모두를 얻을 수 있으리라 생각합니다.

 

 

취미 생활도 하는 등 여가 시간을 보내면서 일상 속에서 아이디어가 떠 오르면 계속해서 시스템 연구 개발을 하고 하나의 과정이 끝나면 다시 일상으로 복귀하면 됩니다.

 

 

그럼 건투를 빕니다.

 

 

 

Posted by 투자의神
아이디어, 알고리즘2017. 10. 21. 09:55

 

 

여러분은 시장에서 꾸준한 수익을 창출할 수 있는 방법을 알고 계신가요?

 

 

 

우선 첫 줄의 질문에 NO라고 답하는 사람들의 공통점은 정말 재미있게도 하나의 공통점을 가지고 있는데요.

 

 

그것은 바로, "부화뇌동"이라는 것입니다.

 

 

부화뇌동(附和雷同) : 천둥 소리에 맞춰 함께 한다. 는 뜻인것은 이미 독자분들도 다 알고 계시리라 생각합니다.

 

 

시장에서 부화뇌동하는 사람이란것은 오르면 오르는대로 추격매수하고, 내리면 내리는대로 추격매도하며

시장이 오르지도 내리지도 않고 정체된 흐름에서는 매매를 하지 않으면 몸살이 날 것 같은 투자자를 말하는데요.

 

 

아래를 한번 보시죠.

 

 

 

YES라고 답하는 사람들을 만나 얘기 해보면 두 가지의 공통점이 있으면서도 상세한 방법적인 부분에서는 제각각인 희안한 일을 많이 경험합니다.

 

 

두 가지 공통점은,

1. 일관된 매매 원칙을 가지고 있다.

2. 향후 시장의 흐름의 예측과 대응에 자신이 없을때는 철저하게 쉬어간다.

 

 

 

투자 대상이 주식이나 선물, 옵션이든 상관없이 돈 버는 방법은 다양합니다.

 

 

추세 추종형 매매만 하거나, 비추세만 기다리거나, 상승만 기다리거나, 하락만 기다리거나, 시장의 등락이 좁은 구간에서만 매매 하거나 자신의 기준에 맞게 다양한 매매를 하고 있더란 말이지요.

 

 

그러나 "꾸준한 수익"을 이루지 못하는 분들은 이것저것 다 하려고 기웃거리기 바쁩니다.

 

 

시장의 흐름을 면밀히 관찰하여 특정 흐름이 발생되기 위한 전조 증상은 없는지 과연 그것이 필수조건인지 경우에 따라 다른것인지 꾸준히 관찰하고 상승과 하락, 변동성 증가와 감소 등 어떤 상황에 잘 맞는지 조금씩 범위를 좁혀가면서 확률을 따져보고 놓친것은 없는지 추가로 고려해야 될 대상은 무엇이 있는지 깊이 생각 해보아야 "매매 로직"이 탄생하며 이렇게 탄생한 매매 로직 조차도 꾸준한 수익을 창출할 수 있는 반열에 오르지 못하는 경우가 허다합니다.

 

 

나름 복잡하고 긴 시간과 노력이 필요한 매매 로직의 탄생 프로세스를 반복해야만 그나마 나은 로직이 나옵니다.

 

 

NO라고 답하신분들은 아마도 위 프로세스를 단 한번도 경험해보지 못했거나 조금 하다만 말 그대로 부화뇌동 한 분들일 가능성이 높습니다.

 

 

시장은 늘 공평하지 않습니다.

우리가 살아가는 현실 세계도 마찬가지고요.

 

 

공평하고 공정한 것을 기대하고 기다리다가는 남은 인생이 다 가고 시간이 모자랄지 모릅니다.

남들이야 어떤 권모술수를 쓰던지 상관하지 말고 나 스스로가 공평하고 공정한 게임을 할 것을 다짐하고 열심을 다 한다면 못 이룰 업적은 없다고 생각합니다.

 

 

시장의 흐름이 출렁인다고 덩달아 부화뇌동하지 말고 중심을 잘 잡는 투자자가 되시기를 당부드립니다.

 

 

 

 

Posted by 투자의神
아이디어, 알고리즘2017. 10. 21. 09:13

 

 

안녕하세요.

 

 

블로그를 개설 해두고 가만히 생각해보니 일반적인 개인들이 시스템 트레이딩의 영역에 진입하기가 쉽지 않을것 같은

생각이 문득 들었습니다.

 

 

물론 (저도 거쳐오기도 했던) Yes Language를 사용하는 Yes Trader라는 프로그램이 조금 수월한 편이긴 합니다만,

아주 세밀한 데이터가 없다보니 저처럼 방대한 양의 데이터를 두고 시뮬레이션하는 것보다 정확도가 조금 떨어질 수 밖에 없습니다.

 

 

하지만 자신의 아이디어 또는 매매 전략이 단순하고 방대한 양의 데이터가 필요한 상황이 아니라면 Yes Trader (YT)를 사용해도 무방합니다.

 

 

YT는 기본적으로 분, 일, 주, 월 데이터는 충분히 제공하고 있기 때문이죠.

 

 

제 전략은 1초에도 수십틱(Tick)씩 쏟아지는 체결과 호가 데이터를 참조하여 가급적 시장 평균 그리고 제가 구현하고자 하는 로직의 가상의 결과값의 평균치와 근사치를 이루려다보니 YT를 사용하지 않을뿐이죠.

 

 

YT는 데이터베이스를 설치하지 않아도 되며 빠른 컴퓨터 성능을 요구하지 않으며 Yes Language가 난이도가 낮기 때문에 누구나 약 며칠 정도의 시간만 투자 한다면 충분히 원하는 시뮬레이션을 실행하여 결과를 확인할 수 있고

매매 전략의 성능이 어느정도인지 가늠할 수 있도록 성능분석 기능도 제공하고 있습니다.

 

 

 

YT등 기성 플랫폼을 이용하는 방법

필자의 방법

 장점

진입장벽이 낮고 약간의 노력만으로도 제법 괜찮은 시뮬레이션 또는 실거래 전략을 구현 해볼 수 있다.

 

깔끔한 성능보고서 정보 제공도 한 몫한다.

 

다양한 영역에 걸쳐 많은 양의 데이터를 축적 해두고 언제든지 아이디어를 기반으로 시뮬레이션 해볼 수 있다.

 

한마디로, 입맛대로 하고 싶은것을 다 해볼 수 있고 이러한 프로그램은 속도가 아주 빠르다.

(초당 최소 수백만번 이상의 연산이 가능)

 

 단점

1초에도 수십건 이상씩 쏟아지는 데이터들은 그 양이 엄청나기 때문에 YT 운영사 방침상 이러한 부분까지 모두 감안한 구현은 불가능하다.

 

프로그래밍 언어를 배우는데 YT에 비해 짧게는 수십배 길게는 수백배 이상의 시간과 노력이 필요하다.

 

프로그래밍 언어뿐 아니라 운영체제, 데이터베이스, 네트워크 등 여러가지 분야에서 일정수준 이상의 능력치가 요구된다.

 

성능보고서 등도 별도로 만들어야 되며 전체적으로 모든 부분에 있어서 시간과 시간의 경과에 따른 비용이 증가한다.

 

 

 

적고보니,

기성 플랫폼은 장점도 적고 단점도 적은 양상이고, 필자의 방법은 장점도 많고 그 반대급부인 단점도 상당합니다.

 

 

필자의 방법은 대체적으로 진입장벽이 "너무 높다"로 단점의 내용이 정리 되는데요.

그렇지만 어느정도 익숙 해지면 오히려 더 쉽고 빠른길이 될 수 있고 처리 성능 등에 대한 장점이 어마어마 하기 때문에 가히 매력적이라 할 만합니다.

 

 

얘기가 상당히 샛길로 빠지고 있는데요.

 

 

요는,

아이디어는 있으나 테스트 해볼만한 실력이 안되거나 데이터가 없거나 하는 등의 상황에 처한 분들께 도움을 드리고자

제가 가진 데이터를 기반으로 시뮬레이션을 해보고 본 카테고리를 통해 결과값을 공개 하도록 하겠습니다.

 

 

상세한 값은 최초 아이디어를 제공하신분의 지적재산권 보호 차원에서 비공개로 하되 큰틀에서 대략적인 부분은 공개하는 조건부로 "별도의 비용이 전혀 없이 무료"로 진행합니다.

 

 

아이디어를 기반으로 시뮬레이터를 작성하는데 짧게는 몇분에서 길게는 며칠이 소요될 수 있으며,

시뮬레이터를 구동함에 있어서 짧게는 몇분에서 길게는 알 수 없는 시간이 소요되며 시뮬레이션의 양에 따라 달라질 수 있습니다.

 

 

시뮬레이션이 가능한 범위는,

국내 주식, 선물, 옵션의 틱/분/일 데이터를 기반으로 하면 상관없습니다.

 

 

해외 선물과 옵션의 데이터는 확보된 데이터가 있으나 그 양이 적은 관계로 추가 확보를 위해 노력중이며 이 부분은 추후 재공지토록 하겠습니다.

 

 

현재 돛단배 한척밖에 가진게 없다 하더라도,

더 큰 바다에 나가 더 큰 파도와 멋진 한판 승부를 해보고 싶은 분들의 많은 관심 바랍니다.

 

 

감사합니다.

 

 

Posted by 투자의神