파이썬 7

[파이썬 분석 4] 수익률의 기초 통계량을 추출해 보고 확률 분포를 그려보자

투자할 자산을 선택할 때 기본으로 살펴보아야 하는 것은 자산 수익률의 특성입니다. 과거 데이터에 국한되긴 하지만, 어느 정도의 수익률을 기대할 수 있었고, 위험은 얼마나 높았는지 살펴보는 것입니다. 이러한 수치를 통계량(statistic)이라 합니다. 평균 수익률, 최소 수익률, 하위 10% 수익률, MDD 모두 통계량입니다.이 글에서는 자산의 주가 데이터에서 평균, 중앙값, 최소, 최대와 같은 기초 통계량을 추출하는 방법을 알아보고, 확률 분포도 그려보겠습니다.주의: 이 글은 특정 상품 또는 특정 전략에 대한 추천의 의도가 없습니다. 이 글에서 제시하는 수치는 과거에 그랬다는 기록이지, 앞으로도 그럴 거라는 예상이 아닙니다. 분석 대상, 기간, 방법에 따라 전혀 다른 결과가 나올 수 있습니다. 데이터 ..

파이썬 15:14:27

[파이썬 분석 3] 누적 수익률로 그래프로 그려 보자 (로그 스케일에 수익률 을 표현하는 방법)

지난 글에서 FinanceDataReader 모듈을 이용하여 주가를 가져와서 그래프로 나타내어 보았습니다. 주가는 거래 가격(PR; Price Return)과 배당 재투자 가격(TR; Total Return)으로 얻을 수 있습니다. 그리 길지 않은 코드로도 그럴듯한 그래프를 만들 수 있었습니다. 지난 글: [파이썬 분석 2] PR(배당 미고려)과 TR(배당 재투자) 주가 흐름을 그래프로 그려 보자 (FinanceDataReader 모듈 사용)투자에 참고하기 위해 여러 자산을 비교 분석하기 위해서는 정규화(normalization)를 해야 합니다. TR과 누적 수익률이 대표적인 정규화 방식입니다. TR은 배당이 많은 자산이 불리해 보이는 착시를 제거해 주고, 누적 수익률은 자산의 거래 통화나 단위가 다른 ..

파이썬 14:00:47

[파이썬 분석 2] PR(배당 미고려)과 TR(배당 재투자) 주가 흐름을 그래프로 그려 보자 (FinanceDataReader 모듈 사용)

지난 글에서 구글 코랩(Colab)을 이용하여 파이썬 클라우드(cloud) 서비스를 사용하는 방법을 대해 간단하게 살펴보았습니다. 코랩이 지원하는 인공지능 코드 생성 기능도 사용해 보았습니다. 정확한 코드는 아니었지만, 하고자 하는 작업을 위한 전반적인 코드 구성을 파악하기에는 유용한 도구였습니다.코랩이 생성한 코드를 보면 주가 데이터를 가져오기 위해 yfinance 모듈을 사용하고 있습니다. 한국인의 경우에는 이보다는 FinanceDataReader 모듈이 더 적합할 수 있습니다.이 글에서는 FinanceDataReader를 이용하여 주가 데이터를 불러와서 그래프를 그려보는 예를 소개합니다.주의: 이 글은 특정 상품 또는 특정 전략에 대한 추천의 의도가 없습니다. 이 글에서 제시하는 수치는 과거에 그랬..

파이썬 12:13:04

[파이썬 분석 1] 주가 흐름을 그래프로 그려 보자 (구글 코랩을 써 보자! 인공지능 너도 실수하는구나?)

파이썬(Python) 프로그래밍 언어를 이용하여 투자 관련 데이터를 수집, 가공, 표현, 분석하는 방법에 대한 연재를 시작합니다. 파이썬 클라우드(cloud) 서비스의 하나인 구글 코랩(Colab)을 기준으로 설명합니다.연재의 목적과 읽기 전에 알아두면 좋은 점은 다음과 같습니다.이 연재는 파이썬 언어 자체에 대한 연재가 아닙니다. 중간중간 이해하기 위해 필요한 부분을 조금씩 설명하지만, 언어 자체를 세세하게 해설하지는 않습니다.이 연재는 투자 데이터 분석과 관련하여 파이썬으로 어떻게 하면 어떤 결과를 얻을 수 있는지를 위주로 설명합니다. 왜 그렇게 분석하고 무슨 의미를 가지는지까지는 충분히 해설하지 않습니다. 해설을 덧붙이다 보면, 배보다 배꼽이 더 커지게 되기 때문입니다. 분석 방법의 의미에 대해서는..

파이썬 2025.04.11

야후 파이낸스 수정 주가 오류 (일부 분배/배당 내역 누락으로 인한 부정확한 TR값)

최근 분배율이 높은 JEPQ와 같은 커버드콜 ETF를 분석해보고 있습니다. 기초 자산과 공정한 비교를 위해 분배금(배당금)을 고려한 수정 주가(Total Return; 이하 TR)를 사용합니다. 국내 ETF의 경우 NAVER 데이터를, 해외 ETF의 경우 야후 파이낸스 데이터를 이용하고 있습니다. 파이썬의 FinanceDataReader 라이브러리를 이용하면 국내와 해외 데이터에 모두 접근이 가능해서 편리합니다. ETF가 얼마를 분배했는지는 TR과 배당금(분배금)을 고려하지 않은 수정 주가(Price Return; 이하 PR)를 이용하여 추정할 수 있습니다. 몇몇 커버드콜 ETF와 고배당 ETF의 분배금을 추정해 보면, 일부 분배금 내역이 누락되어 있습니다. 야후 파이낸스의 PR은 맞지만, 분배금을 재투..

파이썬 2024.06.29

코스피/코스닥의 시총과 지수 변화 (2001년 6월 ~ 2023년 12월)

아래는 코스피/코스닥의 시가 총액과 지수의 최근 22.5년간의 변화를 표시한 그래프입니다. 해당 그래프에서 시가 총액과 지수 모두 배당은 반영되지 않았습니다. 배당은 대략 코스피의 경우 연 2% 정도 코스닥의 경우 연 0.5% 정도입니다. 굵은 실선은 시가 총액이며, 가는 점선은 지수입니다. 세로축은 로그입니다. 간단하게 살펴보면 지난 22.5년간,코스피는 시총이 9.9배 상승했고, 지수는 4.3배 상승했습니다. 대략 2.3배 정도 차이가 납니다.코스닥은 시총이 9.2배 상승했고, 지수는 1.1배 상승했습니다. 대략 8.4배 정도 차이가 납니다 이는 시가 총액 / 지수의 비를 그래프로 그려보면 확연히 드러납니다. 코스닥의 경우 시총과 지수의 차이가 심한데, 주된 이유를 짐작하기는 어렵네요. 대략 추정하기..

파이썬 2024.01.04

시가총액 데이터셋(marcap)을 사용해 보자 (파이썬)

marcap은 국내 종목에 대한 시가 데이터셋을 제공하는 파이썬 라이브러리입니다. git 명령어를 이용하여 아래와 같이 가져올 수 있습니다. $ git clone "https://github.com/FinanceData/marcap.git" marcap ---------- Cloning into 'marcap'... remote: Enumerating objects: 4165, done. remote: Counting objects: 100% (4/4), done. remote: Compressing objects: 100% (4/4), done. remote: Total 4165 (delta 0), reused 1 (delta 0), pack-reused 4161 Receiving objects: 10..

파이썬 2024.01.04