출처: NotebookLM 「오늘코드todaycode」 라벨 '금융 및 주식' (영상 11개, 중복 제외 11개) · 2026.10.05 생성
[1/3] 일별 주식 시세도 이거 하나면 코드 한줄로 전기간 수집이 가능하다?!
- FinanceDataReader 라이브러리의
fdr.DataReader()함수를 사용하면 단 한 줄의 코드로 개별 종목의 전기간 일별 시세를 손쉽게 수집할 수 있습니다. - 삼성전자 종목코드('005930')를 문자열 형태로 전달하여 1997년부터 현재까지의 일별 주가 데이터를 받아왔습니다.
start및end옵션 파라미터를 사용하면 원하는 특정 연도 및 날짜 범위를 지정하여 선택 수집할 수 있습니다.- 수집된 데이터는 판다스 데이터프레임 구조로 변환되며 시가(Open), 고가(High), 저가(Low), 종가(Close), 거래량(Volume), 변동률(Change) 컬럼을 제공합니다.
- 종가(Close) 컬럼을 선택하여 판다스 내장
plot()기능을 실행하면 날짜 인덱스를 X축으로 하는 주가 추이 그래프를 즉시 시각화할 수 있습니다. - 종목코드를 모르는 상태에서 종목명(예: '삼성전자')만으로 시세를 수집하려면 거래소 전체 상장 목록과의 맵핑 작업이 추가로 필요합니다.
[2/2] ETF 전종목 수집 JSON 타입도 판다스로?!
- JSON(JavaScript Object Notation)은 키-값(Key-Value) 쌍으로 구성된 개방형 표준 텍스트 데이터 포맷입니다.
- 네이버 금융 ETF 페이지의 비동기 통신(XHR/JS) URL을 통해 전체 ETF 목록 데이터를 JSON 형식으로 수집하였습니다.
- 파이썬
requests.get()함수로 API 요청을 보내고, 응답받은.json()구조에서 'result' 및 'etfItemList' 키 항목에 접근하였습니다. - 추출한 JSON 데이터를
pd.DataFrame()에 전달하면 단 한 줄로 깔끔한 판다스 데이터프레임으로 변환됩니다. datetime.today()및strftime()을 활용하여 수집 시점의 연월일 날짜를 파일명에 자동 반영하는 로직을 구축하였습니다.- 수집된 데이터프레임을 CSV 파일로 저장할 때
index=False를 지정하여 불필요한 인덱스 저장을 방지하였습니다. - 저장한 CSV를 읽어올 때 6자리 종목코드의 앞자리 '0'이 누락되지 않도록
dtype={'itemcode': np.object_}옵션을 부여하였습니다.
[1/2] ETF 전종목 브라우저의 네트워크 탭을 이해하면 코드 한 줄로 가능하다?!
- ETF(상장지수펀드)는 소액으로 여러 종목에 분산 투자할 수 있는 인덱스 펀드로 거래소에서 주식처럼 거래됩니다.
- 네이버 금융 ETF 웹 페이지 주소로
pd.read_html()을 요청하면 테이블 데이터가 직접 수집되지 않는 현상이 발생합니다. - 크롬 개발자 도구의 검사(Inspect) 및 네트워크(Network) 탭을 활용해 웹 페이지 내부의 비동기 통신 구조를 분석하였습니다.
- 네트워크 탭의 JS/XHR 항목에서 실질적인 ETF 데이터 리스트를 내려주는 API 패킷 주소(
etfItemList.nhn)를 찾아냈습니다. - 웹 브라우저가 화면을 띄우기 위해 백그라운드에서 호출하는 숨겨진 JSON API URL을 파악하는 스크래핑 핵심 기법을 제시하였습니다.
[1/3] 여러 종목의 수익률 어떻게 비교할까?!
- FinanceDataReader 튜토리얼을 바탕으로 삼성전자, SK하이닉스, 현대차, 셀트리온, LG화학 등 다수 종목의 주가 데이터를 수집하였습니다.
- 반복문과 딕셔너리(Key-Value) 구조를 활용하여 각 종목별 종가(Close) 시리즈 데이터를 안전하게 취합하였습니다.
- 판다스
pd.concat(..., axis=1)함수를 사용해 개별 종목들의 종가 데이터를 열(Column) 방향으로 병합하였습니다. - 종가 금액 차이가 큰 종목들을 단일 축 그래프로 그릴 경우 금액 스케일 차이로 인해 주가 변동 추이 비교가 어려운 한계가 있습니다.
- Matplotlib/Seaborn의 2축 그래프(
secondary_y) 옵션을 적용하여 스케일이 서로 다른 두 종목의 주가 흐름을 수월하게 비교하였습니다. - 데이터의 첫 번째 날 종가 가격으로 모든 행을 나누어 주는 방식을 통해 기간별 수익률 변화를 손쉽게 표준화하여 시각화하였습니다.
[1/3] ETF 전종목 전처리 - 종목코드가 제대로 표시되지 않는다면?!
- CSV 파일 로드 시
pd.read_csv()의dtype옵션에np.object_를 지정하여 종목코드 앞자리의 '0'이 사라지는 현상을 방지하였습니다. - 수집된 ETF 데이터의 숫자 컬럼명을 직관적인 한글 컬럼명(종목명, 현재가, 전일대비, 등락률, 순자산가치 등)으로 매핑하여 정제하였습니다.
df.info()및df.describe()를 실행하여 결측치 존재 여부, 데이터 타입, 메모리 점유량을 종합 확인하였습니다.- 거래량(quant) 및 거래대금(amount) 컬럼을 기준으로
sort_values(ascending=False)정렬을 수행하여 상위 거래 종목을 추출하였습니다. - ETF 탭 코드(1~7번)가 국내 시장지수, 국내 업종/테마, 파생, 해외주식, 원자재, 채권, 기타 등 각 카테고리 항목을 의미함을 검증하였습니다.
- 불리언 인덱싱(Boolean Indexing)을 활용해 특정 탭 코드 항목만 서브셋으로 추출하고 분석하는 기법을 실습하였습니다.
[1/20] ETF분석 시작하기 - 데이터로드 폰트와 스타일 설정
- 수집 및 전처리가 완료된 ETF 분석 파일을 로드하고 분석 환경을 설정하는 기초 작업을 다루었습니다.
- OS 환경(Windows의 Malgun Gothic, Mac의 AppleGothic)에 알맞게 매트플롯립 한글 폰트를 자동 설정하는
get_font_family()함수를 정의하였습니다. - 차트 축의 음수(-, 마이너스) 기호 깨짐을 방지하기 위해
plt.rc('axes', unicode_minus=False)옵션을 부여하였습니다. set_matplotlib_formats('retina')를 설정하여 고해상도 디스플레이 환경에서 선명한 차트를 출력하도록 지정하였습니다.- Seaborn의 시각화 스타일(
sns.set_theme(style='whitegrid')) 적용 시 한글 폰트 설정보다 먼저 선언해야 폰트 초기화를 막을 수 있습니다. - Seaborn의 범주형 데이터 시각화 도구인
catplot계열(barplot, boxplot, violinplot)과 서브플롯 도구인PairGrid,FacetGrid의 차이를 안내하였습니다.
KRX분석 [1/13] 한국거래소 전체 종목분석 강좌소개와 데이터로드 미리보기
- 단 2장의 문서로 판다스 핵심 기능을 한눈에 파악할 수 있는 'Pandas Cheat Sheet' 가이드를 기반으로 실습을 진행하였습니다.
- 표 형태의 2차원 데이터를 다루는 '데이터프레임(DataFrame)'과 단일 행/열로 구성된 '시리즈(Series)' 자료구조의 개념을 정리하였습니다.
pd.read_csv()로 상장 종목 파일을 불러오고df.shape를 통해 전체 행과 열의 크기를 확인하였습니다.df.head(),df.tail(),df.sample()함수를 활용해 상단, 하단, 임의의 샘플 데이터를 미리보기 하였습니다.df.info()및df.describe()를 사용해 데이터 타입, 결측치 개수, 수치형/범주형 데이터의 기술통계량을 요약 분석하였습니다.- 수집 시점에 따라 신규 상장이나 상장 폐지로 인해 종목 수 및 분석 결과 수치가 차이 날 수 있음을 안내하였습니다.
KRX 한국 거래소 전체 주식 종목 리스트 이거 하나면 코드 한 줄로 수집 가능하다?! - FinanceDataReader
- 오픈소스 라이브러리인 FinanceDataReader(
fdr)의 개념과 깃허브 오픈소스 배경을 소개하였습니다. - 주피터 노트북 환경에서
pip install finance-datareader명령어로 라이브러리를 간편하게 설치하는 방법을 안내하였습니다. fdr.StockListing('KRX')함수 단 한 줄로 코스피, 코스닥, 코넥스를 포함한 한국거래소 상장 전체 종목 리스트를 로드하였습니다.- 상장 종목 데이터프레임은 종목코드(Symbol), 시장 구분(Market), 종목명(Name), 섹터(Sector), 산업군(Industry), 상장일(ListingDate) 등의 컬럼으로 구성됩니다.
df.describe()를 통해 시장별 종목 수, 가장 비중이 높은 섹터(특수목적용 기계 제조업) 및 산업군(기업인수합병) 등 기술통계량을 확인하였습니다.- 수집한 상장 목록 데이터를
to_csv('krx.csv', index=False)로 저장을 수행하여 파일로 관리하고,pd.read_csv()로 다시 로드하는 과정을 실습하였습니다.
🌱 인프런 📈 증권 데이터 수집과 분석으로 신호와 소음 찾기⚡️ 강좌가 오픈되었습니다.
- 유튜브 파이썬 증권 데이터 분석 강좌의 피드백을 반영하여 보완·출시된 인프런 실무 교육 과정을 소개하였습니다.
- FinanceDataReader, Requests, BeautifulSoup, tqdm을 활용한 데이터 수집 및 크롤링 파이프라인 구축 기법을 안내하였습니다.
- 판다스의
melt(),groupby(),pivot_table(),crosstab()및merge()를 활용한 데이터 정제 및 통계 분석 기법을 다루었습니다. - Matplotlib, Seaborn(정적 시각화) 및 Plotly, Cufflinks(동적 시각화)를 결합하여 입체적인 시각화 도구를 활용합니다.
- 코스피 200, 테마주, ETF 전체 종목 및 기업 투자정보(시가총액, 배당수익률, PER, 52주 최고가 대비 손실률) 분석 실습을 포함하였습니다.
- HTS/MTS에서 실제 사용하는 이동평균선 등 다양한 보조지표와 기술적 분석 지표를 파이썬 코드로 직접 구현해 봅니다.
- 코드가 작성된 실습 파일과 비어있는 실습용 파일을 함께 제공하여 효과적인 반복 학습을 지원합니다.
[2/3] 종목명으로 종목코드를 찾아 일별 시세를 수집하자
- KRX 상장 종목 데이터프레임에서 종목명(
Name)으로 검색하여 해당 종목의 6자리 심볼 코드를 추출하였습니다. df_krx.loc[df_krx['Name'] == item_name, 'Symbol']조건식과.tolist()를 활용해 심볼 문자열을 가져왔습니다.- 종목명을 입력받아 종목코드를 반환하는
item_code_by_item_name()사용자 정의 함수를 정의하였습니다. - 입력한 종목명이 존재하지 않거나 오타가 발생할 때
IndexError가 나지 않도록if len(...) > 0:조건식으로 예외 처리를 적용하였습니다. - 대소문자를 엄격히 구분하는 영문 종목명(예: 'NAVER') 검색 시 정확한 알파벳 입력이 필요함을 확인하였습니다.
- 추출한 종목코드를
fdr.DataReader()에 자동 전달하여 종목명 입력만으로 일별 시세를 즉시 수집하는 자동화 함수를 제작하였습니다.
도서리뷰 파이썬을 활용한 금융분석 2판 -파이썬의 기초부터 금융공학, 머신러닝, 퀀트 분석, 매매 시스템 구현까지
- 이브스 힐피쉬(Yves Hilpisch) 저, 김도형 박사 번역의 파이썬 금융 분석 분야 대표 실무 가이드북을 리뷰하였습니다.
- 파이썬 기초 문법부터 넘파이, 판다스, 확률통계, 머신러닝, 알고리즘 트레이딩, 매매 시스템 자동화까지 폭넓은 스펙트럼을 다룹니다.
- 판다스 라이브러리가 본래 금융 퀀트 분석용으로 개발되었음을 밝히며, 금융 데이터를 통해 판다스의 진가를 깊이 있게 이해할 수 있음을 강조합니다.
- 아나콘다, 도커 컨테이너, 클라우드 환경 구축 및 대용량 실시간 금융 데이터 처리를 위한 성능 최적화 기법을 다룹니다.
- 어려운 수학 공식과 확률 통계 이론을 실제 금융 데이터 연산 및 볼린저 밴드, RSI 차트 구현에 적용하면서 실용적으로 학습할 수 있습니다.
- 해외 대형 투자은행들의 파이썬 기반 리스크 관리 및 트레이딩 시스템 구축 트렌드와 국내 금융권의 파이썬 도입 변화를 설명합니다.
라벨 종합 정리
FinanceDataReader, Requests, 크롬 개발자 도구 네트워크 탭 분석을 활용하면 KRX 전체 상장 종목, 개별 주가, ETF 전종목 데이터를 단 한 줄 또는 API 요청으로 손쉽게 수집할 수 있습니다.
수집한 주식 및 ETF 데이터는 판다스의 문자열 타입 지정(object), concat(), melt(), 2축 시각화(secondary_y), 수익률 표준화를 통해 체계적으로 정제 및 분석됩니다.
종목명 기반 종목코드 자동 검색 함수 및 예외 처리 로직을 구축하고, Matplotlib/Seaborn/Plotly 시각화와 금융공학·퀀트 매매 전략을 접목하여 파이썬 증권 데이터 분석 생산성을 크게 극대화할 수 있습니다.