728x90
반응형

1. 국내주식 55

(파이썬) for문 활용 (3) - 단어 뒤에 숫자 붙여서 출력하기

목 차 1. 들어가며 2. 필요성 3. 사전준비 ① 단어 + 숫자 → 에러 발생 (패턴이 정의되지 않음) ② "단어" + 숫자 → 에러 발생 (문자와 숫자는 연결해서 출력 안됨) ③ "단어" + "숫자" → 출력 성공 (문자형과 문자형을 연결하였기 때문에 출력 성공) 4. for문을 통해 특정단어의 끝에 붙은 숫자 증가시키기 ① "단어" + "문자형 변수(i)" → "단어i"로 출력 (실패) ② "단어" + 변수 str(i) → 당초 의도한 대로 출력 (성공) 5. 마치며 1. 들어가며 주식 자동 매매 시스템을 구축하기 위해서 많이 쓰이는 모듈 중 하나가 for문일 것이다. for문은 한정된 범위에서 사용자가 정한 범위(range)에서 데이터를 얻어올 때 주로 쓰인다. 이 글에서는 for문을 통해 특정단..

(엑셀) 주식 자동 매매를 위한 알고리즘 패턴 찾기 (4) 패턴별 승률을 엑셀로 계산해보기 (카카오 035720)

목 차 1. 들어가며 2. 사전준비 (엑셀 함수 설명) 1) MAX(범위), ,MIN(범위) 2) MATCH(특정값, 범위, 0) 3) IF 함수를 활용하여, 2개의 행(row)에 대해 비교하여, 승/패를 부여한다 4) countifs를 활용하여, 조건에 맞는 내용의 갯수를 확인한다. 3. 엑셀 설명 1) 1분봉을 키움서버에서 다운 받을 후 필요없는 내용은 삭제한다. 2) 패턴을 조합하고, 패턴의 중복된 데이터를 없앤다. 3) 각 패턴에 따른 최대값/최소값의 행을 구하고, if를 통해 승/패를 계산한다. 4) 중복값을 없애고, 각 패턴의 출현 빈도는 countifs 함수로 계산한다. 4. 주의사항 5. 마치며 1. 들어가며 이전 글에서는 주식 1분봉 모음 추출한 패턴을 파이썬에 적용해 보았다. 장 종료로..

(파이썬) TypeError: missing 1 required positional argument: 'self'

목차 1. 들어가며 2. 코드 내용 3-1. 사례별 분석(1차) - 개별 사례 설명 3-2. 사례별 분석(2차) - print문으로 찍어보기 4. 마치며 1. 들어가며 파이썬으로 코딩을 하다보면 자주 접하게 되는 오류가 TypeError: aaa() missing 1 required positional argument: 'self' 이다. → aaa()로 되어 있는 괄호에 1개의 인자가 필요하다는 뜻이다. 동 내용이 필요한 이유는, 주식 자동 매매를 하기 위해서는, 클래스 내 1번 함수를 실행하고, 1번 함수에 2번 함수를 실행하게 해두었는데, 위와 같은 오류가 발생한다. → 즉, 1번·2번 함수가 각각 실행되어 있고, 1번 함수를 실행하면, 그 후속으로 2번 함수 실행 코드를 작성하다가 나온 오류 2...

(주식 자동 매매) 키움증권 OpenAPI - 거래명세원 받기(opt10002)

1. 들어가며 단타를 하는 일부 주식 고수들은 시간대 별로 기관/외인의 거래량을 본다고 한다. 키움에서 거래원(거래량이 많은 기관/외인)을 보는 화면 번호는 0129이다. 아래의 거래원을 구현할 수 있는 코드를 구현해 보고자 한다. ('22.9.30 기준) 2. 사전 준비 KOA StudioSA에 로그인하면, 아래와 같이 TR요청 목록에서 정보를 얻을 수 있다. ① KOA StudioSA의 TR목록 탭을 선택 ② opt10002에서는 input은 1가지(종목코드)를 ④에 입력 ③ 사용할 함수 2개 : SetInputValue 함수(서버에 입력), CommRqData 함수(서버에 요청) ④ 종목코드 입력 ⑤ 종목코드, 종목명, 주요 거래원 등을 출력 ※ TR요청의 파이썬 코드 만드는 방법 1) SetInp..

(파이썬) ValueError: All arrays must be of the same length

1. 들어가며 키움증권 OpenAPI를 활용하여 주식거래원(opt10002)을 알아보기 위해 데이터프레임에서 데이터를 만든 후, 파이썬에서 출력을 하려고 하는데, 아래 오류가 발생한다. 오류의 주요 내용은 ValueError: All arrays must be of the same length 이다. "배열의 길이는 모두 같아야 한다"는 내용이다. 단순히 문자 갯수를 말하는 것인가? 이해가 안되는 문장이다. 자칫 잘못 알아들으면, 데이터프레임 안의 문자는 "문자 갯수"가 같아야 한다는 말로 오해할 수도 있을거 같다. 2. 오류 원인 오류 내용은 ValueError: All arrays must be of the same length 이다. "배열의 길이는 모두 같아야 한다"는 내용이다. 쉽게 이야기하면,..

(주식 자동매매) 키움증권에서 받아온 1분봉을 오름차순으로 바꾸는 방법

1. 들어가며 이전 글에서는 키움증권 영웅문에서 1분봉을 받아오는 방법을 알아보았다. 키움서버는 최초 1분봉 조회 시 "내림차 순"으로 자료를 제공한다. 최근 자료를 기존 자료에 누적시키다보니 일어나는 현상으로 이해된다. 1분봉을 다운 받을 때, "이전 일자부터 보임"을 누르지 않고, 바로 "데이터를 엑셀로 저장"을 누르면, 다운 받은 엑셀파일에는 내림차 순으로 자료가 정렬되어, 오름차순으로 자료를 다시 한번 정리해 주어야 하는 번거로움이 있다. 이 글에서는 내림차 순으로 받은 자료를 오름차 순으로 변경하는 방법을 간략하게 설명하고자 한다. 2. 오름차순 자료의 정렬 의미 및 필요성 우선 내림차순/오름차순 용어를 정의해 보자 내림차순 : 10, 9, 8.... 3, 2, 1로 큰 숫자가 맨 처음 나오는 ..

(주식 자동 매매) 키움증권 OpenAPI - 파이썬을 통해 1분봉 받기 (opt10080)

1. 들어가며 지난 글에서는 키움증권 OpenAPI를 이용하여, 4종목의 1분봉 데이터를 엑셀에 저장해 보았다. 참고 : https://springcoming.tistory.com/27?category=1048804 (주식 자동 매매) 키움증권 OpenAPI - 1분봉 데이터 실시간 받기(opt10080) 1. 들어가며 지난 시간에는 키움증권 OpenAPI를 통해 이미 매수하여 계좌에 보유중인 4종목의 매수가격과 매수량을 출력해 보았다. 이번에는 키움증권 OpenAPI를 활용하여 4종목의 1분봉 데이터를 받 springcoming.tistory.com 이번 글에서는 파이썬을 이용하여 삼성전자(005930)의 1분봉 데이터 900개를 다운받아 엑셀에 저장해 보자. ※ 아래에서는 영웅문에 직접 접속하여 다운..

(주식 자동 매매) 키움증권 OpenAPI - 미체결 주문내역 가져와서 주문취소하기 (2) (opt10075 + SendOrder)

1. 들어가며 지난 글에서는 OpenAPI를 활용하여 미체결 TR요청(opt10075)를 알아보았다. 받아온 데이터는 문자형이었고, 주문번호 앞에는 0이 붙어있었다. 맨 앞의 0은 int를 붙여서, 정수화 시키는 작업이 필요하다. 이번 글에서는 opt10075를 통해 받아온 주문번호를 통해 기 제출한 매도주문의 취소를 파이썬을 통해 실행하는 내용과 매도취소가 제대로 진행되었는지 확인하는 내용(미체결 주문 취소가 되었는지)을 알아보자. 키움증권 영웅문에서 매도주문을 직접 제출/체결되었다. (매도 주문번호가 생성됨) 파이썬에서 opt10075 함수를 실행하여 매도 주문번호를 알아낼 것이고 파이썬을 통해 SendOrder 매도취소를 실행할 것이다. 2. 사전 준비 미체결요청(opt10075)와 매도취소(Sen..

(주식 자동 매매) 키움증권 OpenAPI - 미체결 주문을 SendOrder 함수로 취소하기 (3) 주문번호와 원주문번호 구분 필요

1. 들어가며 지난 글에서는 키움증권 OpenAPI의 SendOrder 함수를 이용하여 미체결 주문을 취소했다. 이번 글에서는 이미 제출한 주문에 대한 취소주문에 적용되는 번호가 "주문번호"인지 "원주문번호"인지 구분을 할 것이다. 구분이 필요한 이유는, 필자도 지금껏 취소할 때 들어가는 주문번호는 "원주문번호"라고 착각했기 때문인다. → 실제 취소할 때, 필요한 번호는 매도주문 당시 부여받은 "주문번호"이다. 위 착각을 일으키는 결정적인 이유는, 안타깝게도 Koa Studio와 개발가이드에 혼동 소지가 있는 내용을 기재하였기 때문이다. 2. 검토 배경 지난번에도 설명했지만, SendOrder함수의 9개 변수 중 3개는 제대로 넣어주어야 한다. * 3개 : 주문유형(1매수, 2매도, 4매도취소 등), 종..

728x90
반응형