'방법' 태그의 글 목록
본문 바로가기

방법147

퀀트투자(PBR x DPS) 백테스트 업그레이드230928 예전에 백테스트 한 퀀트투자를 다시 해 보았다. 1년이 넘어서 그런지 그 동안 프로그래밍 실력도 나아지고, 보는 눈도 좀 더 좋아진 것 같다. 조건은 KRX Data를 가져와서 저PBR x 저DPS 조합으로 20개씩 동일가중으로 매수해서 1년 후 매도하는 전략이다. 어차피 현실에서는 많은 변수가 있으니 날짜 부분은 매월 첫째일에 투자해서 1년 후 대충 11번째 날에 매도하는 방법으로 했다. 우선 결과는 아래와 같다. 지난번 테스트에는 매년 2월과 11월 초에 투자하는 것이 유리하다고 생각했다. 하지만, 손실이 나는 해의 개수를 비교해보니 2월과 12월이 2번으로 가장 적었다. 초기에 1천만원 투자금으로 추가 불입없이 19년간 투자를 진행하는 시물레이션이다. 19년 후에는 2월 12월 각각 원금대비 187.. 2023. 9. 28.
주식투자 툴 업그레이드 크리스마스에 주식투자 툴을 업그레이드 했습니다. 위의 그림에서 빨간색 박스에 있는 기능이 작동하지 않아서 한참을 찾다가 고쳤습니다. 문제는 pandas_datareader가 작동을 하지 않는 것이었습니다. 이유는 모르겠네요. 결국 FinanceDataReader로 대체했고, 환율, KOSPI, 장단기 금리차, 다우, 나스닥, S&P500을 FinanceDataReader로 가져왔습니다. 전체 코드는 아래와 같습니다. 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 54 55 56 57 5.. 2022. 12. 26.
KOSPI 와 환율 비교(With python) 지난번에 환율과 KOSPI를 비교하는 코드를 포스트에 적은 적이 있다. 2022.09.29 - [취미로 하는 파이썬/투자 실험실 with 파이썬] - 퀀트투자 - 환율데이터 DB에 저장하기, KOSPI와 상관관계 확인해 보기 그리고 사기꾼과 욕심에 관한 내 생각 퀀트투자 - 환율데이터 DB에 저장하기, KOSPI와 상관관계 확인해 보기 그리고 사기꾼과 욕심에 관 환율데이터를 받아서 DB에 저장했다. pykrx 모듈처럼 자동으로 불러 오는 방법을 찾아 봤지만, 엑셀로 받아서 DB에 저장했다. 매번 Data를 업데이트 할 필요도 없고, 한번 DB에 저장하면 그걸로 백테 dotsnlines.tistory.com 그 때는 환율을 크롤링하지 못해서 데이터를 DB에 저장하고 그래프를 그렸다. 매번 데이터를 가져오기.. 2022. 11. 9.
퀀트투자 - 매년 초에 투자해서 매년 말까지 수익률 Test 2022.09.21 - [취미로 하는 파이썬/투자 실험실 with 파이썬] - 퀀트투자 - 통계적인 관점에서 백테스트 수익률 분석 퀀트투자 - 통계적인 관점에서 백테스트 수익률 분석 예전에 저PBR 과 저DPS 조합으로 퀀트투자 백테스트를 한 적이 있다. 저PBR X 저DBS 조합 퀀트투자 백테스트 그 당시에는 모든 것이 완벽할 것이라고 생각하고 바로 실행해 보았다. 막상 실제로 투자 dotsnlines.tistory.com 위와 같이 지난번에 pykrx를 가지고 매년 초에 투자해서 월별로 수익률을 구해보고, 최저값, 최고값을 구해 보았다. 매월 1번만 수익률을 구했기에 매일 종가로 수익률을 구하면 값이 어떻게 되는지 궁금했다. 그래서 DB에 영업일의 모든 Data를 다운로드 해서 저장했고, 일별로 1년.. 2022. 10. 24.
[독서후기] 부자들은 이런 주식을 삽니다 (김현준) 책 제목이 사람의 궁금증을 자아내도록 붙여진 것 같다. 부자가 어떻게 투자하는지 주식투자를 하고 있는 입장에서 읽어보고 싶은 욕구가 솟구쳐 올라서 안 읽을 수가 없었다. 저자의 아버지는 금융권에서 종사 하셨고, 저자 또한 브이아이피투자자문과 키움증권을 거쳐 현재 더퍼블릭자산운용 창업자 겸 대표이사로 재직하고 있다. 항상 이런류의 책들은 너무나 재밌다. 'Page Turner'라는 표현이 어울릴 것 같다. 저자가 의도한대로 정말 쉽게 설명되어 있으며, 부담없이 읽을 수 있도록 되어있다. 특히나 회사의 Life Cycle과 재무제표에 대한 내용을 소설형식으로 풀어 쓴 것은 상당히 좋은 아이디어라 생각한다. 주가가 떨어지는 데도 이유가 있는 것처럼 주가가 오르는 데도 무언가 변곡점이 필요하다. 어차피 하락한 .. 2022. 9. 17.
파이썬으로 PER 밴드 차트 그리기 2 - 수정주가 가져와서 선형으로 그래프 그리기 2022.09.05 - [취미로 하는 파이썬/투자 실험실 with 파이썬] - 파이썬으로 PER 밴드 만들기 1 파이썬으로 PER 밴드 만들기 1 파이썬으로 PER 밴드를 만들어 보았습니다. https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kbomb2000&logNo=221295759491 PER band 그리기 해당 글에도 언급이 되어 있듯이 피터 린치는.. dotsnlines.tistory.com 지난번 포스트에서 만들어 본 PER 밴드를 좀 더 다듬어 보겠습니다.(지난번 포스트는 위의 링크를 참고하세요) 지난번 포스트에서 PER 밴드를 만드는 과정에서 2가지 고민할 부분이 있었습니다. 첫번째, 주가를 PER x EPS로 구해서.. 2022. 9. 7.
파이썬 마법의 공식 - 7. PER, ROA 순위를 매겨서 투자 종목 선정하기 이번 포스트는 지난번에 만든 PER, ROA를 가져오는 함수를 이용해서 전 종목의 PER과 ROA의 순위를 매긴다음 조엘그린블란트의 마법의 공식과 비슷하게 20개 종목을 고르는 코드를 작성해 보겠습니다. 지난 포스트는 아래 링크를 참고하세요. 2022.07.25 - [집구석 강의/파이썬으로 마법의 공식 구현하기] - 파이썬 마법의 공식 - 6. ROA 가져오기 파이썬 마법의 공식 - 6. ROA 가져오기 지난번까지 전체 종목을 가져와서 PER까지 가져오는 방법을 알아보았습니다. 지난번 포스트는 아래 링크를 참고하세요. 2022.07.13 - [집구석 강의/파이썬으로 마법의 공식 구현하기] - 파이썬 마법 dotsnlines.tistory.com def make_magic_df(year, date): # .. 2022. 8. 15.
무조건 수익이 나는 IRP 미국 주식 투자 - 3. NH투자증권에서 IRF 가입 후 ETF 투자하기 지난 포스트에서는 IRP에서 투자가 가능한 S&P 500을 추종하는 ETF 중 개인적으로 괜찮은 상품을 소개 드렸습니다. 관련 포스트는 아래 링크를 참고하시기 바랍니다. 2022.08.11 - [인생발자국/경제] - 무조건 수익이 나는 IRP 미국 주식 투자 - 2. 안성맞춤 ETF 고르기 무조건 수익이 나는 IRP 미국 주식 투자 - 2. 안성맞춤 ETF 고르기 지난 포스트에서는 IRP를 어떻게 활용해야 하는지를 말씀 드렸고, S&P 500 을 추종하는 ETF를 사야 된다는 말씀을 드렸습니다.(아래 링크는 지난 포스트입니다.) 2022.08.10 - [인생발자국/경제] - 무조 dotsnlines.tistory.com 이번 포스트는 NH투자증권에서 IRP를 가입하는 방법과 ETF를 사는 방법을 알려드리.. 2022. 8. 11.
파이썬 마법의 공식 - 6. ROA 가져오기 지난번까지 전체 종목을 가져와서 PER까지 가져오는 방법을 알아보았습니다. 지난번 포스트는 아래 링크를 참고하세요. 2022.07.13 - [집구석 강의/파이썬으로 마법의 공식 구현하기] - 파이썬 마법의 공식 - 5. PER 가져오기 파이썬 마법의 공식 - 5. PER 가져오기 2022.06.28 - [집구석 강의/파이썬으로 마법의 공식 구현하기] - 파이썬 마법의 공식 - 4. 모든 종목번호, 종목명 가져오기 파이썬 마법의 공식 - 4. 모든 종목번호, 종목명 가져오기 조엘 그린블란트 dotsnlines.tistory.com 이번 포스트는 ROA를 가져오는 방법을 알아보도록 하겠습니다. ROA는 크롤링을 해야 합니다. 우선 인터넷 브라우저 주소입력창에 "https://comp.fnguide.com" .. 2022. 7. 25.
파이썬 마법의 공식 - 5. PER 가져오기 2022.06.28 - [집구석 강의/파이썬으로 마법의 공식 구현하기] - 파이썬 마법의 공식 - 4. 모든 종목번호, 종목명 가져오기 파이썬 마법의 공식 - 4. 모든 종목번호, 종목명 가져오기 조엘 그린블란트의 마법의 공식을 구현하기 위해서는 우선 주식시장에 상장된 전체 종목을 가져와야 합니다. 여러가지 방법이 있겠지만, 저는 KRX에서 전체 종목을 가져오도록 하겠습니다. 다행 dotsnlines.tistory.com 지난 포스트에는 pykrx 라이브러리를 사용해서 상장된 모든 종목을 가져왔습니다. 이번 포스트는 per을 가져와서 정리해 보도록 하겠습니다. 전체 종목 리스트는 pykrx 모듈을 이용해서 가져왔습니다. PER도 pykrx를 사용해서 가져오겠습니다. 가져온 데이터를 테이블 형식으로 만들기.. 2022. 7. 13.
파이썬 마법의 공식 - 4. 모든 종목번호, 종목명 가져오기 조엘 그린블란트의 마법의 공식을 구현하기 위해서는 우선 주식시장에 상장된 전체 종목을 가져와야 합니다. 여러가지 방법이 있겠지만, 저는 KRX에서 전체 종목을 가져오도록 하겠습니다. 다행히 어느 능력자께서 'pykrx'라는 라이브러리를 만드셔서 상장된 전체 주식종목을 아주 쉽게 가져올 수 있습니다. 혹시나 모르시는 분들이 계실수도 있어서 기초적인 사항 하나만 먼저 말씀드리겠습니다. 파이참을 열어보시면 왼쪽에 위의 그림과 같이 탐색창이 나옵니다. 마우스 오른쪽 버튼을 클릭하면 메뉴창이 나오는데, "New > Directory"를 선택하면 폴더를 생성할 수 있고, "New > Python File"을 선택하면 우리가 코딩하는 창을 만들 수 있습니다. 폴더이름과 파일이름은 아무거나 만드셔도 상관 없습니다. 이.. 2022. 6. 28.
파이썬 마법의 공식 - 3. 모듈(라이브러리) 설치하기 지난 포스트에서도 설명을 드린것 처럼, 파이썬은 비교적 쉽습니다. (그러니 저같이 비전공, 비전문분야, 40대 컴맹아저씨가 파이썬 포스트를 쓰고 있습니다.) 왜 쉬우냐면 이미 다른사람이 만든 코드를 가져다 쓰기 쉬운 구조이기 때문입니다. 예를들어 마우스를 자동으로 제어하는 프로그램을 하나 만든다고 생각해 볼까요? 아마 모르긴 몰라도 다른 언어를 사용해서 만든다면, 1,000줄 이상 아주 어렵게 코딩을 해야 될 것 같은 기분이 드네요. 하지만, 남이 만든 모듈을 가져와서 사용한다면 5줄도 안되는 코드로 마우스를 제어할 수 있습니다. 이번 포스트는 이런 남이 만든 코드인 모듈(module)을 가져와서 사용하는 방법에 대해 알려드리겠습니다. ※ 모듈과 라이브러리는 같은 의미로 사용하겠습니다. 저도 독학으로 배.. 2022. 6. 23.
파이썬 마법의 공식 - 1. 시작하는 글 제 블로그의 구독자 중 한 분께서 "조엘그린블란트"의 마법의 공식을 파이썬으로 구현하고 싶다는 요청이 있었습니다. 파이썬에 아직 익숙하지 않으셔서 코딩에 어려움을 겪고 계시다고 하셔서 함께 고민할겸 "마법의 공식"을 파이썬으로 구현하는 강의 포스트를 개설했습니다. 조엘그린블란트는 1985년 ~ 2005년까지 약 20년간 연 40%의 수익율을 올린 고담 캐피털의 설립자이자 경영파트너입니다. 이 분이 돈은 많은데 명예욕이 있어서 책을 쓰셨어요. 첫번째 책이 "주식시장을 이기는 작은책"입니다. 이 책에서 나오는 주식 투자 방법이 있는데, 어린 아들도 이 방법으로 투자하더라도 무조건 수익을 볼 수 있는 법칙을 적었습니다. 일종의 계량투자(퀀트투자)법인데, 2006년 이 책이 발매될 당시 선풍적인 인기를 얻었습니.. 2022. 6. 12.
파이썬 퀀트투자 쉽게하기 - 11. 종목 고르는 프로그램(실행파일) 무료 배포 지난번 사정상 급하게 마지막 강의를 마무리하고 오랜만에 다시 포스트를 올려 봅니다.파이썬을 배우시는 목적에서 나름 설명을 드렸으나, 종목을 고르는 코드만 필요하신 분들도 계실거라는 생각이 듭니다.그래서 이번 포스트는 투자할 종목을 고르는 코드를 설명드리고, 포스트의 마지막에는 제가 만든 프로그램도 배포 드릴려고 합니다.우선 전체 코드는 아래와 같습니다. 1 2 3 4 5 6 7 8 .. 2022. 6. 7.
여러 개 워드(Word, docx)파일 한 번에 쉽게 PDF로 변환하기(프로그램 무료배포) 지난번에 PDF를 워드(Word, docx)로 변환하는 프로그램을 만들어 보았습니다.(아래 링크 참고하세요)2022.05.30 - [취미로 하는 파이썬/회사에서 몰래 파이썬] - 파이썬으로 PDF를 Word로 변환하기(PDF to Word, docx), 실행파일 무료 다운로드 파이썬으로 PDF를 Word로 변환하기(PDF to Word, docx), 실행파일 무료 다운로드회사에서 업무를 하다보면 PDF 문서를 Word로 변경해야 할 때가 있습니다. 구글에서 검색해서 아래 사이트와 같이 무료로 변환해 주는 사이트를 이용하는 방법도 있습니다. 하지만, 사용 횟수에dotsnlines.tistory.com   포스트를 시작하기 전에 워드 파일에서 메모 작성자 이름을 변경해야 할 경우가 없으셨나요? 워드파일에서는.. 2022. 6. 3.
PDF를 Word로 변환하기(PDF to Word, docx), 변환 프로그램 무료 다운로드(By Python) 포스트의 마지막 부분에 코딩을 하지 않고도 변환 프로그램을 무료로 다운로드 받아서 사용하실 수 있습니다. 회사에서 업무를 하다보면 PDF 문서를 Word로 변경해야 할 때가 있습니다. 구글에서 검색해서 아래 사이트와 같이 무료로 변환해 주는 사이트를 이용하는 방법도 있습니다. 하지만, 사용 횟수에 제한이 있고, 상당히 번거롭습니다. 그래서 파이썬을 이용해서 PDF를 Word로 변환해주는 코드를 만들어 보았습니다. "pdf2docx"라는 라이브러리를 사용하면, 간단하고, 쉽게 PDF를 워드로 변환하는 프로그램을 만들 수 있습니다. 핵심코드는 아래와 같습니다. cv = Converter(file_name) cv.convert(changed_file) cv.close() 'Converter'라는 함수에 PDF.. 2022. 5. 30.
파이썬 퀀트투자 쉽게하기 - 10. 전체 코드(마지막) 저 PBR 주식을 선별해서 퀀트투자 백테스트를 할 수 있는 전체 코드입니다. 개인 사정상 강의를 계속 올리기 위한 시간이 충분치 않아서 급하게 마무리하게 됨을 이해하여 주시기 바랍니다. 아래 코드에 주석으로 설명을 달았으니 참고하시기 바라며, 혹시라도 모르시는 부분이 있으면 댓글로 질문해 주시기 바랍니다. 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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 7.. 2021. 12. 28.
파이썬 퀀트투자 쉽게하기 - 9. 영업일만 가져와서 List로 만들기(주식거래일 구하기) 이번에는 백테스트 할 날짜를 구하는 코드를 만들어 보겠습니다. 백테스트 방법은 2003년 부터 2021년까지 특정월 특정일에 투자하고 1년이 지난 후 매도 후 다시 매수하는 것입니다. 18년 기간동안 일일이 달력을 찾아보며 증권거래일(휴일이 아닌 날짜)을 지정하는 방법도 있습니다. 하지만, 백테스트의 목적은 가장 수익이 많이 나는 날짜와 방법을 사용하는 것이기에 여러 조건들을 계속에서 변경할 필요가 있습니다. 수기로 날짜와 조건을 바꾸면 상당한 시간과 노력이 들기에 자동으로 변하게 할 필요가 있습니다. 이때 사용하는 개념이 "변수"입니다. m = 10 d = 4 우선 달을 지정할 변수를 'm'으로 지정하고, 숫자 10을 넣어줍니다. 날짜는 'd'라는 변수에 4를 지정합니다. 이제 2003년부터 2021년.. 2021. 12. 22.
퀀트투자 백테스트 코드 (저PBR X 저DPS) 강환국 님의 '할수있다 퀀트투자'를 읽고나서 파이썬으로 만들어 보았다. 여러 조건을 백테스트 해 보았고, 이 조건이 가장 괜찮았다. 2003년부터 매월 11월 4일 즈음에 매수를 하고, 1년 후 매도 후 다시 매수하는 방법으로 17년간 백테스틀 해 보았다. 수익률이 8652% 즉, 원금의 86배가 된다. 하지만 문제는 손실이 많이 발생하는 해도 있다는 사실이다. 복리 수익률로 실컷 자금을 불렸지만, -42% 손실이 발생하면 정말 견디기 힘들 것 같다. 그래서 11월과 더불어 2월에도 분산해서 투자하는 방법을 생각했다. 그러니 가장 손실이 많이 발생한 해는 -1%로 견딜만한 수준이 되었다. CAGR도 11월만 하면 30%이지만, 2월까지 같이 하더라도 29%로 차이가 거의 없다. 저 PER, 저 PBR, .. 2021. 12. 14.
파이썬 퀀트투자 쉽게 하기 - 7. 파이썬 기초 파이썬 코드를 짜기위한 기초적인 부분만 설명하려고 합니다. 어디부터 어디까지 알려드려야 할지 개인적으로 고민이 많았습니다. 그리고 어떻게 알려드려야 할지도 감이 잡히질 않네요. 그래서 1년 전 제가 파이썬을 시작할때의 마음으로 기초적인 부분만 간단히 다루고 실제 퀀트투자 백테스트 코드를 가지고 설명하는 편이 나을 것 같다는 결론에 도달했습니다. 우선 파이썬은 남이 만든 코드를 가져와서 쓸 수 있습니다. 예를들어 내가 KRX(한국증권거래소)에서 모든 종목을 불러온다고 했을때를 생각해보세요. 뭐 부터 시작해야 하나 막막하죠? 이럴때 "pykrx"라는 모듈(라이브러리)을 사용하면 됩니다. "pykrx"라는 모듈에서 여러 함수를 제공하는데, 제가 필요한 종목코드, 종목명, PER, PBR,... 등 데이터를 쉽.. 2021. 12. 13.