KRX13 퀀트투자 - KRX에서 재무 데이터 DB로 저장하기 지난 포스트에서 KRX에서 영업일을 다운받아 DB에 저장하는 과정을 기록했다. 이전 포스트(KRX에서 영업일 다운로드 받기) 이제 드디어 데이터를 다운 받았다. 다행히 차단되지 않고, 한 번에 받았지만 아주 오래 걸렸다. 미리 받은 영업일을 데이터프레임을 가져오고, 다시 List로 저장 했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 from pykrx import stock from datetime import datetime, timedelta import pandas as p.. 2022. 9. 25. 퀀트투자 - KRX에서 영업일 다운로드 받기 퀀트투자 백테스트와 분석을 진행하면서 힘든 부분이 데이터를 구하는 것이다. 지난 포스트(퀀트투자 - 통계적인 관점에서 백테스트 수익률 분석) pykrx로 데이터를 가져왔지만 데이터 양이 많아지면 KRX 사이트에서 차단이 되어 버린다. 그래서 데이터를 다운 받아서 Local PC에 저장하기로 했다. 엑셀에 저장하려고 했지만, 데이터 양이 너무 많아서 불가능 하다는 사실을 알게되었다.(가능하다 해도 속도도 느려지고, 사용하기가 불편할 것이다.) 그래서 DB라는걸 이용하기로 했다. 예전에 읽은 책에서 Maria DB라는걸 알게 되어서 설치하고, 해 보려고 했지만 내가 머리가 나빠서 그런지 이해도 잘 안되고 어떻게 하는지 잘 모르겠다. 그러던 중 sqlite3 라는걸 검색해서 찾아냈다. 이건 상대적으로 할 수 .. 2022. 9. 23. 파이썬으로 PER 밴드 만들기 1 파이썬으로 PER 밴드를 만들어 보았습니다. https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kbomb2000&logNo=221295759491 PER band 그리기 해당 글에도 언급이 되어 있듯이 피터 린치는 주식의 고평가 기준을 '이익선' 을 기준으로 삼고 주가가 이... blog.naver.com 네이버를 검색하다가 엑셀로 PER 밴드를 그리는 포스트를 쓰신 분을 발견하게 되었습니다. (위에 링크) 파이썬으로 PER을 그리면 훨씬 편리할 것 같은데, 그런 포스트는 검색을 해도 찾을 수가 없었습니다. 그래서 간단히 한 번 만들어 보았습니다. 기본 개념은 간단합니다. 저도 PER 밴드를 만드는 원리를 파이썬으로 구현하면서 알게 .. 2022. 9. 5. 퀀트투자 분할매수 백테스트(파이썬) 저의 취미 중 하나가 프로그래밍입니다. 또 다른 취미는 주식투자 입니다. 투자관련 서적들을 보면 여러가지 투자 방법들을 알 수 있는데, 실제로 수익이 나는지 증명해 보고 싶을때가 있습니다. 작년에 저PBR x 저DPS로 백테스를 해 본적이 있습니다. 아래 링크는 제가 백테스트 한 내용을 적은 포스트입니다. 2021.12.14 - [인생발자국/처음부터 다시 쓰는 투자일기] - 퀀트투자 백테스트 코드 (저PBR X 저DPS) 퀀트투자 백테스트 코드 (저PBR X 저DPS) 강환국 님의 '할수있다 퀀트투자'를 읽고나서 파이썬으로 만들어 보았다. 여러 조건을 백테스트 해 보았고, 이 조건이 가장 괜찮았다. 2003년부터 매월 11월 4일 즈음에 매수를 하고, 1년 후 매도 dotsnlines.tistory.co.. 2022. 8. 31. 파이썬 마법의 공식 - 3. 모듈(라이브러리) 설치하기 지난 포스트에서도 설명을 드린것 처럼, 파이썬은 비교적 쉽습니다. (그러니 저같이 비전공, 비전문분야, 40대 컴맹아저씨가 파이썬 포스트를 쓰고 있습니다.) 왜 쉬우냐면 이미 다른사람이 만든 코드를 가져다 쓰기 쉬운 구조이기 때문입니다. 예를들어 마우스를 자동으로 제어하는 프로그램을 하나 만든다고 생각해 볼까요? 아마 모르긴 몰라도 다른 언어를 사용해서 만든다면, 1,000줄 이상 아주 어렵게 코딩을 해야 될 것 같은 기분이 드네요. 하지만, 남이 만든 모듈을 가져와서 사용한다면 5줄도 안되는 코드로 마우스를 제어할 수 있습니다. 이번 포스트는 이런 남이 만든 코드인 모듈(module)을 가져와서 사용하는 방법에 대해 알려드리겠습니다. ※ 모듈과 라이브러리는 같은 의미로 사용하겠습니다. 저도 독학으로 배.. 2022. 6. 23. 퀀트투자 백테스트 코드 (저PBR X 저DPS) 강환국 님의 '할수있다 퀀트투자'를 읽고나서 파이썬으로 만들어 보았다. 여러 조건을 백테스트 해 보았고, 이 조건이 가장 괜찮았다. 2003년부터 매월 11월 4일 즈음에 매수를 하고, 1년 후 매도 후 다시 매수하는 방법으로 17년간 백테스틀 해 보았다. 수익률이 8652% 즉, 원금의 86배가 된다. 하지만 문제는 손실이 많이 발생하는 해도 있다는 사실이다. 복리 수익률로 실컷 자금을 불렸지만, -42% 손실이 발생하면 정말 견디기 힘들 것 같다. 그래서 11월과 더불어 2월에도 분산해서 투자하는 방법을 생각했다. 그러니 가장 손실이 많이 발생한 해는 -1%로 견딜만한 수준이 되었다. CAGR도 11월만 하면 30%이지만, 2월까지 같이 하더라도 29%로 차이가 거의 없다. 저 PER, 저 PBR, .. 2021. 12. 14. 파이썬 퀀트투자 쉽게하기 - 4 프로그래밍 없이 백테스트 하기 이번 시간에는 프로그래밍을 하지 않고, 손쉽게 백테스트 하는 방법에 대해서 포스트 해 보겠습니다. 퀀트투자는 말 그대로 계량투자를 말합니다. 일정한 조건으로 종목을 선별해서 규칙적으로 사고, 팔고(리벨런싱)을 하면서 장기간 복리수익을 기대하는 투자법입니다. 계량 조건은 간단한 PER, PBR 부터 매출액, 영업이익률 등 투자자 성향에 따라 여러 요소가 될 수 있습니다. 중요한 점은 백테스트를 통해 장기간 수익률이 괜찮은 요소로 투자를 해야 한다는 것입니다. 지난 포스트에서도 말씀 드렸듯이 시중에 판매되는 프로그램을 사용하셔서 백테스트를 해도 되지만, 더욱 간단한 방법으로 직접 백테스트를 하는 방법이 있습니다. 일단 저 PBR 기준으로 20개 종목을 선정 후 1년 후 수익률을 확인하는 백테스트 방법에 대해.. 2021. 11. 29. 파이썬 퀀트투자 쉽게하기 - 3 현실적인 퀀트투자 방법 퀀트투자 책들을 읽어보면 대부분 어렵습니다. 최소한 제 경우는 그랬습니다. 설사 이해가 된다고 하더라도 구현하기가 상당히 어렵습니다. 조엘 그린블란트라는 유명한 펀트매니저가 쓴 "주식시장을 이기는 작은책"은 그나마 쉬운 편입니다. 높은 이익수익률과 높은 자본수익률을 내는 회사를 20 ~ 30개 쯤 사서 3년 보유하면 된다고 합니다. 이것을 마법의 공식이라고 저자가 불렀고, 1988년 ~ 2004년까지의 마법의 공식 평균 수익률은 30.8%가 된다고 책에 적혀 있습니다. 저는 책은 재미있게 읽었는데, 도통 어떻게 하라는지 이해가 가지 않더라구요. 그래서 책 맨 뒤에 적혀있는 "일반적인 선별 방법"을 시도해 보았습니다. 일반적인 선별방법은 높은 ROA와 낮은 PER을 순위를 매긴 후 더해서 낮은 순으로 20.. 2021. 11. 24. 퀀트투자 백테스트 - 현실적인 백테스트 방법 - 2 본 포스트는 퀀트투자를 위한 개인적인 백테스트 기록이며, 테스트 과정이 올바르게 진행되었다는 어떠한 증명도 할 수 없음을 알려드립니다. 본 포스트를 참고하셔서 투자를 하는 행위는 삼가하여 주시기 바랍니다. 퀀트투자 프로그램을 사용하지 않고, 보통사람이 할 수 있는 가장 현실적인 퀀트투자 방법 2번째 포스트다. 첫 번째 포스트는 누구나 할 수 있지만, 아주 시간이 오래 걸리는 방법이다. 아래 링크를 참고하길 바란다. 퀀트투자 백테스트 - 현실적인 백테스트 방법 - 1 두 번째 방법은 진입장벽이 약간 있는 방법이다. 파이썬이라는 언어를 공부하고 사용해야 한다. 하지만, 결코 어렵지 않다. 시간만 조금 투자하면 누구나 쉽게 배우고, 활용도가 높은 프로그램이 '파이썬'이다. 혹시나 관심이 있는 사람이 지금 포스.. 2021. 11. 5. (업데이트) 파이썬으로 마법의 공식 구현하기 4 - 전체 코드 (파이썬 코드파일 공유) 지난 포스트까지 전체 종목코드와 PER을 가져오고, 에프엔가이드 사이트에서 ROA를 크롤링해서 데이터프레임을 만들고 마법의 공식을 구현하는 코드를 작성해 보았습니다.이전 포스트는 아래링크를 클릭하세요 ↓2021.05.26 - [취미로 하는 파이썬/Python Project] - 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기조엘그린블란트의 마법의 공식은 상당히 유명합니다. PER과 ROA를 이용해서 종목을 골라내는 방법이죠.(엄밀히 말하면 실제 마법의 공식과 약간 다릅니다.) 우리나라에서는 맞지 않다고 하시는 dotsnlines.tistory.com2021.05.27 - [취미로 하는 파이썬/Python Proje.. 2021. 5. 29. 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기 조엘그린블란트의 마법의 공식은 상당히 유명합니다. PER과 ROA를 이용해서 종목을 골라내는 방법이죠.(엄밀히 말하면 실제 마법의 공식과 약간 다릅니다.) 우리나라에서는 맞지 않다고 하시는 분이 많은데, 예전에 엑셀 매크로로 10년치 데이터를 백테스트 해 보니 평균 수익률이 꽤 높더라구요. 저는 마법의 공식으로 실제로 투자를 해서 23%, 15% 수익을 4개월만에 달성한 적도 있습니다. 코로나 폭락장 이전부터 폭락장이 이어지는 내내 마법의 공식으로 투자를 했는데, 투자 수익률이 나쁘지 않았습니다. 더구나 오래 보유하고 있으면 수익률이 많이 상승하는 경험도 있었습니다. 좀 더 마법의 공식을 쉽게 하기 위해서 파이썬으로 구현을 했었습니다. 본업이 바빠서 한동한 투자에 손을 놓고 지내다가 다시 마법의 공식을 .. 2021. 5. 26. <주식낙법 17> 마법의 공식 - 백테스트 지난 포스트에 이어서 마법의 공식 백테스트 결과를 알려드리겠습니다. 마법의 공식은 '자본수익률'과 '이익수익률'을 가지고 20개 종목을 선정하였지만, 저는 'ROA'와 'PER'을 이용하여 동일한 방법으로 진행하였습니다.('주식시장을 이기는 작은책'에서도 'ROA'와 'PER'을 이용해도 비슷한 결과가 나온다고 적혀있습니다.) 데이터는 'fnguide'의 실적속보 자료와 'KRX'의 투자참고자료를 활용하였습니다. 실적은 연결이 아닌 개별로 제조와 금융 둘다 적용하였고, 작년 5월말에 투자해서 올해 5월말에 매도하는 방식으로 올해 10% 이상 수익이 나지 않으면 그 다음해에 매도하고, 2년까지 수익이 나지 않으면 3년까지 보유하는 방식으로 분석 하였습니다. 순서를 매긴 ROA와 PER 등수를 합산하여(ex.. 2020. 11. 3. <주식낙법 15> 좋은 기업 찾기 - 스크리닝 방법 1 대한민국 주식시장에서 2,000개가 넘는 회사 중 괜찮은 기업을 고르는 방법은 없을까요? 2,000개 기업의 사업보고서와 재무제표를 일일이 다 보는것은 너무나 비효율적입니다. HTS(Home Trading System)을 통해서 주식을 필터링을 할 수도 있고, 여러가지 개인 각자의 방법으로 좋은 기업을 골라낼 수 있습니다. 이 보다 더 간단하고 효과적으로 좋은 기업을 걸러내는 방법을 알려드리겠습니다. "한국거래소(KRX)"에 접속을 하신 후 「시장정보 > 통계 > 주식 > PER/PBR/배당수익률」 순으로 들어갑니다. 위와 같은 화면이 나옵니다. 오른쪽 위에 "Excel"을 클릭하면 엑셀파일을 다운로드 받을 수 있습니다. 메뉴에서 '데이터' > '필터'를 클릭하시고 본인의 기준에 맞게 필터링을 하실 수 .. 2020. 11. 1. 이전 1 다음