'파이썬으로 만든 것들/마법의 공식' 카테고리의 글 목록
본문 바로가기

파이썬으로 만든 것들/마법의 공식12

파이썬 마법의 공식 - 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.
파이썬 마법의 공식 - 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.
파이썬 마법의 공식 - 2. 파이썬 설치하기 제 경험상 파이썬을 배우는 과정에서 가장 힘든 부분은 아나콘다, 파이참 등 관련 프로그램을 설치하는 과정이었습니다. 파이썬을 시작하기 위한 설치만 완료 한다면 7부 능선은 넘은거라 생각하셔도 됩니다. 예전에 파이썬을 설치하는 포스트를 쓴 적이 있어서 링크를 걸어 드리겠습니다. 아래 링크를 참고하세요. 2020.11.12 - [취미로 하는 파이썬/시작 - 아나콘다,파이참 설치] - 파이썬 시작하기 1 - 아나콘다 쉽게 설치하기 파이썬 시작하기 1 - 아나콘다 쉽게 설치하기 www.anaconda.com/products/individual Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to p.. 2022. 6. 20.
파이썬 마법의 공식 - 1. 시작하는 글 제 블로그의 구독자 중 한 분께서 "조엘그린블란트"의 마법의 공식을 파이썬으로 구현하고 싶다는 요청이 있었습니다. 파이썬에 아직 익숙하지 않으셔서 코딩에 어려움을 겪고 계시다고 하셔서 함께 고민할겸 "마법의 공식"을 파이썬으로 구현하는 강의 포스트를 개설했습니다. 조엘그린블란트는 1985년 ~ 2005년까지 약 20년간 연 40%의 수익율을 올린 고담 캐피털의 설립자이자 경영파트너입니다. 이 분이 돈은 많은데 명예욕이 있어서 책을 쓰셨어요. 첫번째 책이 "주식시장을 이기는 작은책"입니다. 이 책에서 나오는 주식 투자 방법이 있는데, 어린 아들도 이 방법으로 투자하더라도 무조건 수익을 볼 수 있는 법칙을 적었습니다. 일종의 계량투자(퀀트투자)법인데, 2006년 이 책이 발매될 당시 선풍적인 인기를 얻었습니.. 2022. 6. 12.
마법의 공식 파이썬 코드 이전에 블로그의 다른 포스트에서 마법의 공식 코드를 올린적이 있다. 에러가 난다는 문의글이 댓글로 달려서 결국 에러를 수정했다. 에러의 이유는 없어진 기업 코드를 KRX에서 불러올때 발생한다. 그래서 try~except 문을 추가했다. 전문적으로 코딩을 하는 사람은 보통 Git Hub를 이용한다. 내가 만든 코드는 그렇게 복잡하거나 내용이 많지 않으니, 블로그에 올려 놓는다. 그렇게 하면 오히려 나중에 응용해서 다른 코드를 만들때 훨씬 수월하다. 마법의 공식으로 걸러낸 종목들은 투자한 기업을 고를때 시간도 아껴주고 유용하다. 신기하게도 이렇게 고른 기업들 중 저평가 된 기업이 의외로 많이 보인다. 세상이 많이 좋아졌다. 이런 파이썬이라는 언어는 나 같이 회사일을 본업으로 하는 가장에게 투자함에 있어서 많.. 2021. 12. 12.
(업데이트) 파이썬으로 마법의 공식 구현하기 4 - 전체 코드 (파이썬 코드파일 공유) 지난 포스트까지 전체 종목코드와 PER을 가져오고, 에프엔가이드 사이트에서 ROA를 크롤링해서 데이터프레임을 만들고 마법의 공식을 구현하는 코드를 작성해 보았습니다. 이전 포스트는 아래링크를 클릭하세요 ↓ 2021.05.26 - [취미로 하는 파이썬/Python Project] - 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기 조엘그린블란트의 마법의 공식은 상당히 유명합니다. PER과 ROA를 이용해서 종목을 골라내는 방법이죠.(엄밀히 말하면 실제 마법의 공식과 약간 다릅니다.) 우리나라에서는 맞지 않다고 하시는 dotsnlines.tistory.com 2021.05.27 - [취미로 하는 파이썬/Python P.. 2021. 5. 29.
파이썬으로 마법의 공식 구현하기 3 - ROA, PER의 순위를 매겨서 최종순위 정렬하기 지난번 포스트까지 전 종목 코드와 PER을 가져오는 함수와 코드를 입력하면 ROA를 가져올 수 있는 함수를 만들었습니다. 지난번 포스트는 아래 링크를 참고하세요. ↓ 2021.05.27 - [파이썬/Python Project] - 파이썬으로 마법의 공식 구현하기 2 - ROE 가져오기 이번에는 이미 만들어진 함수를 가지고 데이터프레임을 만들고 각각 순위를 매겨서 최종 순위를 매기는 코드를 만들어 보겠습니다. # krx 데이터 '종목코드', '종목명', 'PER' 가져오기 codes = get_ticker_per(date) codes['종목코드'] = codes.index 종목코드와 PER을 가져와서 codes라는 변수의 데이터프레임에 담습니다. 종목코드는 인덱스로 되어있기 때문에 임의로 종목코드의 컬럼을.. 2021. 5. 28.
파이썬으로 마법의 공식 구현하기 2 - ROA, ROE 가져오기 지난번 포스트에 이어서 이번에는 ROA를 웹에서 가져오는 방법을 기록하겠습니다. 지난번 포스트는 아래 링크를 참고하세요 ↓ 2021.05.26 - [파이썬/Python Project] - 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기 requests 모듈을 이용해서 에프엔가이드에서 제공하는 ROA를 가져오겠습니다. code 명과 가져올 시점(해당 분기 또는 사업보고시점)을 파라미터로 넣어주면 ROA를 가져오는 과정입니다. ROA를 가져오는 김에 ROE도 함께 불러오도록 하겠습니다. url = 'https://comp.fnguide.com/SVO2/ASP/SVD_FinanceRatio.asp?pGB=1&gicode=' + code + \ '&cID=&MenuYn=Y&ReportGB=.. 2021. 5. 27.
파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기 조엘그린블란트의 마법의 공식은 상당히 유명합니다. PER과 ROA를 이용해서 종목을 골라내는 방법이죠.(엄밀히 말하면 실제 마법의 공식과 약간 다릅니다.) 우리나라에서는 맞지 않다고 하시는 분이 많은데, 예전에 엑셀 매크로로 10년치 데이터를 백테스트 해 보니 평균 수익률이 꽤 높더라구요. 저는 마법의 공식으로 실제로 투자를 해서 23%, 15% 수익을 4개월만에 달성한 적도 있습니다. 코로나 폭락장 이전부터 폭락장이 이어지는 내내 마법의 공식으로 투자를 했는데, 투자 수익률이 나쁘지 않았습니다. 더구나 오래 보유하고 있으면 수익률이 많이 상승하는 경험도 있었습니다. 좀 더 마법의 공식을 쉽게 하기 위해서 파이썬으로 구현을 했었습니다. 본업이 바빠서 한동한 투자에 손을 놓고 지내다가 다시 마법의 공식을 .. 2021. 5. 26.