Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽어보세요

마지막 업데이트: 2022년 6월 5일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
728×90 작년부터 주식이나 코인에 관심을 갖는 젊은 분들이 많이 늘어난 것 같습니다. 예전에는 주로 40~50대 아저씨들과 만났을 때나 주로 들리던 주제인데, 요즘은 젊은 사람들 사이에서도 많이 얘기가 오가고, 대학교에서도 투자 스터디나 동아리들이 생기고 있다고 하네요. 특히, 요즘 젊은 층의 주식 투자는 예전보다 훨씬 스마트해지고 있는데, 다양한 인공지능을 활용한 투자 서비스를 활용한다든가, 아니면 코딩을 할 줄 아는 사람들은 본인이 직접 주식 데이터를 활용하여 최적의 투자 방법을 수립하거나 주가를 예측하는 알고리즘 트레이딩, 또는 퀀트 방법을 활용하기도 합니다. 알고리즘 트레이딩이나 주식 분석을 하기 위해서 가장 먼저 필요한 것은 바로 과거 주가 데이터입니다. 주가 데이터를 제대로 확보할 수 있는 것에서 부터 모든 것이 시작된다고 볼 수 있죠. 다른 데이터 분석과 달리 주가 데이터 분석은 데이터 확보 측면에 있어서 많은 이점이 있는데, KOSPI, KOSDAQ 상장된 주식은 한국거래소에 의해서 주가정보가 모두 공개되어 있다는 점입니다. 따라서 다양한 사이트나 앱, 신문 등을 통해 주가 정보를 확인할 수 있습니다. 하지만 한 두 종목의 주가가 아닌, 다량의 종목, 또는 수년 치의 장기간 주가정보를 확보하기 위해서는 데이터가 체계적으로 정리되어 제공하거나 수집하는 방법이 필요한데요, 크게 1) API, 2) 크롤링, 3) 데이터 구매 방법이 있습니다. 각 방법마다 특성이 다르기 때문에 본인에게 편리한 방법을 선택해서 활용하시는 것이 좋습니다. 1> API API는 데이터나 서비스를 외부에서 이용할 수 있게 제공하는 인터페이스로, 우리나라에서 주가데이터를 제공하는 API로는 국내 주식으로는 대표적으로 대신증권 Cybos Plus, 키움증권 OpenAPI+, 이베스트투자증권 XingAPI가 있습니다. 이 증권사에서 제공하는 API는 일반적으로 많이 사용하는 일 단위 주가 뿐만 주, 월, 분 단위 등 다양한 데이터를 잘 정제하여 제공하고 있고, 각 증권사에서 지속적인 업데이트 및 관리를 하고 있어서 이용방법에 대한 문서화가 잘 되어 있는 편이며 Q&A 게시판 등을 통해 문의가 가능하기 때문에 기술지원이 비교적 잘 된다는 장점이 있습니다. 또한 API는 주가 데이터 제공 뿐만 아니라 매매 기능도 제공하고 있기 때문에, 주식 분석에서 나아가 자동 매매까지 구현하는 하나의 완결된 트레이딩 시스템을 만들기 위해서는 API 활용이 필수적입니다. 반면 API를 활용하기 위해서는 해당 제공사의 사이트에 회원가입을 해야하며, 증권계좌개설이 필요한 곳도 있기 때문에 등록절차가 번거로울 수 있습니다. 그리고 상당부분 이용자가 추가적인 가공, 분석을 할 것을 전제로 데이터를 제공하기 때문에, 다양한 분석 지표정보는 별도로 제공하지 않는 경우가 많습니다. 그리고 각 API마다 사용방법에 차이가 있기 때문에 사용하는 해당 API의 활용법에 대해 따로 약간의 공부가 필요한 점도 작은 단점이라고 볼 수 있겠네요. + 요인 : 많은 raw 데이터 확보 가능 / 이용 및 기술지원이 용이 / 자동 매매 구현 가능 – 요인 : 최초 이용절차를 거쳐야 함 / 고수준의 지표 정보가 적음 / API마다 사용방법에 차이가 있음 2> 크롤링 크롤링은 웹페이지 상에서 표시되는 숫자, 텍스트들을 긁어서 파일이나 데이터로 정리하는 것을 말합니다. 따라서 크롤링으로 주식 데이터를 수집하기 위해서는 주가 정보를 검색할 수 있는 사이트를 참고하는데요. 이러한 사이트들로는 포털 사이트의 증권 페이지, 경제지 사이트, 증권사 사이트 등 여러 군데가 있는데, 우리나라에서는 주로 네이버 증권을 많이 이용하는 것 같습니다. 시중의 주식 분석이나 퀀트 관련된 책들은 대부분 네이버 증권에서 데이터 크롤링하는 방법을 많이 알려주고 있습니다. 보통 증권 사이트의 경우 주가 정보 뿐만 아니라 각 종목의 재무정보, PER/PBR 등 부가지표, 배당률 등 참고할 만한 다양한 수치를 제공하기 때문에 API보다 많은 종류의 데이터를 확보할 수 가능성이 있고, 데이터들도 잘 정제되어 있습니다. 하지만 복잡한 웹 화면에서 데이터를 올바르게 가져오려면 해당 웹페이지의 html 구조에 맞게 코드를 잘 짜야하고, 텍스트로 가져온 데이터를 테이블 형태로 정갈하게 다듬기 위해 손이 많이 가는 편입니다. 다행히 네이버 증권의 경우 시중의 많은 책이나 인터넷에 크롤링하는 미리 구현된 코드가 많기 때문에 이를 참고하시면 금방 만들 수 있습니다. 단점으로는 자주있는 일은 아니지만 해당 사이트가 개편되어 html 구조가 변경될 경우 코드를 전면적으로 수정해야하고, 마지막으로 해당 사이트가 정책에 따라 크롤링으로 인해 과도한 트래픽 발생 시 차단될 가능성이 있습니다. 과도한 트래픽 차단을 위한 호출횟수 제한은 API에도 존재하지만, API는 명확한 기준이 있는 반면 크롤링은 그러한 기준이 없기 때문에 나도 모르게 과다 호출한 경우 임의로 차단될 수 있는 가능성이 존재합니다. 다행히 네이버증권의 경우 일반적인 수준의 주가 데이터 수집을 위해 크롤링하거나 크롤링한 데이터를 활용하는 것에 대해 특별한 제재를 하지는 않는 것으로 보입니다. 따라서 크롤링의 단점은 현재 당장 문제가 되는 것은 아니고 잠재적으로 존재한다고 이해하시면 될 것 같습니다. + 요인 : 다양한 기업정보 및 지표 데이터 확보 가능 / 별다른 절차 없이 이용 가능 – 요인 : 데이터 전처리 필요 / 사이트의 구조나 정책이 변경될 경우 애로사항이 발생 3> 데이터 구매 API처럼 체계적으로 관리되고, 크롤링처럼 다양하고 고품질 데이터를 얻을 수 있는 두 가지 요소를 모두 갖춘 방법이 바로 데이터 구매입니다. 주가 데이터를 정제하고 판매하는 곳은 여러 군데가 존재할 것으로 생각되나 가장 대표적으로는 한국거래소의 ‘KRX 정보데이터시스템’과 코스콤의 ‘코스콤 데이터몰’이 있습니다. 유료 서비스인 만큼 깔끔하게 정리된 주가 자료를 파일 형태로 받을 수 있기 때문에 별 다른 코딩이나 데이터 처리 없이도 ‘돈만 내면’ 바로 이용할 수 있다는 장점이 있습니다. 하지만 무료로 이용할 수 있는 API나 크롤링에 비하면 돈이 든다는 것이 치명적인 단점인데요. 코스콤 데이터몰의 경우 코스피, 코스닥 전 종목 하루치 주가 데이터가 5,000원, 수정주가 데이터는 7,000원이고 1년치 주가 데이터는 545,000원, 수정주가 데이터는 1,855,000원입니다. 회사 차원에서 활용하거나 아니면 이미 꾸준히 수익을 내고 있는 투자자라면 충분히 투자할 만한 액수라고 볼 수 있겠지만, 처음으로 테스트삼아 분석하거나 개발하는 개인 입장에서는 꽤 부담되는 가격입니다. 그래서 본인의 지출 가능한 금액과 효용을 따져서 이용하시면 좋겠습니다. + 요인 : 데이터의 종류 및 신뢰성 높음 / 코딩없이 바로 데이터 확보 가능 – 요인 : 개인 입장에서는 부담스러운 요금 발생 4> 결론 및 저의 선택 이상으로 세 가지 주가 데이터 수집방법의 특성과 장단점을 알아보았고, 그 중에서 저는 API방법을 선택했습니다. 그 이유는 API가 데이터를 좀 더 체계적으로 제공하기 때문에 코드가 알아보기 쉬워진다는 것이 가장 컸구요. 기초적인 활용방법을 인터넷의 학습자료를 참조해서 수집코드를 작성하면, 추가로 필요한 기능은 매뉴얼을 보고 금방 수정할 수 있을 것 같습니다. 그리고 API 중에서도 저는 이번에 대신증권의 Cybos Plus API를 활용하기로 했습니다. 원래 예전에 수집기 만들때는 이베스트투자증권의 Xing API를 이용했었는데, 장기간 주가 데이터를 활용하려면 일반적인 주가가 아닌 수정주가를 활용해야 하는데, Xing API는 수정주가를 제공하지 않고 수정비율이라는 보정할 수 있는 정보만 제공합니다. 하지만 이걸 활용해서도 중간중간 데이터가 잘 안맞는 구멍이 생겨서 이를 보정하기가 너무 힘들었구요. 그리고 Xing API는 단위시간 당 호출 한도가 적어서 전 종목 데이터를 가져오는데 시간도 오래걸리고 불편했습니다. 반면 Cybos Plus API는 코드도 훨씬 간단하고, 수정주가를 제공하며 호출 한도도 훨씬 널럴해서 수집시간도 적게들고 데이터도 훨씬 신뢰가 갔습니다. Xing API로는 몇날 몇일을 수집이랑 데이터 보정으로 고생했었는데, Cybos Plus API로는 반나절만에 코드를 대강 다 만들 수 있었네요. 다음 글에서는 Cybos Plus API로 과거 주가데이터를 수집하는 방법에 대해 설명드리도록 하겠습니다.

주식 데이터 수집 | 주식데이터 수집하기 | 판다스 주식 #01 인기 답변 업데이트

당신은 주제를 찾고 있습니까 “주식 데이터 수집 – 주식데이터 수집하기 | 판다스 주식 #01“? 다음 카테고리의 웹사이트 you.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: you.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 엑셀투파이썬 이(가) 작성한 기사에는 조회수 983회 및 좋아요 53개 개의 좋아요가 있습니다.

Table of Contents

주식 데이터 수집 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 주식데이터 수집하기 | 판다스 주식 #01 – 주식 데이터 수집 주제에 대한 세부정보를 참조하세요

#실전판다스_주식편
파이썬의 FinanceDataReader 와 pandas를 조합해서
종목별 일별 ohlcv data를 내가 원하는대로 수집하는 강의 1편입니다
더보기 누르시면 강의 모든 자료를 받을수 있는 링크가 있습니다

강의 자료 링크
https://kimpanda.tistory.com/60

만약 강의중 for문이 이해가 안되시면
https://youtu.be/5NBAtp-kTWY
위 강의를 참고하세요

00:00 인트로
01:42 FinanceDataReader
02:41 전종목 이름과 코드 가져오기
03:53 개별종목 기간별 주가 ohlcv 데이터 가져오기
05:07 여러종목 주가 데이터 하나의 표로 만들기
09:18 수집종목 엑셀파일에서 가져오기
11:47 종목명만 있을때 주가데이터 수집하기
13:26 전체코드 및 요약

주식 데이터 수집 주제에 대한 자세한 내용은 여기를 참조하세요.

주가 데이터 수집 방법별 특징 및 장단점 비교 – Ellun’s Library

크롤링은 웹페이지 상에서 표시되는 숫자, 텍스트들을 긁어서 파일이나 데이터로 정리하는 것을 말합니다. 따라서 크롤링으로 주식 데이터를 수집하기 …

Date Published: 9/28/2022

[R] KOSPI/KOSDAQ 전 종목 데이터 수집 및 관리

대한민국의 모든 주식 정보를 내 손 안에 가져올 수 있다? 자동으로 가져올 수 있는데 모르셨어요?

Date Published: 4/15/2022

한국 주식 데이터 무료 수집(csv 파일 제공) – velog

0에서 이어짐 결국 시스템 트레이딩을 해봐야겠다고 생각을 했다. 나는 미장(미국 주식 시장)을 하지 않기 때문에, 한국 주식 투자를 위해서 데이터를 …

Date Published: 5/13/2021

R을 이용한 해외 주식용 데이터 수집 – GitHub Pages

주식 데이터 다운로드의 기본, 티커(ticker); 국내는 6자리(예: 삼성은 005930), 해외는 영어 알파벳(예: 애플은 AAPL); 티커 리스트가 있어야 이를 바탕으로 각종 …

Date Published: 10/29/2021

나만 모르는 파이썬 주식데이터 수집하는 방법 TOP3는? – 테리엇

파이썬은 프로그래밍 언어이다. 다양한 패키지가 개발돼 있고, 문법이 쉬워 여러 분야에서 사용된다. 방법만 알면 데이터를 수집하고 분석하는 것도 …

Date Published: 8/4/2021

금융 데이터 수집하기 ①주식 데이터 – 서울프라퍼티인사이트

아래의 금융 데이터를 패키지를 통해 수집할 수 있다. 구분 데이터 상장 종목 목록 코스피, 코스닥, 코넥스 나스닥, 뉴욕증권거래소, S&P500 상하이증권 …

Date Published: 10/19/2021

파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기 | 강의

투자 강의가 아닙니다. 증권 데이터를 통한 데이터 수집, 분석과 시각화를 다룹니다. 다양한 데이터 포맷을 다루며 다양한 텍스트 전처리 기법을 익 …

Date Published: 12/29/2022

python 주식 데이터 수집하는 방법 (How to crawling stock data)

웹 크롤링으로 대부분의 웹 데이터를 수집할 수 있다고 합니다. 네이버 금융이나, 세이브로라는 증권 정보 사이트에서 다양한 데이터를 확인할 수 …

Date Published: 7/23/2022

TWBX 주식 데이터 수집

Date Published: 11/13/2021

주제와 관련된 이미지 주식 데이터 수집

주제와 관련된 더 많은 사진을 참조하십시오 주식데이터 수집하기 | 판다스 주식 #01. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

주식데이터 수집하기 | 판다스 주식 #01

주식데이터 수집하기 | 판다스 주식 #01

주제에 대한 기사 평가 주식 데이터 수집

  • Author: 엑셀투파이썬
  • Views: 조회수 983회
  • Likes: 좋아요 53개
  • Date Published: 2022. 5. 17.
  • Video Url link: https://www.youtube.com/watch?v=4FCcp4D9kMs

주가 데이터 수집 방법별 특징 및 장단점 비교

728×90

작년부터 주식이나 코인에 관심을 갖는 젊은 분들이 많이 늘어난 것 같습니다.

예전에는 주로 40~50대 아저씨들과 만났을 때나 주로 들리던 주제인데, 요즘은 젊은 사람들 사이에서도 많이 얘기가 오가고, 대학교에서도 투자 스터디나 동아리들이 생기고 있다고 하네요.

특히, 요즘 젊은 층의 주식 투자는 예전보다 훨씬 스마트해지고 있는데, 다양한 인공지능을 활용한 투자 서비스를 활용한다든가, 아니면 코딩을 할 줄 아는 사람들은 본인이 직접 주식 데이터를 활용하여 최적의 투자 방법을 수립하거나 주가를 예측하는 알고리즘 트레이딩, 또는 퀀트 방법을 활용하기도 합니다.

알고리즘 트레이딩이나 주식 분석을 하기 위해서 가장 먼저 필요한 것은 바로 과거 주가 데이터입니다.

주가 데이터를 제대로 확보할 수 있는 것에서 부터 모든 것이 시작된다고 볼 수 있죠.

다른 데이터 분석과 달리 주가 데이터 분석은 데이터 확보 측면에 있어서 많은 이점이 있는데, KOSPI, KOSDAQ 상장된 주식은 한국거래소에 의해서 주가정보가 모두 공개되어 있다는 점입니다. 따라서 다양한 사이트나 앱, 신문 등을 통해 주가 정보를 확인할 수 있습니다.

하지만 한 두 종목의 주가가 아닌, 다량의 종목, 또는 수년 치의 장기간 주가정보를 확보하기 위해서는 데이터가 체계적으로 정리되어 제공하거나 수집하는 방법이 필요한데요, 크게 1) API, 2) 크롤링, 3) 데이터 구매 방법이 있습니다. 각 방법마다 특성이 다르기 때문에 본인에게 편리한 방법을 선택해서 활용하시는 것이 좋습니다.

1> API

API는 데이터나 서비스를 외부에서 이용할 수 있게 제공하는 인터페이스로, 우리나라에서 주가데이터를 제공하는 API로는 국내 주식으로는 대표적으로 대신증권 Cybos Plus, 키움증권 OpenAPI+, 이베스트투자증권 XingAPI가 있습니다.

이 증권사에서 제공하는 API는 일반적으로 많이 사용하는 일 단위 주가 뿐만 주, 월, 분 단위 등 다양한 데이터를 잘 정제하여 제공하고 있고, 각 증권사에서 지속적인 업데이트 및 관리를 하고 있어서 이용방법에 대한 문서화가 잘 되어 있는 편이며 Q&A 게시판 등을 통해 문의가 가능하기 때문에 기술지원이 비교적 잘 된다는 장점이 있습니다.

또한 API는 주가 데이터 제공 뿐만 아니라 매매 기능도 제공하고 있기 때문에, 주식 분석에서 나아가 자동 매매까지 구현하는 하나의 완결된 트레이딩 시스템을 만들기 위해서는 API 활용이 필수적입니다.

반면 API를 활용하기 위해서는 해당 제공사의 사이트에 회원가입을 해야하며, 증권계좌개설이 필요한 곳도 있기 때문에 등록절차가 번거로울 수 있습니다. 그리고 상당부분 이용자가 추가적인 가공, 분석을 할 것을 전제로 데이터를 제공하기 때문에, 다양한 분석 지표정보는 별도로 제공하지 않는 경우가 많습니다. 그리고 각 API마다 사용방법에 차이가 있기 때문에 사용하는 해당 API의 활용법에 대해 따로 약간의 공부가 필요한 점도 작은 단점이라고 볼 수 있겠네요.

+ 요인 : 많은 raw 데이터 확보 가능 / 이용 및 기술지원이 용이 / 자동 매매 구현 가능

– 요인 : 최초 이용절차를 거쳐야 함 / 고수준의 지표 정보가 적음 / API마다 사용방법에 차이가 있음

2> 크롤링

크롤링은 웹페이지 상에서 표시되는 숫자, 텍스트들을 긁어서 파일이나 데이터로 정리하는 것을 말합니다. 따라서 크롤링으로 주식 데이터를 수집하기 위해서는 주가 정보를 검색할 수 있는 사이트를 참고하는데요. 이러한 사이트들로는 포털 사이트의 증권 페이지, 경제지 사이트, 증권사 사이트 등 여러 군데가 있는데, 우리나라에서는 주로 네이버 증권을 많이 이용하는 것 같습니다. 시중의 주식 분석이나 퀀트 관련된 책들은 대부분 네이버 증권에서 데이터 크롤링하는 방법을 많이 알려주고 있습니다.

보통 증권 사이트의 경우 주가 정보 뿐만 아니라 각 종목의 재무정보, PER/PBR 등 부가지표, 배당률 등 참고할 만한 다양한 수치를 제공하기 때문에 API보다 많은 종류의 데이터를 확보할 수 가능성이 있고, 데이터들도 잘 정제되어 있습니다.

하지만 복잡한 웹 화면에서 데이터를 올바르게 가져오려면 해당 웹페이지의 html 구조에 맞게 코드를 잘 짜야하고, 텍스트로 가져온 데이터를 테이블 형태로 정갈하게 다듬기 위해 손이 많이 가는 편입니다. 다행히 네이버 증권의 경우 시중의 많은 책이나 인터넷에 크롤링하는 미리 구현된 코드가 많기 때문에 이를 참고하시면 금방 만들 수 있습니다.

단점으로는 자주있는 일은 아니지만 해당 사이트가 개편되어 html 구조가 변경될 경우 코드를 전면적으로 수정해야하고, 마지막으로 해당 사이트가 정책에 따라 크롤링으로 인해 과도한 트래픽 발생 시 차단될 가능성이 있습니다. 과도한 트래픽 차단을 위한 호출횟수 제한은 API에도 존재하지만, API는 명확한 기준이 있는 반면 크롤링은 그러한 기준이 없기 때문에 나도 모르게 과다 호출한 경우 임의로 차단될 수 있는 가능성이 존재합니다.

다행히 네이버증권의 경우 일반적인 수준의 주가 데이터 수집을 위해 크롤링하거나 크롤링한 데이터를 활용하는 것에 대해 특별한 제재를 하지는 않는 것으로 보입니다. 따라서 크롤링의 단점은 현재 당장 문제가 되는 것은 아니고 잠재적으로 존재한다고 이해하시면 될 것 같습니다.

+ 요인 : 다양한 기업정보 및 지표 데이터 확보 가능 / 별다른 절차 없이 이용 가능

– 요인 : 데이터 전처리 필요 / 사이트의 구조나 정책이 변경될 경우 애로사항이 발생

3> 데이터 구매

API처럼 체계적으로 관리되고, 크롤링처럼 다양하고 고품질 데이터를 얻을 수 있는 두 가지 요소를 모두 갖춘 방법이 바로 데이터 구매입니다. 주가 데이터를 정제하고 판매하는 곳은 여러 군데가 존재할 것으로 생각되나 가장 대표적으로는 한국거래소의 ‘KRX 정보데이터시스템’과 코스콤의 ‘코스콤 데이터몰’이 있습니다.

유료 서비스인 만큼 깔끔하게 정리된 주가 자료를 파일 형태로 받을 수 있기 때문에 별 다른 코딩이나 데이터 처리 없이도 ‘돈만 Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽어보세요 내면’ 바로 이용할 수 있다는 장점이 있습니다.

하지만 무료로 이용할 수 있는 API나 크롤링에 비하면 돈이 든다는 것이 치명적인 단점인데요. 코스콤 데이터몰의 경우 코스피, 코스닥 전 종목 하루치 주가 데이터가 5,000원, 수정주가 데이터는 7,000원이고 1년치 주가 데이터는 545,000원, 수정주가 데이터는 1,855,000원입니다.

회사 차원에서 활용하거나 아니면 이미 꾸준히 수익을 내고 있는 투자자라면 충분히 투자할 만한 액수라고 볼 수 있겠지만, 처음으로 테스트삼아 분석하거나 개발하는 개인 입장에서는 꽤 부담되는 가격입니다. 그래서 본인의 지출 가능한 금액과 효용을 따져서 이용하시면 좋겠습니다.

+ 요인 : 데이터의 종류 및 신뢰성 높음 / 코딩없이 바로 데이터 확보 가능

– 요인 : 개인 입장에서는 부담스러운 요금 발생

4> 결론 및 저의 선택

이상으로 세 가지 주가 데이터 수집방법의 특성과 장단점을 알아보았고, 그 중에서 저는 API방법을 선택했습니다.

그 이유는 API가 데이터를 좀 더 체계적으로 제공하기 때문에 코드가 알아보기 쉬워진다는 것이 가장 컸구요. 기초적인 활용방법을 인터넷의 학습자료를 참조해서 수집코드를 작성하면, 추가로 필요한 기능은 매뉴얼을 보고 금방 수정할 수 있을 것 같습니다.

그리고 API 중에서도 저는 이번에 대신증권의 Cybos Plus API를 활용하기로 했습니다. 원래 예전에 수집기 만들때는 이베스트투자증권의 Xing API를 이용했었는데, 장기간 주가 데이터를 활용하려면 일반적인 주가가 아닌 수정주가를 활용해야 하는데, Xing API는 수정주가를 제공하지 않고 수정비율이라는 보정할 수 있는 정보만 제공합니다. 하지만 이걸 활용해서도 중간중간 데이터가 잘 안맞는 구멍이 생겨서 이를 보정하기가 너무 힘들었구요. 그리고 Xing API는 단위시간 당 호출 한도가 적어서 전 종목 데이터를 가져오는데 시간도 오래걸리고 불편했습니다.

반면 Cybos Plus API는 코드도 훨씬 간단하고, 수정주가를 제공하며 호출 한도도 훨씬 널럴해서 수집시간도 적게들고 데이터도 훨씬 신뢰가 갔습니다. Xing API로는 몇날 몇일을 수집이랑 데이터 보정으로 고생했었는데, Cybos Plus API로는 반나절만에 코드를 대강 다 만들 수 있었네요.

다음 글에서는 Cybos Plus API로 과거 주가데이터를 수집하는 방법에 대해 설명드리도록 하겠습니다.

[R] KOSPI/KOSDAQ 전 종목 데이터 수집 및 관리

– 크롤링에 대한 기본 지식을 가지고 계신 분

– 투자를 하기 위한 기초 데이터를 쌓고 싶으신 분

– 주식데이터를 필요로 하시는 분

– R을 기본적으로 할 줄 아시는 분

– R을 기본적으로 할 줄 아시는 분 – 주식데이터를 필요로 하시는 분 – 투자를 하기 위한 기초 데이터를 쌓고 싶으신 분 – 크롤링에 대한 기본 지식을 가지고 계신 분

완강 예상 시간 = 3~4시간



매일 수 많은 희노애락이 오가는 증권시장,

숨겨져 있는 작은 단서까지 파헤치고 싶나요?

주가 수집부터 트렌드 파악까지

증권시장에 상장되어 있는 모든 종목을 수집하고

관리하는 방법, 궁금하시죠?

매일 자동으로 새 주가 정보를 수집하고 업종별 종목

트렌드까지 파악 하는 Dashboard를 만들 수 있다면?



여러분의 시간은 소중하니까

이 강좌를 수강하실 여러분은 오늘부터 우리나라

주식시장에 상장된 모든 종목을 수집 및 관리하는

자동화 프로그램을 만들어 볼 겁니다

시간 관계상 강좌에서는 최근 3년치 데이터만 수집하지만,

숫자만 바꾸면 아주 쉽게 10년치 데이터를 수집할 수 있고

앞으로 새로 발생할 데이터도 계속 모을 수 있습니다

이 강좌를 완강한다면 자동화를 통해 주식시장 거래가

완료되는 오후 4시쯤 당일 거래된 모든 데이터를

바로 확인할 수 있게 될 겁니다

제작 결과 미리보기 (클릭)

p.s. 일정 인원 접속시 접속이 지연될 수 있습니다

이런 내용들을 배웁니다

종목 코드 받아오기

주식시장에 상장된 회사, 즉 종목들은 모두 고유 코드를

갖고 있으며, 이 코드에 따라 크롤링하는 주소가 달라집니다

때문에 각 회사별 고유 코드를 먼저 수집 해야 하죠

이 강좌에서는 네이버 금융에서 고유 코드를

가져올 수 있도록 코드에 대한 전처리를 진행 합니다

전체 주식 종목 수집

각 종목별 네이버 금융 주소를 세팅한 뒤 전 종목에 대해

최근 3년치 데이터를 수집 할 겁니다

3년치를 기준으로 약 4시간이 소요되었으니

10년치는 12시간 정도면 수집이 완료될 겁니다

또한 종목별 주식 일일 데이터를 수집 한 후 각 종목별

폴더를 생성해 저장하는 방법과 에러가 발생할 때를

대비한 예외처리까지 진행 하려 합니다

일별 주식 수집 자동화

이렇게 매일 10년치 데이터를 긁어올 순 없겠죠?

만약 그랬다간 시간만 낭비하고 컴퓨터는 불이 날 겁니다..

당일 주식 거래가 끝나는 오후 4시마다 일일 주식 데이터

수집한 뒤 기존에 저장되어 있던 데이터에 합치는 방식의

자동화를 진행 하려 합니다

업종별 트렌드 파악 및 DashBoard 제작

중장기적 주식 투자 관점으로 보면 업종 및 테마별

트렌드를 파악하는 것이 매우 중요합니다

업종별 주식 종목 코드를 수집 하고, 이 종목들에 대한

데이터를 불러와 트렌드를 파악한 뒤 시각화까지

진행해 봅시다

물론, 이 과정도 자동화할 겁니다









‘구만사’가 직접 들어봤다 👀



나한테 맞는 강좌일지 고민하는 분들을 위해

구름을 만드는 사람들 이 먼저 들어봤어요!



이런 분에게 꼭 필요해요

👉 코드 맥락에 대한 꼼꼼한 설명을 원한다면 Pick!

👉 딱 하루만 투자 해서 내일부터 내게 필요한

주식 데이터를 모두 수집하고 싶다 면 Pick!

👉 실존하는 데이터의 분석법이 궁금하다 면 Pick!



한 번 더 고민해주세요

🤔 강의 음질에 민감하신 분이라면 Hmm…

🤔 R 기반의 데이터분석이 익숙치 않다면 Hmm…









크롤링과 텍스트마이닝이 취미 👍

코코

학부에서 통계학을 전공한 뒤 현재 산업공학

대학원에서 인공지능을 공부하는 박사과정생입니다

주 연구 분야는 데이터 사이언스, 강화학습, 딥러닝이며,

크롤링과 텍스트마이닝을 취미로 하고 있습니다:)

크롤링을 이용해 인기 커뮤니티 글을 수집해 보여주는

‘마롱’이라는 앱을 개발했고, 전국 맛집 리스트와 블로그를

수집해서 맛집 추천 앱도 만들었죠 (시원하게 말아먹…)

수상 이력

2018 제6회 빅콘테스트 엔씨소프트상

– 게임유저이탈 알고리즘 개발

2017 제5회 빅콘테스트 한국정보통신진흥협회장상

– 대출 연체자 예측 알고리즘 개발

2016 날씨 빅데이터 콘테스트 기상산업진흥원장상

2016 제4회 빅콘테스트 본선진출

– 보험사기 예측 알고리즘 개발

2015 제3회 빅콘테스트 미래창조과학부 장관상

– 야구 경기 예측 알고리즘 개발

제 블로그 에 놀러오세요!

all Icon made by Freepik from www.flaticon.com

한국 주식 데이터 무료 수집(csv 파일 제공)

한국 주식을 시작한 지 꽤 되어 가지만 수익이 애매했다. 그래서 몇 몇 아이디어들로 백테스트를 하고, 해당 아이디어 대로 주식 투자를 해보려고 한다.

그래서 코스닥, 코스피 주식의 모든 종목에 대한 시가/종가/저점/고점 데이터를 찾아보려고 했다.

우선 결론부터 말하면, 미국 주식 데이터는 쉽게 구할 수 있으나, 한국 주식 데이터를 구하기는 쉽지가 않았다.

이번 백테스트 목표는 한국 주식 시장이었기 때문에 한국 주식 투자 데이터를 수집해보고자 한다.

검색을 해보면 네이버를 크롤링 하는 방식이 많이 나와있는데, 모든 주식 데이터를 가지고 와야 하기 때문에 크롤링으로는 시간이 너무 오래 걸릴 것 같았고, api를 찾아보기로 했다.

우선은 한국에 있는 주식 종목 코드를 찾아보자.

기업공시채널 KIND

이 페이지로 들어가서 엑셀 다운로드를 하면 완료!

데이터 처리를 용이하기 위해서 csv 파일로 파일을 변환했다.

혹시 한국 주식 종목 csv 파일이 필요하신 분은 이 링크를 통해 받을 수 있다(2020년 9월 18일 데이터)

20190918상장법인목록

https://towardsdatascience.com/best-5-free-stock-market-apis-in-2019-ad91dddec984?gi=ebcc1ed2a104

위의 블로그 글을 보고 하나씩 따라 해봤는데, 결론은 api 제공 서비스를 통해서 한국 주식 데이터를 무료로 사용할 방법이 없다는 것이다.

야후 finance api가 막혔다고 생각하는 사람이 많은데, 몇 년 전에 다시 오픈을 했다.

야후 finance api를 가지고 오려면 yfinance라는 python package가 존재해서 쉽게 데이터 수집을 할 수 있었다.

하지만 yfinance 데이터는 큰 회사의 주식 데이터(삼성, SK하이닉스 등)만 제공하고, 작은 회사의 주식 데이터는 최근 하루의 데이터와 2018년 데이터 이전의 데이터만 제공한다.

(2018년 2월부터 어제까지의 데이터가 없다)

나는 한국 모든 주식 정보에 대해 알고 싶기 때문에 yahoo finance를 선택할 수 없다.

아는 분들은 아시겠지만, 구글 주식 api는 이미 예전에 막혔다. 하지만, 구글 스프레드 시트를 활용해서 주식을 확인할 수 있는 방법이 있다. 자세한 부분은 이 링크를 참고하는 것이 좋을 듯 하다.

구글 스프레드시트를 파싱해서 쓰기에는 무리가 있는 듯 하여 이 방법도 패쓰!

website : https://iexcloud.io/

the basic free trial, you already get 500,000 core message free for each month.

금융 데이터 수집하기 ①주식 데이터

마스턴투자운용 디지털사업팀

핀테크, 프롭테크 회사에서 신사업을 담당하였습니다. 현재는 자산운용사 디지털사업팀에서 신사업을 기획하고 있으며, 대학원 박사 과정에서 부동산 핀테크를 연구하고 있습니다. 부동산 금융 산업에 데이터 사이언스 적용을 위한 사업과 연구를 하고 있습니다. 환경적/사회적 가치에 기초한 부동산 간접투자상품 투자 플랫폼을 구축해 우리가 사는 도시를 매력적이게 만드는 것을 목표하고 있습니다.

python 주식 데이터 수집하는 방법 (How to crawling stock data)

파이썬 웹 크롤링 방식 조사해 봤습니다.

1. 웹 크롤링

2. OPEN API

3. 파이썬 패키지 활용

1. 웹 크롤링

웹 크롤링으로 대부분의 웹 데이터를 수집할 수 있다고 합니다. 네이버 금융이나, 세이브로라는 증권 정보 사이트에서 다양한 데이터를 확인할 수 있습니다. 사용되는 라이브러리로는 selenium 이나 requests 라이브러리를 쓰는 케이스를 본 적이 있습니다.

관련된 실습을 추후 진행해서 게시물을 쓸 예정입니다.

2. OPEN API

다양한 증권 사이트에서 OPEN API를 제공합니다. 해당 방법은 실시간 주가를 수집할 수 있다고 합니다. 웹 크롤링보다 쉽고, 실시간 주가 및 다양한 재무제표 정보를 얻을 수 있지만, 맥 환경에서는 API를 활용할 수 없다는 단점이 있습니다. 다양한 증권 사이트에서 제공되는 API가 윈도우용 프로그램이기 때문에,, 하지만, 이번에 조사를 하면서 맥 환경에서 사용할 수 있는 API가 있다는 부분을 확인할 수 있었습니다. 특정 API의 실시간 시세를 긁어오고, 재무제표를 긁어오는 방식인데, 해당 방식도 추후 실습을 해보고, 어떤 방법이 데이터를 크롤링해서 저장하는 자동화 방식에 적절한지, 확인해볼 예정입니다.

(특정 API, http://asp1.krx.co.kr/servlet/krx.asp.XMLSise?code=단축종목코드 )

3. 파이썬 패키지 활용

OPEN API 보다도 쉽게 데이터를 수집할 수 있는 방법은 패키지를 활용하는 방법이라고 합니다. quantmod나 pandas-datareader를 이요하면 각종 금융 관련 지표와 시세 데이터를 쉽게 수집할 수 있는데, 특히 pandas-datareadersms 국내 데이터도 얻을 수 있다고 합니다. 하지만 외국에서 만들어진 패키지다 보니 친절하지 않은 점은 참고해야 합니다.

import FinanceDataReader as fdr df = fdr.DataReader(“005930”, ‘2019’)

해당 코드로 간단히 삼성전자 주가를 수집할 수 있다고 합니다.

위 1,2,3 방법 중, 3번을 가장 먼저 실습해보면 좋을 거 같습니다. python에 라이브러리가 있으니, 추후 웹 프로젝트 에서도 해당 라이브러리를 바로 적용할 수 있지 않을까 싶습니다.

반응형

키워드에 대한 정보 주식 데이터 수집

다음은 Bing에서 주식 데이터 수집 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽어보세요

Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽기-양자 거래 1

양자 거래는 인공 지능을 사용하여 사용자를 대신하여 비트 코인을 거래합니다. 자동 프로그램이므로 누구나 쉽게 사용할 수 있습니다. 일부 리뷰는 퀀텀 거래 사용자가 최대 400 %의 일일 수익을 올린다고 주장합니다.

이 로봇은 높은 수익률로 250 시간 이내에 최소 예금 $ 1000를 $ 24로 전환 할 수 있다고 주장합니다. 그러나이 플랫폼은 안정적이고 안전하며, 그렇다면 앞서 언급 한 수익을 창출 할 수 있습니까? 평소와 같이 우리 전문가 팀은이 로봇의 신뢰성을 확인하기 위해 엄격한 테스트를 수행했습니다.

조사 결과 다양한 로봇 리뷰 플랫폼의 등급을 고려할 때 신뢰할 수 있고 안전 할 가능성이 있음을 발견했습니다. 당신의 돈이 투자 할 가치가 있는지 결정하기 위해 퀀텀 거래를 자세히 살펴 보겠습니다.

양자 거래 란 무엇입니까?

양자 거래는 CFD를 통해 암호 화폐 가격을 추측하는 자동 거래 로봇입니다. CFD (차액 계약)는 거래자가 기본 자산을 소유하지 않고도 기본 자산의 변동성에 대해 추측 할 수있는 금융 파생 상품입니다. 이 플랫폼은 다음과 같은 다른 거래 플랫폼과 유사합니다. CFD 상인.

Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽어보기-Quantum Trading 3 1024x602

퀀텀 거래를 통해 투자 할 때 암호 화폐 지갑을 가지고 있거나 지루한 비트 코인 구매 프로세스를 거칠 필요가 없습니다. 또한 자산을 보유 할 필요가 없으므로 보안에 대해 걱정할 필요가 없습니다.

CFD 거래는 물 한 잔을 마시는 것만 큼 간단합니다. 거래 계좌를 개설하고 최소 $ 250을 입금하고 라이브 버튼을 클릭하기 만하면됩니다. 플랫폼은 자동으로 작동하며 98 %의 정확도 수준을 유지합니다. 세계 최고의 인간 암호 화폐 거래자는 정확도 수준이 50 % 미만입니다.

퀀텀 거래는 사기입니까?

이 플랫폼의 성능은 강력한 거래 알고리즘과 관련이 있습니다. 이러한 알고리즘은 기관 거래자가 사용하는 거래 전략에 의해 인코딩됩니다. 양자 거래는 MIT에서 성공한 전직 상인이자 엔지니어의 발명품이라고합니다. 그것의 알고리즘은 월스트리트 거인들이 사용하는 거래 기술의 자동화의 산물이 될 것입니다.

  • 수동으로 거래하는 어떤 전문 트레이더보다 높은 성공률
  • 낮은 초기 투자로 온라인 거래의 세계에 들어갈 가능성
  • 친절하고 전문적인 상담원을 통한 연중 무휴 고객 지원

어떻게 작동합니까?

일반적으로 비트 코인에 투자한다는 것은 낮은 가격에 구매하고 높은 가격에 판매하는 것을 의미합니다. 이것은 가격이 내려갈 때 손실을 입는다는 것을 의미합니다. 퀀텀 트레이딩과 같은 로봇을 통해 트레이딩 할 때는 케이스가 다릅니다. 첫째, 퀀텀 거래를 사용하면 암호 화폐를 구매할 필요가 없습니다.

소개에서 언급했듯이 로봇은 차액 계약 (CFD)으로 알려진 금융 파생 상품을 통해 거래합니다. 이 도구를 사용하면 비트 코인 가격의 방향을 추측 할 수 있습니다. 결과적으로 강세장과 약세장 모두에서 수익을 창출 할 수 있습니다.

Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽어보기-Quantum Trading 6 1024x458

또한 CFD를 통해 거래 할 때 비트 코인을 직접 구매할 필요가 없습니다. 양자 거래는 비트 코인 CFD 거래를 더 쉽게 만들고 높은 수익을 올립니다.

이는 자동이므로 거래 결정을 자동으로 내립니다. 또한 파트너 브로커는 매우 큰 레버리지를 제공하므로 사용자는 다른 잘 알려진 봇과 마찬가지로 매우 높은 가치로 거래 할 수 있습니다.

퀀텀 거래로 계좌를 개설하는 방법은 무엇입니까?

아래 지침을주의 깊게 따르면 거래는 간단합니다. 이 로봇은 사용자가 실시간 거래를 준비 할 수 있도록 포괄적 인 지침을 제공합니다. 가이드는 초보자가 라이브 거래 프로세스를 쉽게 이해할 수 있도록 비디오 튜토리얼과 전자 책을 통해 제공됩니다.

이스크 리치 오네

Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽기-양자 거래 2

웹 페이지에 액세스하려면 여기에서 무료로 등록해야합니다. 등록은 자명하며 오래 걸리지 않습니다.

Quantum 거래 등록 양식에 이름, 이메일 주소 및 비밀번호를 입력하고 이용 약관에 동의하는지 확인하십시오. 로봇으로부터 뉴스 레터와 이메일을 받으려면 신원을 확인한 다음 메일 링리스트에 가입해야합니다.

Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽어보기-Quantum Trading 5 1024x530

퀀텀 거래를 통해 사용자는 원하는 금액으로 거래 할 수 있지만 대부분의 브로커는 최소 $ 250가 필요합니다.

따라서 시작하려면 최소 $ 250으로 거래 계좌에 자금을 조달해야합니다. 모든 예치금은 귀하가 안내하는 파트너 브로커를 통해 이루어집니다. 퀀텀 거래는 입금을 완료하기 위해 지역 중개인의 페이지로 리디렉션됩니다.

Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽어보기-Quantum Trading 4 1024x491

데모를 통해 충분히 연습하면 즉시 라이브 거래 플랫폼으로 전환 할 수 있습니다. Quantum 거래를 통한 실시간 거래는 버튼 클릭 한 번으로 이루어집니다. 로봇은 알고리즘을 적용하여 인터넷에서 거래 통찰력을 검색하고 0,0001 초의 속도로 주문을 브로커에게 전달합니다.

양자 거래 실적은 투자 된 자본, 적용된 거래 설정 및 현재 시장 상황과 같은 요인에 따라 달라집니다. 올바른 설정과 유리한 시장 조건으로 로봇은 최대 400 %의 일일 수익을보고 할 수 있습니다.

양자 거래의 주요 기능

모든 안전하고 신뢰할 수있는 거래 플랫폼은 경쟁 업체와 차별화되는 주요 기능을 제공합니다. 가장 중요한 기능은 다음과 같습니다.

높은 수익성

이 거래 플랫폼은 수익성이 매우 높습니다. 어떤 경우에는 95 %에 가깝습니다. 전문 트레이더가 50 %에도 미치지 못한다고 생각한다면 점점 더 많은 사람들이 이러한 소프트웨어를 채택하기로 결정한 이유가 분명합니다.

고객 서비스

또한 테스트 내내 모든 형태로 고객 서비스를 테스트했습니다. 전화 번호는 전문 상담원뿐만 아니라 친절한 상담원과도 연락 할 수 있습니다. 이메일을 보내려면 더 긴 대기 시간이 필요하지만 24 시간을 넘지 않아야합니다.

규제 브로커

퀀텀 트레이딩이 유명인 사들에게 추천 되나요?

이것은 우리 지역에서 여전히별로 인기가없는 플랫폼입니다. 그러나 많은 유명인이 이미 암호화 폐로의 전환을 찬성했습니다.

한 콘서트와 다른 콘서트 사이에 Lorenzo Jovanotti는 온라인 인터뷰에서 언급했듯이 비트 코인에 투자하고 특정 수익을 올릴 시간을 찾았습니다.

그는 성공적인 관리자이지만 숙련 된 투자자이기도합니다. 그는 자동화 된 거래 플랫폼을 사용할 필요는 없지만이 세상에서 첫 발을 내딛는 사람들에게 유용 할 수 있다고 말합니다.

그는 암호 화폐를 지원하기 위해 Che tempo che fa의 에피소드를 조직하고 싶다고 반복해서 최고 경영진에게 말했지만 아직 패스를 얻지 못했습니다.

퀀텀 트레이딩은 모바일 앱을 제공합니까?

현재 로봇은 모바일 장치에서 실제 애플리케이션을 다운로드 할 수있는 가능성을 아직 제공하지 않습니다. 웹 기반 플랫폼은 인터넷에 연결된 모든 장치에서 사용할 수 있기 때문에 나쁘지 않습니다.

이 경우 iOS 또는 Android 기기가 있는지 여부는 중요하지 않습니다. 플랫폼의 웹 사이트에 연결하고 거래 계정에 로그인하여 활동을 모니터링하면됩니다.

우리의 평결

우리는 여러 데이터 소스를 분석하고 퀀텀 거래가 신뢰할 수 있다는 충분한 증거를 찾았습니다. 아래 링크를 통해 등록하여 오늘 사용해 볼 수 있습니다. 잠재적 이득은 크지 만 모든 것을 잃을 위험이 완전히 제거되지는 않습니다. 당신이 잃고 자하는 것보다 더 많은 돈으로 거래하지 마십시오.

자주 묻는 질문

양자 거래는 무엇입니까?

Quantum Trading은 CFD를 통해 BTC에 대해 추측하는 자동 거래 로봇입니다. CFD (차액 계약)는 거래자가 기본 자산을 소유하지 않고도 기본 자산의 변동성에 대해 추측 할 수있는 금융 파생 상품입니다.

퀀텀 거래는 신뢰할 수 있습니까?

양자 거래는 온라인 투자를위한 수동적 인 방법을 찾는 모든 사람에게 좋은 기회 인 것 같습니다. 이 로봇은 수익률이 높고 누구나 쉽게 사용할 수 있습니다.

퀀텀 트레이딩으로 얼마나 벌 수 있습니까?

퀀텀 거래 실적은 적용된 거래 설정과 현재 시장 상황에 따라 결정됩니다. 봇은 모든 거래 조건이 정확할 때 일일 수익에서 최대 400 %를 벌 수 있다고 주장합니다.

Programming

오랜만에 포스팅합니다. 아무래도 글 쓰는 시점에서 대학교 4학년이 된 만큼 자격증/영어 등 여러 공부를 하느라 바빠 포스팅할 여유가 없습니다. 현재까지 파이썬을 가지고 주식 데이터를 분석했었는 데 더 빠르고 효율적인 분석을 위해서 하둡과 스파크, AWS에 대해 공부 중입니다.

이렇게 할 일이 많아 ETF 대상 변동성 돌파 전략에 대한 코드 설명은 생략하겠습니다. 아마 이전 변동성 돌파 전략 코드를 봤다면 쉽게 코딩할 수 있을 것입니다.

별도로 ETF를 대상으로 변동성 돌파 전략을 적용하는 이유는 수수료 때문입니다. 변동성 돌파 전략은 데이트레이딩이기 때문에 수수료, 슬리피지가 수익율에 많은 영향을 끼칩니다. 약 0.1퍼의 슬리피지만 있어도 수익율은 열 배이상 차이가 납니다. 파생형 ETF가 아닌 주식형 ETF는 수수료가 전혀 없습니다. 파생형 ETF의 경우에는 오버나잇하지 않고 당일 매매하면 수수료가 전혀 없습니다. 따라서 일반 주식보다 0.3%(세금) 의 이점을 가집니다. 따라서 ETF를 대상으로만 변동성 돌파 전략을 적용할 것입니다.

일단 모든 ETF를 대상으로 변동성 돌파 전략을 적용하지 않겠습니다. 거래량 때문입니다. ETF 중에는 일일 거래량이 Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽어보세요 천도 안 되는 것들이 많습니다. 거래량이 적으면 그만큼 올바른 가격에 매매가 어려워 슬리피지가 커지므로 어느 정도 거래량이 있는 종목들로 백테스팅했습니다. 또한 파생형/해외형 ETF의 경우 오버나잇을 하면 수익율에 대한 수수료가 붙습니다. 따라서 주식형 ETF는 오버나잇을 할 것이고 파생형/해외형 ETF는 당일날 종가에 매도하는 것으로 했습니다. 또한 Kodex 자동차, Tiger 자동차 같이 증권사마다 다르지만 유형이 같은 종목들은 Kodex로 통일하거나 최근에 생기지 않고 기간이 조금 된 종목을 선정했습니다.

다음 목록들은 거래량이 어느 정도 있는 백테스팅을 적용한 ETF 종목입니다.

Kodex MSCI Korea

KBSTAR 중국본토 대형주

Kodex 200 가치저변동

KINDEX 중국본토 레버리지

Kodex 코스닥 150 레버리지

Tiger 200 IT 레버리지

위 종목들로 최적의 Scope 값과 Noise 값을 찾아 백테스팅한 결과는 아래와 같습니다. 코드는 바로 이전에 분석했던 변동성 전략과 거의 같습니다. 백테스팅하는 종목만 달라지고 별도로 오버나잇 유무 로직만 추가됬습니다.

위 그래프는 50일 평균 노이즈 값이 0.25에서 0.4이고 Scope 값을 6개월 단위 이전 최적 수익율을 보이는 값으로 적용했습니다. 슬리피지 값은 0.1퍼를 적용했습니다. 큰 손실없이 연 평균 수익율 약 85퍼로 좋은 백테스팅 결과를 보여줍니다.

실제로 2월 8일부터 이 글을 쓰고 있는 2월 20일까지 위 백테스팅 로직에 따라 매매를 해보았고 현재 3 퍼센트의 수익율을 보이고 있습니다. 물론 12일밖에 매매를 수행하지 않았지만 지금까지 테스트 결과 위 그래프와 같은 수익율을 실제 주는 지와 상관없이 적용한 로직에 따라 쉽게 매매할 수 있다는 걸 알았습니다.

위 로직의 매매를 어떻게 할지 궁금해할 분들이 있어서 추가로 씁니다. 매매를 위해선 매일 50일 평균 노이즈 값을 구해야 합니다. ETF 36개 종목을 손으로 계산하기 힘듭니다. 따라서 매일 주가 정보를 업데이트하는 프로그램을 만듭니다. 저의 경우 네이버 웹 크롤링을 이용해 만들었습니다. 물론 키움증권 API를 사용하면 편합니다. 하지만 키움증권 API는 매우 느려서 종목 업데이트에 시간이 걸립니다. 따라서 웹 크롤링을 이용해 매일 주가 정보를 업데이트 Quantum은 SCAM 거래입니까? 🥇 | 시작하기 전에 읽어보세요 합니다. 웹 크롤링 주소는 아래와 같습니다.

저는 크롤링을 통해서 코스피/코스닥에 상장된 모든 주식의 시가/종가/고가/저가 정보를 매일 업데이트하고 DB에 저장합니다. 이를 만약 키움 API를 이용하면 3시간 넘게 걸립니다. 그런데 웹 크롤링을 사용하고 비동기 프로그래밍 방식을 사용하면 약 15분이면 업데이트 가능합니다. 그만큼 키움 API가 느립니다.

당일 주가 정보 데이터 업데이트가 끝났으면 이를 이용해 50일 평균 노이즈를 계산해 0.25~0.4 범위에 있는 종목을 선별합니다. 그리고 다음날 9시 시가 정보가 나오면 선별한 종목에 대한 매수 가격을 계산합니다. 물론 이 모든 과정은 프로그램이 합니다. 마지막으로 저가 매수 가격으로 카카오 스탁이나 MTS에 알람을 설정합니다. 그리고 알람이 올 때까지 기다리고 알림이 오면 저가 수동으로 매매를 합니다. 수동으로 매매를 하는 이유는 슬리피지를 최소화하기 위해서입니다. 위에 보여준 그래프는 0.1퍼의 슬리피지를 적용했는데 저가 일일이 매매를 하면 슬리피지를 거의 0으로 할 수 있습니다. 물론 이 또한 프로그램으로 만들 수 있으나 이에 대해서는 나중에 할 예정입니다.

지금까지 많은 포스팅을 통해 변동성 돌파 전략에 대해 프로그래밍해보고 분석해봤습니다. 아마 당분간 포스팅은 없을 것 같습니다. 처음에도 말했듯이 대학교 4학년이 되서 영어, 자격증 공부 하느라 바쁩니다. 또한 좀 더 빠르고 효율적인 주식 분석을 위해 하둡, 스파크, AWS 에 대해 공부 중입니다. 그래서 다음에 포스팅할 때는 스파크, 하둡 등을 이용한 주식 분석으로 찾아 오겠습니다.

암호화폐 트레이딩 봇을 만들었다 (feat. 업비트)

최근 블로그 포스팅이 한 동안 뜸했던 이유는, 어느 날 트레이딩 봇을 만들고 싶은 욕구가 생겨서 여기에 지속적으로 힘을 쓰고 있었기 때문이다. 개발자라면 누구나 한 번쯤은 만들어본다는 이것을, 아직 나는 만들어본 적이 없으니 괜찮은 기회라 여겨 해보기로 했다. 설계를 여러번 수정하다가 이제서야 어느정도 완성도를 보이고 있어 블로그에 적기로 했다. 참고로 개발 언어는 파이썬이 아닌 Go 다. 그 이유는 아래에서하자.

트레이딩 봇을 구동한다. CLI 기반이기 때문에 GUI 같은건 없다.

봇 같은 경우 주식 트레이딩은 봇은 아니고, 암호화폐 거래소 중 하나인 업비트에 암호화폐를 주문하고, 조건에 맞는 코인을 감지, 이후 감지된 마켓을 대상으로 전략을 실행할 수 있는 봇을 개발했다. 이미 서문만으로도 봇의 구조가 이미 노출되었지만, 이는 그저 프레임워크를 만들어낸 것 뿐이며 가장 중요한 것은 전략인데, 이는 기업 비밀이라 비공개다. 애초에 수익을 제대로 내고 있지도 않지만.

업비트 Open API 사용을 위한 개발 문서를 제공 합니다.업비트 Open API 사용하여 다양한 앱과 프로그램을 제작해보세요.

파이썬이 아닌 Go 언어로 개발한 이유

이 프로젝트는 내가 Go 로 작성한 첫 번째 사이드 프로젝트다. 일반적으로 트레이딩 봇은 파이썬으로 개발된 경우가 많은데, 나같은 경우에는 Go 를 선택했다. Go 를 사용한 이유는 물론 현재 내 주력 언어가 Go 인 것이 가장 큰 이유이기도 하지만, Go 를 봇 개발에 사용했을때 가지는 간편하고 채널을 통한 동시성 제어에서의 이점이 크다고 여겼기 때문이다. 트레이딩 봇에서 여러 마켓의 감시를 위해 고루틴을 사용하여 동시성을 사용할 일은 많은데, 그 예는 설계에서 살펴보도록 하자.

내가 개발한 트레이딩 봇은 오픈소스다. 따라서 봇의 사용법이나 코어 소스코드가 궁금하다면 아래의 깃허브 레포지토리를 확인하자. 이 포스트에서는 봇에 대한 전반적인 설계를 살펴본다.

GitHub - pronist/PachinCo: 암호화폐 트레이딩 봇 (feat. 업비트)

암호화폐 트레이딩 봇 (feat. 업비트). Contribute to pronist/PachinCo development by creating an account on GitHub.

프로젝트 이름이 upbit-trading-bot 에서 PachinCo 로 바뀌었다! 요즘 잘 나가는 파친코 코인을 타보자. 참고로 파친코의 철자는 본래 PachinKo 인데, 코인(Coin, Crypto) 트레이딩 봇이어서 C 로 바꾸었다.

봇은 가장 큰 관점에서 보자면, 봇은 업비트 서버의 관점에서 클라이언트라는 점이다. 어떤 서버에 요청을 보내는 클라이언트냐 하면 업비트 API 서버에 보내는 클라이언트라고 볼 수 있다. 어떠한 형태로든 트레이딩 봇은 업비트 서버에 요청을 보내게 된다. 그게 조회가 될 수도 있고 주문을 요청을 하는 것일 수도 있다.

트레이딩 봇은 업비트 Open API 서버로 요청을 보낸다.

또한 시세를 주기적으로 감시하여 조건에 도달했는지를 판단하는 Detector , 각 마켓을 대상으로 개별적인 매수/매도 전략을 실행할 수 있는 Strategy 가 고루틴의 주요 사용처다. 이는 서로 독립적으로 돌아간다. Strategy 에서는 조건에 도달하면 업비트 API 서버에 주문을 보내기 때문에 다른 문맥에서 독립적으로 동작해도 아무런 영향이 없다. 봇의 전반적인 구조는 다음과 같다.

Detector 에서 시작하여 전략을 실행하는 트레이딩 봇의 전반적인 구조를 보여준다.

다이어그램을 보면 알겠지만, 봇은 중간에서 중개인의 역할을 수행하게 되며 Detector 가 특정 조건에 해당하는 종목을 찾아서 봇에게 보고를 하면, 봇은 코인을 추상화한 Coin 객체를 생성하고 매수/매도를 위한 Strategy 에 생성한 Coin 객체를 전달하여 실행하게 될 것이다. 여기서 Detector 는 별개의 고루틴에서 동작, 봇이 실행하는 전략들도 모두 별개의 고루틴에서 실행되며 독립적으로 조건을 검증하여 매수/매도를 진행한다. 거의 동시에 여러 개의 마켓에 대해 전략을 실행할 수 있다.

예를 들어 Detector 가 특정 조건을 만족한 종목인 KRW-BTC 를 발견하여 봇에 보고하면, 봇은 BTC 코인에 해당하는 Coin 객체를 생성하고 KRW-BTC 마켓이 Strategy 에 따라 매수/매도 될 수 있도록 하게하는 것이다. 그래서 주목해볼만한 부분은 결론적으로 트레이딩 봇이라는 것이 의도대로 동작하기 위해서는 종목 선정(Detecting)매수/매도 전략(Strategy)이라는 두 가지의 주요 핵심 알고리즘이 있다는 것이며 이에따라 적절한 종목선정과 전략에 따라 봇의 성과가 결정된다는 것이다.

업비트 API 클라이언트

봇은 위에서 언급했듯 업비트의 API 서버에 요청을 보내는 클라이언트다. 따라서 업비트 API 에 요청을 보낼 수 있는 클라이언트 래핑 객체가 필요하게 된다. 물론 이 부분은 업비트 API 문서에 따라 작성된 것이기 때문에 그렇게 중요하지는 않지만, 실제로 업비트 API 서버에 요청을 보내는 역할을 하므로 짤막하게나마 이야기해본다.

자산 조회나 주문 요청의 경우 Jwt 가 필요하고, 그렇지 않은 일반적인 정보는 그냥 보내도 상관없다.

업비트 API 서버는 두 종류로 나눌 수 있는데, Jwt 를 포함하여 요청을 보내야 하는 일반적인 Client 와 그저 Get 요청만 보내도 정보를 얻을 수 있는 QuotationClient 로 분리된다.

type Client

자산, 주문 요청을 업비트 서버에 보내기 위해 사용하는 클라이언트다. 당연하겠지만 여기에는 AccessKey, SecretKey 가 포함되어야 한다.

type QuotationClient

QuotationClient 는 단순한 Get 요청을 위해 사용한다. 이를 통해 종목에 대한 Tick, Trades 를 얻어오는 등 인증이 필요하지 않은 단순한 정보들을 얻어올 수 있다. 따라서 http.Client 만을 가진다.

이렇게 선언된 두 개의 클라이언트는 Bot 을 통해 접근할 수 있도록 하였다. 따라서 Client, QuotationClient 를 통해 업비트 서버에 요청을 보낼 수 있게된다.

트레이딩 봇

type Bot

Bot 은 main 고루틴에서 사용되며 Bot.Run() 이라는 메서드를 main() 함수에서 호출할 것이다. 먼저 Bot 구조체는 다음과 같이 생겼다. 위에서 언급한 것처럼 클라이언트의 역할도 한다는 것을 잊어서는 안 된다.

Accounts, Strategy 타입은 모두 인터페이스다. 특히 Accounts 의 경우, 업비트는 기본적으로 모의투자를 지원하지 않는다. 따라서 안전하게 전략이 동작하는지 실험을 할 수 있어야 하는데, 그럴때 필요한 것이 프로그램에서 임의로 만든 테스트용 계정이다. 이는 실제 업비트 계정이 아니며 비슷한 동작을 하도록 구현이 된 것 뿐이다. 따라서 미묘한 차이가 발생한다.

또한 Bot 에서는 미리 마켓에 사용할 전략을 가지고 있다. Detector 가 조건에 도달한 마켓을 발견하게 되면 해당 마켓에 Strategies 에 있는 전략들을 실행하게 된다.

Bot 을 호출하는 main() 함수는 아래와 같이 작성된다. 계정을 임의로 생성하여 전략을 테스트할 수 있다.

.Run() 메서드는 main 고루틴이 실행하는 메서드이며, Detector 의 보고를 받고, 전략을 실행하는 핵심 메서드다. Detector 에게 보고를 받을 때는 자연스럽게 채널을 사용한다. 참고로 아래의 코드가 실제 돌아가고 있는 봇의 코드랑 동일한 것이 아니다. 핵심적인 코드만을 가져와 포스트하기 편하도록 짜집기했다.

추가적으로 Detector.run() 의 파라매터에 predicate 가 사용된 것이 있는데, 저것은 함수이며 디텍터가 찾을 종목에 대한 조건을 명시한다. 해당 함수가 true 를 반환하면 조건에 맞는 종목으로 판단하며 Detector.d 채널에 신호를 보낸다. Detector.run() 에서는 내부적으로 업비트 웹소켓 서버에 요청을 보내 가격을 얻어오고 조건을 처리한다.

Bot, Detector, Strategy 가 데이터를 주고받는 모습을 보여준다.

Bot.tick() 메서드는 coin 구조체에 정의되어 있는 t 채널에 가격 정보를 보내고 이를 Strategy 에서 소모한다. Strategy 에서 직접 가격정보를 얻어와도 되지만, 요청의 수가 너무 많아지면 업비트 서버의 제약에 따라 요청이 거절된다. 업비트 서버의 제한은 초당 10번의 요청으로 파악되었다.

위의 다이어그램은 Bot 이 Detector.run() 를 실행하면 해당 메서드가 Detector.d 채널로 틱을 보내고 그것을 Bot 이 소비하는 모습을 보인다. 또한 Bot.tick() 이 실행되면 Coin.t 채널에 틱을 보내고 Strategy 가 이를 소비하게 된다. Strategy 가 소비를 하는 모습은 다음과 같다.

.strategy(*coin, Strategy)

type Accounts

Accounts 는 인터페이스다. Accounts 는 업비트 계정을 포함한 테스트용 계정이 구현해야 할 메서드를 가진다. Accounts 가 가져야 하는 메서드 중 중요한 것이 바로 .order() 다. 주문은 봇, 또는 사람이 하지만 논리적으로 계정을 사람, 또는 봇과 동일시하여 Accounts 가 특정 코인에 대해 매수/매도 주문을 낼 수 있다.

.order(*Bot, *Coin, string, float64, float64) (bool, error)

오더에서는 실제로 업비트 계정에서는 주문을 요청하고, 테스트 계정에서는 내부의 자산 현황을 갱신하게 된다. 여기서 살펴볼 것은 실사용 계정에서 주문을 넣었으나 체결되지 않고 계속 기다리기만 하면 트래킹 중인 해당 마켓의 전략 고루틴이 락이 되어버릴 수도 있다는 점이다. 따라서 타이머를 두고 체결을 기다렸다가 체결이 되지 않으면 주문을 캔슬한다.

여기서 log.Logger 는 로그를 보내기 위한 채널이다. 이전에 적지는 않았지만, 로그 채널은 봇을 실행하기 이전에 초기화를 별도로 진행한다. 별도로 아래에서 언급하지는 않겠지만 나온김에 이야기했다. 또한 static.Config 객체는 글로벌 객체이며 config.yml 로 부터 Timeout 설정을 얻어와서 매핑한다.

type Strategy

Strategy 또한 인터페이스다. 해당 인터페이스를 만족하는 모든 전략은 봇에서 사용할 수 있도록 구성되었다. 여기서 .register() 는 전략을 실행하기 전에 준비해야 할 것을, .run() 메서드는 전략을 진행한다.

트레이딩 봇을 만드는 과정은 흥미롭다. 프레임워크에 해당하는 틀은 어느정도 구성되었기에 이제 전략을 재미나게 생각하는 일만 남았다. 봇은 사실 전략이 제일 중요하다. 전략에 따라 수익이 날 수도 있고 안 날수도 있기 때문이다.

그러나 내가 이렇게 까지 구조적으로 봇을 작성한 이유는 이것을 단순 경험만으로 끝낼게 아니라 무언가 결과를 도출해볼 것이기 때문이다. 또한 이 프로젝트는 나의 첫번째 Go 언어 사이드 프로젝트라는 점에서 의미가 있으며 부가적인 써드파티 라이브러리들을 사용해볼 기회또한 있어서 나름 괜찮은 프로젝트라고 생각한다.


0 개 댓글

답장을 남겨주세요