Gemini CLI와 함께하는 주식 분석 자동화 경험
서론
이 문서는 Gemini CLI를 활용하여 주식 데이터 분석 및 시각화 프로젝트를 구축한 과정을 요약합니다. Gemini CLI는 개발 과정 전반에 걸쳐 효율적인 도구로 작용했으며, 복잡한 작업을 단순화하고 신속하게 해결하는 데 큰 도움을 주었습니다.
프로젝트 초기 설정
새로운 주식 분석 프로젝트를 위해 CLIStockAnalysis 디렉토리를 생성하고, 프로젝트의 의존성을 관리하기 위한 Python 가상 환경(venv)을 설정했습니다. 이후 yfinance (주식 데이터 수집), pandas (데이터 처리), matplotlib (시각화), scikit-learn (선형 회귀) 등 필요한 라이브러리들을 가상 환경 내에 설치했습니다.
기본 기능 구현
프로젝트의 핵심은 다음과 같은 기본 기능들을 구현하는 것이었습니다:
- 주식 데이터 수집:
yfinance라이브러리를 사용하여 특정 티커(예: AAPL)의 주식 데이터를 가져왔습니다. - CSV 저장: 수집된 데이터를 CSV 파일로 저장하여 재사용성을 높였습니다.
- 기본 차트 플로팅:
matplotlib을 사용하여 주식 종가(Close Price)의 시간별 변화를 시각화했습니다.
고급 기능 추가 및 개선
기본 기능 구현 후, 사용자 요구사항에 맞춰 다음과 같은 고급 분석 및 시각화 기능들을 추가하고 개선했습니다.
1. 로그 스케일 플로팅
주가의 장기적인 변동률을 더 명확하게 파악하기 위해 Y축에 로그 스케일을 적용했습니다. 이는 주식 시장의 기하급수적인 성장을 시각적으로 잘 나타내 줍니다. 또한, 원본 선형 스케일 그래프를 옅은 색상으로 함께 표시하여 두 가지 관점을 동시에 제공했습니다.
2. 선형 회귀 분석 및 마진 라인
단순 이동 평균 대신, 주가의 장기적인 추세를 파악하기 위해 선형 회귀 분석을 도입했습니다. 특히, 로그 변환된 주가 데이터에 대해 선형 회귀를 수행하여 지수적 성장 추세를 정확하게 모델링했습니다. 회귀선 주변에는 20%의 상하 마진 라인을 추가하여 주가가 추세선에서 얼마나 벗어나 있는지 시각적으로 확인할 수 있도록 했습니다.
3. 비트코인 반감기 이벤트 (조건부 적용)
'BTC-KRW' 티커에 한정하여 비트코인 반감기 날짜를 차트에 수직선으로 표시했습니다. 또한, 각 반감기 이후 1년 간의 가격 변화율을 분석하여 출력하는 기능을 추가했습니다. 이 기능은 다른 티커에서는 자동으로 비활성화됩니다.
4. 자동 플롯 저장 및 다중 티커 처리
생성된 플롯은 /result 디렉토리에 '{ticker}_{yyyymmddhhss}_{startdate}~{enddate}.png' 형식으로 자동 저장되도록 설정했습니다. 이를 통해 'SPYG', 'TQQQ', 'BTC-KRW', 'MSFT' 등 여러 티커에 대해 일괄적으로 분석을 수행하고 결과를 파일로 저장할 수 있게 되었습니다.
Gemini CLI 사용 경험
Gemini CLI는 이 프로젝트를 진행하는 동안 매우 강력하고 유용한 도구임을 입증했습니다.
- 단계별 안내: CLI는 각 작업 단계에서 명확한 지시를 제공하여 제가 다음 단계를 쉽게 이해하고 실행할 수 있도록 도왔습니다.
- 오류 처리 및 디버깅: 라이브러리 설치 오류(
ModuleNotFoundError), 코드 구문 오류(SyntaxError), 데이터 처리 오류(TypeError) 등 다양한 문제에 직면했을 때, CLI는 문제의 원인을 정확히 진단하고 해결책을 제시하여 신속하게 디버깅할 수 있도록 지원했습니다. 특히 가상 환경 설정 및pip오류 해결 과정은 CLI의 지능적인 문제 해결 능력을 보여주었습니다. - 의존성 관리: 가상 환경을 생성하고 필요한 라이브러리를 설치하는 과정을 CLI가 직접 관리해주어, 시스템 환경과의 충돌 없이 깔끔하게 프로젝트를 설정할 수 있었습니다.
- 반복적인 개선: 초기 아이디어부터 복잡한 기능 추가, 그리고 세부적인 시각화 조정에 이르기까지, CLI는 저의 요구사항을 이해하고 코드를 반복적으로 수정하며 프로젝트를 발전시키는 데 핵심적인 역할을 했습니다.
결론
Gemini CLI는 단순한 명령어 실행 도구를 넘어, 소프트웨어 개발의 전 과정에서 지능적인 파트너 역할을 수행했습니다. 특히 데이터 분석 및 시각화와 같이 반복적이고 정밀한 작업에서 CLI의 자동화 및 문제 해결 능력은 개발 효율성을 크게 향상시켰습니다. 앞으로도 Gemini CLI를 활용하여 더 다양하고 복잡한 프로젝트를 시도할 계획입니다.
'AI 활용 사례 & 워크플로우' 카테고리의 다른 글
| 이게 사람이 아니라고? 힉스필드 (Higgsfiled)로 실제 스냅샷 만들기 (0) | 2025.09.07 |
|---|---|
| Gemini CLI 사용 기록 (1) | 2025.06.29 |
| Notebookllm으로 나만의 팟캐스트, 챗봇 만들어보자! (2) | 2025.06.22 |
| VEO3로 영상 제작해보기 (0) | 2025.06.01 |
| lovable.dev로 나만의 홈페이지 만들어 보기 (1) | 2025.05.25 |