최근 GitHub에서 흥미로운 코드를 발견했습니다. ChatGPT를 응용해 미국 중소형주에 투자하고, S&P500 수익률을 가볍게 뛰어넘었다는 기록이 있었죠.
"이걸 한국 시장에도 적용할 수 있지 않을까?"
마침 정부가 ISA 및 DC형 연금 계좌를 밀어주고 있었고, 세금이 이연되는 구조 덕분에 투자 수익을 극대화할 수 있겠다는 기대가 있었습니다. 그래서 TIGER 미국 나스닥100, ACE 엔비디아 밸류체인 액티브 같은 국내 상장 해외 ETF를 자동으로 투자 운영하는 시스템을 만들어보자는 마음으로 도전하게 되었습니다.
진행 방법
GitHub 코드 다운로드: 미국 시장을 대상으로 작성된 ChatGPT 기반 투자 시험 코드를 확보
https://github.com/LuckyOne7777/ChatGPT-Micro-Cap-Experiment
AI 도구 활용:
Codex: GitHub에서 받은 코드를 분석해 PRD(Product Requirement Document)를 뽑아내고, 전략 로직을 세부적으로 파악. Codex가 코드 분석에 클로드 보다 우수한 듯 함.
Cursor / Claude Code: 코드 수정 및 투자 전략 한국 ETF 연동 시도.
# PRD: KRX ETF 기반 DC형 퇴직연금 트레이딩 엔진
본 문서는 기존 엔진(trading_script.py, simple_automation.py, CSV 계약)을 한국 주식시장(KRX) 상장 ETF의 DC형 퇴직연금 운용 시나리오로 전환하기 위한 명세입니다. 핵심은 “채권 비중 최소 30% 상시 유지”와 “퇴직연금(DC) 적격 ETF만 거래” 제약을 트레이딩 의사결정 흐름에 반영하는 것입니다.
## 1) 목표와 범위
- 목표: KRX 상장 “퇴직연금(DC) 적격” ETF만을 거래 대상으로 하여, 일일 평가·매수/매도(수동 + 자동 스톱로스)·성과 기록·리포팅을 일관되게 운영한다.
- 범위: `trading_script.py`의 트레이딩/정산 로직, 한국 시장 데이터 소스, CSV 스키마 계약, 자산배분(채권 비중 최소 30%) 규칙, `simple_automation.py`의 LLM 연동(현재 시뮬레이션 수준) 포함.
- 비범위: 실제 브로커 API 연동, 실시간 체결 엔진, 틱/호가 규제 상세.
## 2) 시스템 구성
- 핵심 엔진: `trading_script.py`
- 데이터 수집: Yahoo Finance(KRX 티커: `XXXXXX.KS`/`XXXXXX.KQ`) 우선. Stooq 폴백은 KRX 지원 한계로 비활성/제한적 사용.
- 거래 처리: 수동 매수(MOO/지정가), 수동 매도(지정가), 자동 스톱로스. 체결 전 DC 적격성·채권비중 검증.
- 일일 평가/정산 및 CSV 기록, 리포팅/분석(Sharpe/Sortino/MDD/알파/베타 등)
- 데이터/기록: `Scripts and CSV Files/`
- `chatgpt_portfolio_update.csv`: 일자별 보유/평가/현금/총자산 기록
- `chatgpt_trade_log.csv`: 체결 로그(사유 포함)
- LLM 연동: `simple_automation.py`
- LLM 프롬프트 생성 → 응답(JSON) 파싱 → 현재는 “시뮬레이션”(현금만 가감) → JSONL 저장
- 실체결 연동 시, DC 제약 검증 및 채권 비중 검사 후 `trading_script.py`의 수동 체결 API 경로 호출 필요
- 실행 래퍼: `Scripts and CSV Files/ProcessPortfolio.py`
## 2-1) 한국 DC 운용 제약(신규)
- 거래 가능 종목: 한국 증권사에서 “퇴직연금(DC)” 계좌로 매매 가능한 ETF 한정.
- 최소 채권 비중: 포트폴리오 시가 기준 채권 ETF 비중이 항상 30% 이상이어야 함(체결 전후, 일일 리밸런스 후에도 충족).
- 통화/시장: KRW, KRX(코스피/코스닥) 상장 ETF. 거래시간/휴장일은 한국 거래소 기준.
- 벤치마크/테마 예시(가이드):
- 주식(광범위): KOSPI200, KOSDAQ150 등
- 채권: 국채·회사채 단기/중기 지수 추종 DC 가능 채권 ETF
- 테마: AI(반도체/데이터센터/클라우드 등), 암호화폐 관련(블록체인/크립토 익스포저 연계형), AI 전력 인프라(전력망/전선/발전/원자력/재생에너지 밸류체인) ETF 중 DC 적격인 종목전략 변환 시도: “이 아이디어를 국내 상장 ETF로 연동하라”는 요구를 여러 차례 반복 → 코드가 계속 수정되고 재작성됨.
문제 발생:
원본 코드가 Yahoo Finance 데이터를 기반으로 설계되어 있어, 실행할 때마다 Yahoo Finance 접속을 시도.
하지만 국내 환경에서는 접속 실패가 반복되어 원활히 데이터 수집 불가.
Claude code는 뭔가 지시할 때마다 대공사(?)를 진행해서 초보자는 수습이 어렵습니다.
다음 단계 구상:
국내 증권사 API와 직접 연동해 데이터를 받아오는 방식으로 다시 개선해볼 예정입니다. 반자동으로 매수/매도하는 기능도 만들어 보려합니다
결과와 배운 점
Codex를 이용해서 코드를 분석하고, 투자 전략을 역으로 뽑아내는 건 비교적 쉽게 가능했습니다. 예전 같으면 머리 싸매고 끙끙거리며 분석해야 할 게 엄청 쉬워졌다는 걸 배웠습니다.
참고자료
https://www.gpters.org/nocode/post/business-automation-actor-claude-sFEC8phXq537sbD