본문 바로가기
728x90

퀀트 분석23

2024 Metastock 트레이더 컨퍼런스 Metastock Online Traders Conference February 2024 안녕하세요, 쿼카퀀트입니다. 저번주 월요일부터 6일간 Metastock에서 트레이더 컨퍼런스를 주최했습니다. 47명의 트레이더가 나와 각자 약 1시간 동안 자신의 전략에 대해 강의했습니다. 강의 링크 한국 시간으로 새벽 2시에 컨퍼런스가 시작되고, 한 타임에 9시간 가량 강의가 이어지다보니 라이브로 보기 쉽지 않았는데요, 다행히 Metastock 측에서 유튜브에 관련 영상을 남겨줘 앞으로도 볼 수 있게 되었습니다(지금 보니 2023년 컨퍼런스 내용도 남아있네요!) 총 6일간 진행된 컨퍼런스고, 링크는 여기있습니다. Day 1. Stock & Options Traders Conference Day 2. Stock & .. 2024. 3. 7.
파이썬 주식 트레이딩 시스템 (2) - 일별 주가 데이터 조회 이번엔 발급받은 API키와 토큰으로 삼성전자의 과거 일별 데이터를 받아오겠습니다. 1. 전달 데이터 구조 먼저, 증권사 서버에 우리가 필요로 하는 데이터가 어떤건지 알려줘야겠죠? 우리는 주식 시세를 받아올 예정이므로, 관련 호출인 KIS Developers의 '국내주식시세 - 주식현재가 시세' 설명서에 들어갑니다. 설명서에는 입력해야하는 Headers, Params가 적혀져 있습니다. 아래 스크린샷과 같네요. 전달해야하는 값이 많아보이지만 겁먹지 마세요 어떻게 입력해야하는지 다 알려드릴게요ㅎㅎ 먼저 Headers는 모든 호출에서 거의 동일한 구조니까, 한번 만들어두고 계속 돌려쓰면 됩니다. 다음으로 Query Parameter는 각 호출 종류(주문, 시세조회 등)에 따라 필요로 하는 데이터를 입력해줍니.. 2024. 2. 4.
파이썬 주식 트레이딩 시스템 (1) - API 발급 안녕하세요, 이전에 REST API로 개발 가능한 국내 증권사 API 라는 주제로 블로그 글을 한번 작성한 적이 있는데요, 이 중 한국투자증권 API를 활용해 주가 데이터 수집, 잔고 조회, 실제 주문부터 제가 실제로 API 활용 매매를 하며 얻은 사소한 팁까지 블로깅을 해보려 합니다. 한국투자증권의 API는 두 가지(기존 API, KIS Developers)로 나뉘는데요, 기존 API는 윈도우에서 32bit 파이썬으로만 연결할 수 있어 개발이 어려운 반면, KIS Developers는 REST API를 활용하기 때문에 리눅스 환경에서 쉽게 개발할 수 있습니다. API 발급 증권사 API와 파이썬을 연결하기 위해 가장 먼저 API를 발급받아야 합니다. 이번 포스팅에선 API를 발급받는 방법을 순서대로 .. 2023. 12. 9.
REST API로 개발 가능한 국내 증권사 API 업비트, 바이낸스같은 코인 거래소는 이미 예전부터 REST API를 사용했지만, 국내 증권사는 com, dll 등 windows를 기반으로만 사용 가능한 api만을 제공해 왔습니다. 하지만, 최근들어 국내 증권사 api도 REST API로 갈아타려는 움직임이 보이고 있습니다. 오늘 기준으로 두 증권사가 REST API를 지원하고 있는데요, 1. 한국투자증권 KIS API (link) 가장 먼저 REST API를 지원한 곳은 한국투자증권입니다. 처음 출시됐을때보다 지원해주는 기능은 점점 늘고있지만, 아직 초기라 기능 제한이 있습니다. 기존 dll 요청에선 초당 10건 요청이 가능했지만 REST API에선 초당 2건 요청만 되거나, 받아올 수 있는 과거 기간이 최근 30일로만 가능한 경우가 있습니다. 때문에.. 2023. 7. 23.
Pivot Point로 주가 추세 구하기 안녕하세요, 바쁘다보니 점점 블로그에 글 쓰는 빈도가 줄어들고 있군요.. 오늘은 오랜만에 글 쓰는 김에, 원래 자주 다루고 싶었던 주가 데이터 관련 내용을 다뤄보고자 합니다. 시작하기 전에, 이번 블로그 내용 및 예시 출처는 위 Adam Grimes의 The Art and Science of Technical Analysis 책을 참고했습니다. Pivot Point란? 오늘은 Pivot Point 지표를 계산해 볼 건데요, Pivot Point란, 단어에서도 알 수 있듯이 주가의 방향이 꺾이는(Pivot) 시점을 의미합니다. 즉, 주가가 상승하다가 하락으로 변하는 시점, 혹은 하락하다가 상승으로 변하는 시점을 의미합니다. 추세가 바뀐다고도 표현하죠? 이 '변하는 시점'은 주변 날짜보다 고가(High)/저.. 2022. 2. 13.
[Python] 파이썬으로 코인 현재가 및 과거 데이터 받아오기 안녕하세요, 오늘은 비트코인, 이더리움 등 코인의 시세 데이터를 받아오는 방법을 설명할게요! 오늘 받아올 데이터는 각 코인의 시가, 종가, 고가, 저가, 거래량 데이터입니다. 패키지가 너무 쉽게 잘 되어있어서 포스팅도 짧게 끝날거 같습니다. 1. pyupbit 패키지 연결 오늘 사용할 패키지는 pyupbit로, 따로 api key없이도 업비트에서 주식 시세를 받아올 수 있도록 만들어진 패키지입니다. 아래처럼 설치해주세요 pip install pyupbit 패키지 import는 아래 코드처럼 간단히 import하면 됩니다. import pyupbit 2. 코인 종류 및 봉 길이 확인 pyupbit로는 어떤 코인의 데이터를 받아올 수 있을까요? 업비트에 상장된 코인은 전부 데이터를 받아올 수 있습니다! 상장.. 2021. 9. 5.
[Python] Yahoo Finance API로 환율 받아오기 안녕하세요, 예전에 Yahoo Finance API로 주가를 받아오는 방법을 설명했던 적이 있는데요, 글을 쓰고 보니 방문하신 분들이 Yahoo Finance 사용법에 대해 관심이 많으신 것 같더라구요. 그래서 이번에는 Yahoo Finance API로 환율 정보를 받아오는 방법을 알려드리겠습니다. yfinance 패키지 연결 yfinance는 yahoo finance의 데이터를 받아오는 패키지로, 공식적으로 지원하는 패키지는 아니지만, 사용성이 매우 좋습니다. 예전에 yfinance의 기본적인 사용법을 포스팅한 적이 있어, 해당 글을 아래 링크로 남겨드립니다. 2020.08.20 - [퀀트 분석/퀀트 기초] - [Python] Yahoo Finance API로 주가 데이터 받아오기 [Python] Ya.. 2021. 8. 31.
[Python] 버핏 지수(Buffett Indicator) 파이썬으로 계산하기 작년 이맘때쯤에 버핏 지수에 대해 간략히 설명해본 적이 있습니다(바로 아래에 해당 글 링크를 남겨뒀습니다). 그 이후 잊어버리고 있었는데, 최근 버핏 지수가 200%가 넘었다~ 증시가 버블이 끝내준다~ 뭐 이런 소식을 들어 생각난김에 한번 버핏지수를 직접 계산해봤습니다. 2020.08.18 - [금융/금융 용어 및 개념] - 버핏지수(Buffett Indicator) 버핏지수(Buffett Indicator) 버핏지수란 버핏지수는 단순히 기업 시가총액의 합을 분기별 GDP로 나눈 값으로, 분기별 GDP에 비해 기업의 시가총액이 어느 정도 수준인지를 살펴볼 수 있는 지표이다. 이 지표가 버핏지수로 불 junyoru.tistory.com 결론부터 보여드리면, 정말 200%가 넘어, 8월 28일 현재 203... 2021. 8. 28.
[Python] 파이썬으로 주식 보조지표 구하기(RSI, MACD 등) 이번엔 주가로부터 RSI, MACD 등의 보조지표를 계산하는 방법을 알아보겠습니다. 보조지표 계산을 돕는 파이썬 패키지는 매우 다양한데요, 이번엔 그 중 제가 유용하게 사용중인 ta 패키지를 사용해보겠습니다. 1. TA로 보조지표 구하기 먼저, 터미널에서 ta 패키지를 설치해줍니다. pip install ta 다음으론 주가 데이터를 받아와야 합니다. 야후 주가 데이터 추출 링크에 들어가면 야후 파이낸스로 주가 데이터를 받아올 수 있는 방법에 대해 설명하니, 필요하신 경우 방문해주세요ㅎㅎ 전 아래 코드로 애플의 21년 4월 이후 데이터를 불러왔습니다. import yfinance as yf data = yf.download('AAPL',start='2021-04-01') 다운받은 data 변수를 확인하면,.. 2021. 8. 14.
[Python] 주식 종목 간 상관관계 분석 가끔 내가 투자한 종목을 보다보면, 내 종목이 다른 종목이랑 주가가 유사하게 움직이는것 같다는 생각이 들 때가 있습니다. 실제로, 반도체가 호황일 때 삼성전자가 오른다면 SK하이닉스도 오르고, 카카오의 실적이 좋으면 카카오의 다른 계열사 주가도 오르기도 합니다. 이처럼 주식 시장에선 서로 유사하게 움직이는 종목들이 존재합니다. 그렇다면, 어떤 종목들의 주가가 서로 유사하게 움직이거나, 혹은 서로 완전히 정반대로 움직일까요? 이를 확인하는 가장 기본적인 방법을 파이썬으로 구현해 보겠습니다. 1. 피어슨 상관관계 이번에 구현해 볼 방법은, 피어슨 상관계수 분석입니다.이 링크에서 피어슨 상관계수가 무엇인지 설명이 되어있지만, 수식을 보기 싫으신 분들을 위해 간단하게 예시로 설명드리도록 하겠습니다. 만약 삼성전.. 2021. 8. 10.
[Python] Dataroma에서 Form 13F(대형 투자자 투자기록) 크롤링하기 미국에서는 자산을 1억 달러 이상 보유한 개인/기관 투자자는 매 분기마다 SEC에 자신의 매매 내역 보고서를 제출해야 한다. 이 보고서를 통틀어 Form 13F라 부른다. 이 13F 보고서에는 해당 개인/기관의 포트폴리오에 포함된 주식 종목 및 보유 규모가 언급되어있다. 따라서, 이 13F 보고서는 (비록 한 분기정도 늦지만) 워렌 버핏과 같은 투자 대가들이 어떻게 투자를 하고, 최근 동향은 어떠한지에 대해 정확히 알 수 있는 좋은 보고서이다. 많은 투자자들이 이 13F 보고서를 보고, 이에 기반해 투자 의사결정을 내리기도 한다. 금융 관련 서비스가 잘 구축된 미국답게, 이 13F 보고서도 보기 편하게 잘 정리해 둔 많은 사이트가 존재한다. 그 중 가장 정리가 잘 되어있다고 생각되는 사이트는 Dataro.. 2021. 6. 23.
[Python] FMP API 사용해 미국 재무제표 데이터 불러오기 FMP(Financial Modeling Prep)은 미국, 유럽, 홍콩 등 거래소에 상장된 기업들의 주가, 재무제표, 뉴스 등 금융 관련 데이터를 받아올 수 있는 API를 제공해주는 업체다. 금융 데이터를 제공해주는 많은 소스(Quandl, Yahoo Finance 등)가 있지만, FMP가 제공되는 데이터 수준에 비해 가장 합리적인 가격이라 생각돼 FMP를 사용하는 방법을 소개하고자 한다. 위 FMP 링크를 들어가면 API의 Documentation이 아래와 같이 보인다. 맨 왼쪽에 제공되는 데이터 종류, 중간엔 세부 사용 방법, 오른쪽엔 결과물 예시가 보인다. 이번 포스팅에선 Python을 활용해 FMP API로부터 JSON형식의 데이터를 불러오고, 이를 Pandas 형식으로 변형하는 과정을 해 보자.. 2021. 4. 4.
[Python] Yahoo Finance API로 주가 데이터 받아오기 미국 주식 정보는 네이버 등 우리가 흔히 쓰는 사이트에서 확인하기 쉽지 않다. 따라서 해외주식 투자자들은 여러 종류의 사이트를 통해 미국 주식 정보를 얻고 있을 것이다. investing.com, FINVIZ, Stockrow 등 여러 종류의 사이트가 있는데, 이 중 오늘 주가 데이터를 받아올 사이트는 Yahoo Finance이다. Yahoo Finance API 사용 준비 Yahoo Finance API는 종류도 다양하고, 각각 제공하는 데이터도 조금씩 차이가 있다. 단순히 주가 시계열 데이터와 기업정보를 제공해주는 API가 있고, 기업 재무제표를 제공해주는 API도 있다. 이번 포스트에선 주가 데이터를 받아오고자 하므로, yfinance라는 파이썬 API를 사용하도록 한다. 먼저, yfinance를 .. 2020. 8. 20.
[Python] FRED에서 API로 경제 데이터 불러오기 FRED 소개 FRED는 실업률, 금리, PMI 같은 경제 데이터를 모아 볼 수 있는 사이트입니다. 링크 위 FRED사이트에서 데이터를 엑셀파일로 다운받을 수도 있지만, 그때그때 데이터를 엑셀로 받아 코드에 연결하는 일은 매우 번거롭습니다. 따라서 이번 글에서는, 1. 어떻게 API에 연결하는가(코딩 전 준비단계) 2. 어떻게 데이터를 불러오는가(코딩 단계) 두 가지를 설명합니다. 일단 코드를 보고싶다면, 맨 아래에 전체 코드를 정리해 두었습니다. 급하신분은 맨 아래로.. 어떻게 API에 연결하는가 1. API Key 요청: FRED API를 쓰기 위해선 API key가 있어야 하므로, FRED에서 API Key를 발급받습니다. 키를 발급받기 위해서 여기에 들어가 아래 스크린샷처럼 'Request or .. 2020. 7. 22.
AIC, BIC AIC(Akaike Information Criterion)과 BIC(Bayesian Information Criterion)는 특정 데이터를 모델링한 여러 후보군 모델들 중 가장 좋은 모델을 선택할 수 있게 돕는 Model selection 방법들이다. $AIC = -2\ln (Likelihood) + 2p$ $BIC = -2\ln (Likelihood) + p\ln n$ $ p : $변수(파라미터) 개수, $n :$ 데이터값개수 위 식에서 볼 수 있듯이, AIC와 BIC는 모두 likelihood가 커질수록, 변수 개수(p)가 적을수록 작은 값을 가지게 된다. 이를 활용해 Model selection시 AIC와 BIC가 최소화되는 likelihood와 변수 개수를 가진 모델을 가장 좋은 모델로 선정한.. 2019. 10. 15.
점프 확산 모델(Jump diffusion model) 점프 확산 과정(Jump Diffusion Model) 블랙-숄즈에 의해 제안된 블랙-숄즈 모형은 자산의 움직임을 설명하는 모형으로 많이 활용되어왔다. 하지만, 이 모형이 실제 자산의 움직임을 잘 반영하지 못한다는 문제가 제기되어 이러한 문제점을 해결하기 위해 많은 새로운 모델들이 개발되어왔다. 그 중 블랙-숄즈 모형이 자산가격이 급격히 변화하는 현상을 설명하지 못하는 문제점을 보완하기 위해 개발한 모형이 점프 확산 모델(Jump Diffusion Model)이다. 이 점프 확산 모델을 통해 블랙-숄즈 모형의 단점을 극복해 옵션 가격 예측에 사용할 수 있다. 점프 확산 모델은 자산 가격의 움직임을 연속적 브라운 운동(Brownian motion, diffusion component)에 불연속적 점프 과정.. 2019. 10. 1.
웨이블릿(Wavelet) ❖웨이블릿(Wavelet) 웨이블릿이란 0을 중심으로 증가와 감소를 반복하는 파동과 같은 진동을 말함. 웨이블릿은 convolution(합성곱) 기술을 통해 알고 있는 신호와 결합하여, 알려지지 않은 신호로부터 정보를 추출하는데 사용 가능하다. ex) C 음과 32분음표 정도 길이를 가진 웨이블릿을 만든 후, 녹음된 노래와 웨이블릿을 결합하면 노래에서 언제 C 음이 발생하고 있는지 알 수 있을 것이다(공진 현상을 통해). 웨이블릿은 신호를 아래와 같이 근사값(전반적 내용)과 세부값(세부 사항)으로 분해한다. 한번에 해상도를 반으로 나누는데, 이렇게 찾은 근사값들을 다시 반으로 나눠가며 근사값과 세부값으로 분해한다. 이런 특징으로 인해 웨이블릿은 데이터 압축에도 사용할 수 있다. 2019. 9. 28.
Ito’s lemma ❖Ito’s lemma 1개 이상의 모수에 의해 결정되는 함수의 단기 변화는 각각의 모수들의 움직임을 통해 예상가능한 움직임과 예상불가능한 움직임으로 나눠서 표현할 수 있다는 이론. 금융공학에서 주식파생상품의 가격 결정을 위한 계산에 사용되는 수식이다. 2019. 9. 28.
728x90