728x90
반응형

분류 전체보기 234

(키움증권 해외선물 OpenAPI-W) 1분봉 데이터로 3분봉, 60분봉 만들기 (3) 리스트문과 for문 활용 (중급)

목 차 1. 들어가기 2. 사전설명 1) 리스트 내 for문 작성하기 2) 리스트 내 for문의 실제 활용 형태 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가기지난 글에서는 1분봉 데이터를 활용하여 3분봉 데이터를 구하는 방법을 알아보았다. 각 분(minute)을 3으로 나누어 몫(quotient)과 나머지(remainder)을 구하여 3분봉 데이터를 추출할 수 있는 접근법이었다. 이번 글에서는 지난글의 코드를 조금씩 줄여나가는 방법에 대해 알아볼 예정이다. 처음부터 간략한 코드를 설명할까 생각했는데, 장문의 코드가 단문으로 줄어드는 과정을 보여주는 것도 좋아보여서 지난글(총 134줄)이 길어졌던거 같다. 2. 사전설명1) 리스트 내 for문 작성하기그 동안은 코드가 길어지더라도 for문과 리스트..

(키움증권 해외선물 OpenAPI-W) 1분봉 데이터로 3분봉, 60분봉 만들기 (2) 3분봉 받아보기 (초급)

목 차 1. 들어가며 2. 사전설명 1) WKOA Studio 확인하기 2) 체결시간의 데이터 활용 순서 3) 데이터 결과값 확인 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며지난 글에서는 1분봉 데이터 모음으로 3분봉을 만드는 개념에 대해 알아보았다. 3의 배수에 해당하는 분(minute)이 첫번째 거래가격의 시가이며, 3분 ~ (3분+2)까지 최대값 및 최소값, (3분+2분)의 마지막 거래 가격이 3분봉의 종가였다. 3분봉 개념은 당연히 알거 같은데, 확인차 개념을 설명하였다. 이번 글에서는 1분봉 데이터 모음으로 3분봉 만드는 코드를 설명할 예정이다. 2. 사전설명1) WKOA Studio 확인하기에서 분차트조회를 통해 TR목록의 결과값(output)으로 체결시간(④)을 얻을 ..

(키움증권 해외선물 OpenAPI-W) 1분봉 데이터로 3분봉, 60분봉 만들기 (1) 개념 이해하기

목 차 1. 들어가며 2. 3분봉 데이터 개념의 이해 3. 마치며 1. 들어가며 지난 글에서는 해외선물 자동매매를 위한 시스템 구성에 대해 알아보았다. 파이썬 언어가 생소해 내용이 낯설게 느껴질 수도 있지만, 인내심을 가지고 공부시간을 차차 늘려가면, 어느새엔가 해외선물을 본인의 뜻대로 실행하고 있는 자신을 발견하게 될 것이다. 이번 글에서는 1분봉 데이터 모음으로 3분봉, 60분봉 만드는 방법을 알아보자. 혹자는 "해외선물 자동매매 시스템을 통해 1분봉, 3분봉, 60분봉을 각각 받을 수 있을텐데, 왜 1분봉으로 3분봉이나 60분봉을 만드는지?"로 생각할 수 있다. 필자도 그 말에 전적으로 동감한다. 다만, 키움증권에서는 과도한 데이터의 조회를 제한하기 위해 CommRqData를 통해 "조회수 제한"을..

(키움증권 해외선물 자동매매 파이썬) 22. 진입/청산 알고리즘 구상하기(完)

목 차 1. 들어가며 2. 사전설명 3. 엑셀로 수익/손실 검증하기 4. 마치며 1. 들어가며 지난 글에서는 매매내역을 엑셀로 내보내는 코드를 알아보았다. 사용자 취향에 따라 엑셀이든, csv이든 매매내역을 보관하고 싶다면, 한번 정도는 시도해 볼만한 "매매내역의 엑셀 보내기"의 내용이었을 것이다. 이번 글에서는 진입/청산 알고리즘을 구상하는 방법에 대해 설명해 보고자 한다. 이번 글(22번)을 마지막으로 1번 글부터 진행하였던, 해외선물 자동매매 코드에 대한 설명을 마무리하려고 한다. 앞에서도 언급하였지만 해선 자동매매에 대한 글은 꾸준히 쓸 것이다. 이렇게 앞의 내용을 이어가면서 글을 쓰는 것을 마무리 할 것이라는 뜻이다. 주식, 해외선물, 암호화폐 등 사람들 간의 거래에 의해 가격이 결정되는 구조에..

(키움증권 해외선물 자동매매 파이썬) 21. 매매내역을 엑셀로 기록하기

목 차 1. 들어가며 2. 사전설명 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며 지난 글에서는 해외선물 매매의 오버나잇(overnight) 피하기에 대해 알아보았다. 이또한 투자성향에 따라 다르겠지만, 오버나잇은 왠만하면 안하는 방향으로 생각하고 있다. 이유는? 아침에 일어나 수익/손실을 확인했는데, "손실"로 하루를 시작하면 그날 하루가 정말 안 좋게 진행되는 경우가 많았기 때문이다. 이번 글에서는 매매내역을 엑셀의 로그 기록하기에 대해 알아볼 것이다. 이 내용 또한 예전에 설명한 적이 있다. 파이참의 결과값을 엑셀로 보내기에 해당하는 글은 링크(https://springcoming.tistory.com/30)에서 확인할 수 있다. 사실 자동매매 코드를 작성하는 것은 알고리즘에 따른 진입을 ..

(키움증권 해외선물 자동매매 파이썬) 20. 오버나잇(overnight) 피하는 방법 (매매 종료시간 설정)

목 차 1. 들어가며 2. 사전설명 1) 청산후 대기(time.sleep)하는 방법 2) 청산후 시스템 종료(shutdown)하는 방법 3. 전체코드 4. 전체코드 5. 마치며 1. 들어가며 지난 글에서는 "진입후 매매시간 및 청산후 대기시간" 설정에 대해 알아보았다. 개인의 투자성향에 따라 달리 설정하거나, 아예 미설정할 수 있는 내용이다. 사용자가 잘 판단하여 본인의 프로그램에 적용하자. 필자의 경우도 "진입후 매매시간"을 1시간 설정을 바꿀 의향이 있다. 1시간은 너무 길어서 "시장의 변동성"에 유연하게 대응하지 못할 것 같기 때문이다. 매매시간을 수정할지는 차차 고민해볼 문제이다. 이번 글에서는 매매정지를 위해 자동매매 시스템을 멈추는 방법을 알아보자. 필자의 경우 오버나잇(overnight)을 ..

(키움증권 해외선물 자동매매 파이썬) 19. 매매시간 및 대기시간 설정

목 차 1. 들어가며 2. 사전설명 1) 진입후 매매시간 설정 필요성 2) 청산후 대기시간 설정 필요성 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며 지난 글에서는 진입/청산 시도횟수를 구하는 방법을 알아보았다. 개인의 취향이겠지만, 자동매매 과정에서 파이참(pycharm) 화면에 아무것도 출력되지 않는다면, 매매가 제대로 이루어지고 있는지 고민이 많을 것이다. 자동매매 시스템에 익숙해질 때까지는 화면에 시도횟수를 출력하는 것도 좋아보인다. 이번 글에서는 시간을 설정/제한하는 방법을 알아보자. 2. 사전설명 1) 진입후 매매시간 설정 필요성 long이든 short이든 진입을 해서 수익/손실로 설정한 값에 도달하면 청산을 하는 경우로 설정한다. 그런데, 진입 후 횡보장일 때 어떻게 할 것인가? 대..

(키움증권 해외선물 자동매매 파이썬) 18. 진입/청산 시도횟수 체크하기

목 차 1. 들어가며 2. 사전설명 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며 지난 글에서는 시간대별 다른 코드 적용을 위한 "시간 구분"에 대해 알아보았다. 현재시간을 구하고, while을 이용하여 일정시간 반복 및 if, elif, else를 통해 시간구분을 할 수 있을 것이다. 이번 글에서는 진입/청산 시도횟수 체크하기에 대해 알아볼 것이다. 진입/청산 시도횟수 체크하는 것이 필요한 이유는 무엇일까? 자동매매 시스템을 구축하였다고는 해도, 제대로 돌아가는건지 의문이 들 때가 많다. 파이썬이라는 낯선 언어, 키움증권API를 통해 키움서버에 접속하여 데이터를 요청하고 받아오는 행위가 제대로 이루어지고 있는지 확인하고 싶을 때가 많다. 이러한 이유로 "진입/청산 시도횟수" 체크 및 출력을 통..

(키움증권 해외선물 자동매매 파이썬) 17. 시간별 다른 코드 적용하기

목 차 1. 들어가며 2. 사전설명 1) 현재시간 출력 2) 일정시간 코드 실행 3) 시간 구분하는 방법 3. 코드설명 1) 현재시간 출력하기 2) 시간 구분하기 4. 전체코드 5. 마치며 1. 들어가며 지난 글에서는 "현재시간" 출력하는 방법을 알아보았다. 파이썬의 datetime 라이브러리를 활용하였고, 생각보다 코드가 간단하다는 것을 느꼈다. 이번 글에서는 시간별 다른 코드 적용하는 방법을 알아볼 것이다. 제목이 부담스러울 정도로 거창하긴 한데, "시간대별 다른 코드 적용"하는 코드도 간단하니, 부담없이 알아보도록 하자. 2. 사전설명 시간별로 다른 코드(알고리즘)을 적용하기 위해 우리가 알아야 할 3가지는 첫번째 현재시간 출력이며, 두번째는 일정시간마다 코드 실행, 마지막으로 "다른 시간"을 구분..

(키움증권 해외선물 자동매매 파이썬) 16. 현재시간 출력하기

목 차 1. 들어가며 2. 사전설명 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며 지난 글에서는 해외선물 거래를 위해 필요한 보조지표를 얻는 방법을 알아보았다. 보조지표는 어디까지나 매매를 위한 보조수단일뿐 지나치게 맹신하지 않아야 한다. 이유는? 시장은 항상 변하기 때문이다. 이번 글에서는 해외선물 자동매매를 위해 필요한 "시간 관리"에 대해 알아볼 것이다. 시간 관리가 필요한 이유는 무엇일까? 서머타임(3월중순 ~ 11월초) 기준으로 아침7시~익일 6시까지 23시간 시장이 열려있다. 이 중 거래량이 폭발적으로 증가하는 미국장이 개장하는 22:30~05:00까지의 알고리즘과 05:00~22:30분까지의 적용할 알고리즘이 동일할 수는 없을 것이다. 왜냐하면, 거래량과 선물가격의 변화량에서 압도적..

728x90
반응형