본문 바로가기

분류 전체보기141

파이썬 퀀트투자(2): 한국거래소 업종 분류 현황 크롤링 주식 관련 데이터를 구하기 위해 가장 먼저 해야할 일은 어떤 종목들이 해당 국가 거래소에 상장되어있는가에 대한 정보를 구하는 것입니다. 우리나의 경우, 한국거래소에서 제공하는 업종분류 형황과 개별종목 지표 데이터를 이용하면, 매우 간단하게 해당 정보를 수집할 수 있습니다. 전편: 파이썬 퀀트투자(1): 최근 영업일 기준 데이터 크롤링 여기서는 먼저 업종분류 현황 데이터를 수집하는 방법을 다뤄보겠습니다. KRX 정보데이터시스템 http://data.krx.co.kr/ 에서 [기본통계 → 주식 → 세부안내] 부분[12025] 업종분류 현황: http://data.krx.co.kr/contents/MDC/MDI/mdiLoader/index.cmd?menuId=MDC0201020506먼저 사이트에 접속한 뒤, .. 2024. 10. 9.
파이썬 퀀트투자(1): 최근 영업일 기준 데이터 크롤링 파이썬 퀀트투자 시리즈는 '헨리의 퀀트대학' 유튜브 및 깃허브를 운영하는 이현열 작가님의 코딩과 그리고 '할 수 있다! 알고 투자' 유튜브 채널을 운영하는 강환국 작가님의 (한국)성장 가치, 소형주 전략을 합쳐서 제작하게 된 시리즈입니다.  (한국)성장 가치, 소형주 전략은 아래와 같은 비중으로 투자하는 전략입니다. 미국 주식의 경우 켄 피셔 대형주 전략을 쓰지 않고, S&P500에만 투자해도 백테스트 결과 크게 차이가 없는걸로 나타났습니다. 그래서 여기서는 (미국)켄 피셔 대형주 전략은 제외할 예정입니다.   이 전략으로 한달에 한 번씩 한국의 성장 가치, 소형주 종목을 20개 선정하고, 매달 비율에 맞춰서 리벨런싱 하는 과정까지 진행해보겠습니다. 최근 영업일 기준 데이터 크롤링네이버 금융의 [국내증시.. 2024. 10. 9.
GA4 API 사용법(2): 구글 시트에 코호트 리텐션 데이터 자동화 이 글에서는 GA4 API를 활용하여 파이썬으로 데이터를 불러와서 코호트 리텐션 데이터를 구글시트에 자동으로 입력하는 방법에 대해서 알아보겠습니다.  GA4 API와 파이썬 연동하는 방법은 Google Analytics용 Python API(GA4) 사용법(1) 이 글을 참고해 주세요. 연동하는 데에 성공했다면, 이제 이 글을 따라와 주시면 됩니다.  보통 리텐션 차트는 아래와 같은 형태로 되어있습니다. 날짜 형태의 인덱스인 '코호트'는 보통 cohort index라고 부르고, 0~12까지로 되어있는 열은 보통 cohort months, cohort days 등으로 부르죠. 이 글에서는 GA4 API를 활용하여 아래와 같은 형태로 구글 시트에 데이터 입력하는 걸 자동화시키는 과정을 다루겠습니다.  1. .. 2024. 10. 7.
30년 뒤의 나에게 나는 5년 전쯤 5년 뒤의 나에 대해서 참 많은 생각을 했었다. 진로에 대한 고민을 해결하기 위한 독서, 생각, 글쓰기, 궁금한 분야의 거장들 찾아다니기 이런 활동을 정말 많이 해왔었고, 나름대로 결론을 내고, 세운 목표가 많았다. 하지만 5년정도가 지난 지금 이 시점에 그때의 내 목표들을 돌아보면, 사실 이루어내지 못한 것들이 대부분이다. 그도 그럴 것이 나는 너무 기간적으로 비현실적인 목표들을 많이 세웠고(난 내가 25년쯤 되면 월에 1억을 벌 수 있을 줄 알았다..), 나름 세부적인 목표들은 중간중간 방향성이 달라지는 바람에 이루지 못한 것들이 많았다. 그때 당시엔 메타인지가 스스로 높다고 평가했었는데, 사실 형편없는 수준이었던 것이다. 방향성이 바뀐 이유에 대해서 생각해보면, 그만큼 내가 많이 무.. 2024. 10. 4.
Java 기초 배울 때 놓치기 쉬운 것들 정리 1. Java 기본 구조프로젝트 > 패키지 > 클래스 > 메소드 > 소스코드프로젝트 만들기 단축키 : Alt + Shift + n이후, 아랫방향키 + 엔터치고, 프로젝트 이름 지정(버전 잘 맞춰줘야함.)패키지 만들기 단축키 : src 폴더에서 Ctrl + n이후, pack 검색 후 엔터치고, 패키지 이름 지정(소문자로 시작해야함.)클래스 만들기 단축키 : Ctrl + n클래스 선택 후 엔터치고, 클래스 이름 지정(대문자로 시작해야함.)main 메소드 단축키 : main 쓰고, Ctrl + 스페이스바 한줄 통째로 지우는 단축키 : Ctrl + D주석 : Ctrl + /  2. 변수 선언시 주의사항반드시 초기값을 설정해주어서 초기화 시켜주어야함. 초기화를 안하면, RAM에 남아있는 가비지 값이 그대로 들어와.. 2024. 9. 29.
[Python] Pandas : Dataframe 함수 - melt() 데이터 분석이나 시각화 작업을 하다 보면 데이터를 변환해야 할 때가 많습니다. 그중 가장 많이 사용하는 변환 중 하나가 데이터를 넓은 형식(wide format)에서 긴 형식(long format)으로 바꾸는 작업입니다. Pandas의 melt() 함수는 바로 이러한 변환을 쉽게 해주는 도구입니다. 이번 포스트에서는 melt() 함수의 기본 사용법부터 다양한 옵션을 살펴보겠습니다. 1. melt() 함수란?melt() 함수는 넓은 형식의 데이터를 긴 형식으로 변환하는 함수입니다. 예를 들어, 여러 개의 열(column)로 구분된 데이터를 하나의 열로 병합하고, 병합된 값을 기준으로 데이터 프레임을 재구성할 수 있습니다. 이를 통해 시각화나 분석에 더 적합한 형태로 데이터를 변형할 수 있습니다. 넓은 형식.. 2024. 9. 29.
[Python] Pandas : Dataframe 함수 - pivot() vs pivot_table() Ppivot()과 pivot_table() 함수는 엑셀의 피벗테이블과 같은 기능을 제공하는 함수입니다. 두 함수는 매우 유사해 보이지만, 실제로는 용도와 기능에서 몇 가지 중요한 차이점이 있습니다. 이번 포스트에서는 이 두 함수의 사용법과 차이점을 살펴보겠습니다. 1. Pandas pivot() 함수pivot() 함수는 데이터를 재구성하여 열 값을 인덱스로, 열로, 값으로 변환합니다. 이는 고정된 값들에 대해 단순한 피벗을 만들 때 사용됩니다. pivot() 함수 문법DataFrame.pivot(index=None, columns=None, values=None) index: 새로 설정할 인덱스. 기존의 열 이름을 지정합니다.columns: 열로 사용할 데이터. 피벗 테이블의 새로운 컬럼으로 변환됩니다... 2024. 9. 29.
[Python] Pandas : Dataframe 함수 - concat() 이 블로그에서는 데이터를 병합할 때 사용하는 pandas의 concat() 함수를 다양한 상황에서 어떻게 활용할 수 있는지 살펴보겠습니다.   1. concat() 함수란?concat() 함수는 pandas 라이브러리에서 제공하는 함수로, 여러 데이터프레임이나 시리즈를 행(row) 또는 열(column) 기준으로 병합할 때 사용됩니다. 이 함수는 같은 구조를 가진 데이터를 연결하여 하나의 데이터프레임으로 만드는 데 자주 사용됩니다.함수 형태import pandas as pdpd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False,.. 2024. 9. 29.
[해커랭크] SQL 심화 응용 팁들 1. SELECT 서비스쿼리에서 where 조건으로 필터링https://www.hackerrank.com/challenges/the-company/problem?isFullScreen=true select a.company_code, a.founder,(select count(distinct lead_manager_code) from lead_manager where company_code = a.company_code),(select count(distinct senior_manager_code) from senior_manager where company_code = a.company_code),(select count(distinct manager_code) from manager where com.. 2024. 9. 24.
Python 개발환경 설정 가상환경에서 파이썬 코드를 작성하고, 수정을 할 때마다 버전을 기록하면서 커밋할 수 있게 인터프리터 개발 환경을 세팅하는 방법을 알아보자. 1. 파이썬 설치https://www.python.org/downloads/버전 선택(Python 3.10.9 버전 권장)운영체제 맞는 파일 선택하여 설치Add python.exe to PATH 체크 후 환경변수 추가하여 Install Now 클릭Windows PowerShell에서 python --version 명령어 입력파이썬 버전 확인python 입력print("hello world") 입력 후, 출력되는지 확인 2. VSCode 설치https://code.visualstudio.com/download윈도우의 경우 system installer 선택관리자 권한으.. 2024. 9. 11.
[Python] Pandas : Dataframe 함수 - merge() 데이터 분석을 하다 보면, 여러 개의 데이터프레임을 결합해야 하는 경우가 자주 발생합니다. Pandas의 merge() 함수는 이런 작업을 수행할 때 매우 유용한 도구입니다. 이 글에서는 merge() 함수의 사용법과 다양한 옵션들을 예시와 함께 자세히 설명하겠습니다. 1. 기본 사용법, on 매개변수merge() 함수는 SQL의 JOIN 연산과 유사한 방식으로 두 개의 데이터프레임을 합칠 수 있습니다. 기본적인 사용법은 다음과 같습니다:import pandas as pd# 예제 데이터프레임 생성df1 = pd.DataFrame({ 'key': ['A', 'B', 'C', 'D'], 'value1': [1, 2, 3, 4]})df2 = pd.DataFrame({ 'key': ['B', '.. 2024. 8. 16.
Webview, 하이브리드 앱 GTM 이벤트 설치 및 수집 방법 이 글에서는 하이브리드 앱의 웹뷰(WebView) 내에서 발생하는 이벤트를 Firebase Analytics에 연동하여 GTM으로 이벤트 수집하는 방법을 단계별로 설명합니다.  하이브리드 앱 또는 네이이트 앱의 특정 영역에 웹뷰를 사용하는 경우, 사용자들의 행동은 웹뷰 내에 있는 웹사이트에서 일어나게 됩니다. 그런데, 파이어베이스 애널리틱스의 경우엔 네이티브 영역에 설치가 됩니다. 그래서 웹뷰 내에서 일어나는 행동들을 파이어베이스 애널리틱스가 이벤트로 바로 찍을 수가 없습니다.  그래서 웹뷰에서 발생하는 이벤트를 수집하려면, 웹사이트 내에서 사용자가 행동을 했을 때, 네이티브 영역으로 데이터를 전달해줘야합니다. 그리고 나서 데이터를 받은 네이티브 영역에서는 받은 데이터를 이용해서 앱 자체에서 파이베이스 .. 2024. 8. 13.