Python 3

주식 분석 자동화 시스템 개발기 - 야후 파이낸스부터 Slack까지

시작하며개인 프로젝트로 주식 데이터를 자동으로 수집하고 분석해서 Slack으로 알림을 받는 시스템을 만들어봤어요. 처음부터 완벽하게 만들려고 하기보다는, 일단 기본적인 동작 위주로 간단하게 만들어보자는 생각으로 시작했답니다.(Minimum Viable Product. 이런 걸 MVP라고 부르던가요) 전체 아키텍처전체적인 구조는 이렇게 구성했어요.데이터 수집 - Yahoo Finance에서 주식 데이터 가져오기데이터 전처리 - 기술적 지표 계산 및 정제AI 분석 - Google Gemini로 데이터 분석결과 전달 - Slack으로 분석 결과 수신무척 간단하면서도 딱 필요한 것들을 추려서 설계해 봤어요. Yahoo Finance와 yfinance의 이야기처음에는 어디서 주식 데이터를 가져올까 고민했어요..

취미/프로젝트 2026.02.11

[Python] 2. 멀티스레딩으로 MariaDB 병렬 삽입(with 대신증권 API)

2024.04.07 - [Python] - [Python] 1. 멀티스레딩으로 MariaDB 병렬 삽입(with 대신증권 API) [Python] 1. 멀티스레딩으로 MariaDB 병렬 삽입(with 대신증권 API) 대신증권 API를 활용해서 해외 주식의 주가를 가져오는 코드를 작성 중이였는데 문제가 발생했다. 너무 오래 걸린다.. 한 종목당 2 ~ 5초 정도는 걸리는 듯하다. 한 종목당 2800개의 데이터를 가져 potatoparadox.tistory.com 전에 대신증권 API를 통해서 받은 주식 데이터를 MariaDB에 넣으려고 했으나 오래걸리는 이슈가 있었다. 그래서 병렬작업으로 데이터를 밀어넣기 위해 커넥션 풀을 만들어줬다. 그 후 작업으로는 생성한 커넥션 풀을 가지고 병렬작업을 해주어야 하는..

이슈 2024.04.12

[Python] 1. 멀티스레딩으로 MariaDB 병렬 삽입(with 대신증권 API)

대신증권 API를 활용해서 해외 주식의 주가를 가져오는 코드를 작성 중이였는데 문제가 발생했다. 너무 오래 걸린다.. 한 종목당 2 ~ 5초 정도는 걸리는 듯하다. 한 종목당 2800개의 데이터를 가져오는데, 종목 전체가 11,464개이다. 위 이미지에 보이는 4000개 정도 넣은 것도 귀찮아서 반나절은 기다려서 받은 것이다. 문제가 되는 코드를 보자. # 모든 종목코드 순회 for idx, stock_info in enumerate(all_stock_code): logging.info(f"{idx} / {len(all_stock_code)} .... {round((idx/len(all_stock_code)) * 100, 2)}%") # 특정 종목코드의 금액 정보 가져오기 maria_connection...

이슈 2024.04.07