Codex 작업 폴더를 정한다
Codex가 내 컴퓨터에서 어느 폴더를 기준으로 작업하는지 고정합니다.
AUTO TRADING WIKI
초보자가 한국투자증권 Open API로 코스피200 자동매매를 구현한 실전 기록을 위키 형식으로 정리합니다.
DISCLOSURE
BOOK DIRECTION
처음부터 읽는 백과사전이 아니라, 필요한 단계만 찾아보는 사용설명서 형태로 정리합니다.
| 항목 | 내용 |
|---|---|
| 제목 | Codex로 시작하는 자동매매 플랫폼 만들기 |
| 부제 | 초보자가 한국투자증권 Open API로 코스피200 자동매매를 구현한 실전 기록 |
| 대상 독자 | 자동매매와 API가 처음이지만 Codex로 직접 도구를 만들어보고 싶은 사람 |
| 핵심 도구 | Codex Desktop, Python, 한국투자증권 Open API, MySQL |
| 핵심 범위 | 프로젝트 폴더, API 설정, 코스피200, CCI, DB 저장, 시뮬레이션, 페이퍼 모드, 실전 주문 전 안전장치, 운영 기록 |
| 원칙 | 수익 보장 표현 금지, 매매 권유 금지, 실전 주문보다 조회와 검증 우선, 기록 중심 |
PROLOGUE
2016년쯤 알파고가 이세돌을 이기는 것을 봤다. 당시에는 AI가 바둑에서 이세돌을 이길 것이라고 생각한 사람이 많지 않았다. 나도 마찬가지였다. 바둑을 깊이 아는 것은 아니었지만, 그래도 바둑처럼 경우의 수가 많고 판단이 복잡한 영역에서는 아직 사람이 앞설 것이라고 생각했다.
그런데 결과가 달랐다. 그때부터 AI에 대해 “정말 어디까지 할 수 있는 걸까”라는 의문이 생겼다. 동시에 “데이터를 다루고 프로그램이 돌아가는 방식 정도는 알아야겠다”는 생각을 했다. 대단한 확신이 있었던 것은 아니다. 다만 사업계획서나 보고서처럼 실제 삶에 바로 연결되지 않는 문서를 만드는 데서 벗어나, 실제로 작동하고 생활에 도움이 되는 서비스를 만들어보고 싶다는 생각이 있었다.
2016년 당시 나는 경제학 석사까지 마친 상태였다. SPSS나 Stata로 빈도분석, 교차분석, OLS 회귀분석 같은 기본적인 분석은 할 수 있었다. 하지만 그것은 대부분 일회성 분석에 가까웠다. 데이터를 분석해서 표나 결과를 만드는 일과, 데이터를 수집하고 처리해 실제 서비스로 연결되는 프로그램을 만드는 일은 전혀 달랐다.
그래서 파이썬을 배우기 시작했다. 연구원을 그만두고 박사과정에 진학하던 시기였고, 100만 원이 넘는 학원비는 나에게 가볍지 않은 돈이었다. 사설 학원 등록은 단순한 취미가 아니라 커리어 전환을 위한 나름의 결심이었다.
하지만 대부분의 일이 계획처럼 흘러가지 않듯이, 그 학원도 기대와는 달랐다. 현업 전문가가 강사로 온다고 했지만, 실제 수업은 전문 강사의 체계적인 강의라기보다 아르바이트생이 진행하는 설명에 가까웠다. 전형적인 문과 출신이었던 나는 친절하지 않은 설명을 따라가기 어려웠다.
결국 학원은 대부분 나가지 않게 되었고, 독학으로 공부를 시작했다. 시간이 걸리긴 했지만, 그렇게 쌓은 경험을 바탕으로 작은 스타트업으로 커리어를 전환할 수 있었다.
자동매매에 관심을 갖게 된 것도 같은 흐름에 있었다. 단순히 월급이 부족해서 자동매매를 생각한 것은 아니다. 더 근본적으로는 앞으로 살아갈 사회 구조가 달라지고 있다고 느꼈다. AI와 자동화가 점점 더 많은 영역에 들어오고, 동시에 인플레이션이 흔한 사회에서 살아가야 할 가능성이 높다고 보았다.
인플레이션은 모두에게 같은 비율로 반영된다. 하지만 체감 부담은 같지 않다. 자산이 많은 사람은 자산 가격 상승이나 투자 수익으로 일부 대응할 수 있다. 반면 자산이 적은 사람은 오른 생활비를 소득 안에서 그대로 감당해야 한다. 같은 비율의 물가 상승이라도 자산이 적은 사람에게 더 무겁게 느껴지는 이유다.
부가가치세가 오르면 부담은 가격표와 영수증에 직접 나타난다. 그래서 사람들이 바로 알아차리고 저항도 커진다. 하지만 인플레이션은 다르다. 물가는 오르지만 그 원인이 한 줄로 표시되지는 않는다. 재정지출 확대, 재정적자, 확장적 통화정책 같은 선택이 반복되더라도 그 부담은 생활비 전반에 흩어져 나타난다.
앞으로 이런 구조가 쉽게 사라질 것 같지는 않았다. 그래서 질문은 “월급이 부족하니 어떻게 더 벌 것인가”가 아니라 “인플레이션이 흔한 사회에서 어떻게 살아갈 것인가”에 가까웠다. 자동매매 프로그램은 그 고민 중 하나였다.
물론 자동매매를 돈을 벌어주는 기계로 생각한 것은 아니다. 자동매매는 수익을 보장하지 않는다. 손실은 언제든 발생할 수 있다. 시장은 내가 정한 규칙대로 움직이지 않을 수 있고, 기술적 지표도 항상 맞지 않는다.
그럼에도 자동매매 프로그램을 만들고 싶었던 이유는 분명했다. 사람이 직접 모든 조건을 확인하고 판단하고 실행하는 방식에는 한계가 있다. 계속 화면을 보고, 매수와 매도 조건을 확인하고, 거래 결과를 정리하는 일은 또 다른 노동이 된다. 사회 구조의 변화에 대응하기 위한 도구를 만들겠다고 하면서 다시 내 시간을 계속 투입해야 한다면 방향이 맞지 않았다.
필요한 것은 내 시간을 계속 쓰지 않아도 정해둔 규칙을 확인하고, 조건이 맞는지 판단하고, 실행 결과를 기록하는 도구였다. 자동매매는 수익 보장 장치가 아니라 규칙 실행과 기록 도구다. 시장을 완전히 이기겠다는 것이 아니라, 변화하는 사회에서 개인이 가질 수 있는 대응 수단 하나를 만들어보고 싶었다.
이 과정에서 Codex를 개발 파트너로 삼았다. 예전에는 Open API를 이용하려면 개발 역량이 상당히 필요했다. 증권사 API 문서를 읽고, 인증 방식을 이해하고, 데이터를 수집하고, 오류를 처리하고, DB에 저장하는 구조를 직접 만들어야 했다. 하지만 이제는 Codex와 함께 작업을 작은 단위로 나누어 진행할 수 있다.
이 책은 그 과정을 정리한 기록이다. 한국투자증권 Open API를 이용해 코스피200 데이터를 다루고, CCI 기준으로 신호를 만들고, 시뮬레이션과 페이퍼 모드를 거쳐 실전 주문 전 안전장치를 검토하는 과정을 다룬다. 중심은 투자 수익이 아니라 구현 과정, 실패 경험, 오류 해결, 그리고 기록이다.
이 책은 특정 종목을 사라고 권하지 않는다. 자동매매로 누구나 돈을 벌 수 있다고 말하지도 않는다. 자동매매는 투자 판단을 대신하지 않는다. 모든 투자 판단과 책임은 사용자 본인에게 있다.
WIKI TABLE OF CONTENTS
노션 원고의 프롤로그와 1장부터 11장까지의 장별 내용을 블로그 위키에 입력했습니다.
Codex가 내 컴퓨터에서 어느 폴더를 기준으로 작업하는지 고정합니다.
API 키, 계좌번호, 실행 모드를 config/.env 기준으로 정리합니다.
코스피200과 CCI를 기준으로 자동매매의 범위를 좁힙니다.
코드, 설정, 로그, 데이터, 문서를 분리합니다.
주문 API가 아니라 토큰 발급과 조회 응답부터 검증합니다.
코스피200 종목과 가격 데이터를 MySQL에 저장합니다.
저장된 가격 데이터로 매수, 매도, 대기 신호를 만듭니다.
과거 데이터로 실제 주문 전 전략 흐름을 검토합니다.
실제 주문 없이 주문 기록과 가상 잔고를 확인합니다.
실전 주문이 조건 없이 열리지 않도록 점검합니다.
운영 기록, 오류, 전략 변경 이유를 남깁니다.
CHAPTER 1
Codex가 내 컴퓨터의 어느 폴더에서 작업하는지 먼저 고정한다. 자동매매 프로젝트는 코드, 설정, 로그, 결과 파일이 계속 생기므로 시작 위치가 흔들리면 이후 작업도 흔들린다.
C:\Users\minjun\kospi200_auto_trading으로 둔다.현재 Codex가 보고 있는 작업 폴더 위치를 알려줘.
파일 생성이나 수정은 하지 말고, 현재 경로와 폴더 안의 파일 목록만 확인해줘.
C:\Program Files 같은 시스템 폴더를 사용하지 않는다.CHAPTER 2
한국투자증권 Open API를 바로 주문에 연결하지 않고, 설정 항목과 조회 API부터 준비한다.
config/.env 하나로 고정한다.한국투자증권 Open API 설정 항목을 정리해줘.
설정은 config/.env 파일에서만 읽는 구조로 설명해줘.
아직 파일을 만들지 말고, 필요한 설정 이름과 각 항목의 의미만 표로 정리해줘.
.env 외 다른 설정 경로를 사용하지 않는다.CHAPTER 3
자동매매 대상을 넓히지 않고 코스피200으로 제한한다. 신호 기준은 CCI로 시작한다.
코스피200을 거래 대상으로 고정하고, CCI를 신호 기준으로 사용하는 이유를 초보 독자가 이해할 수 있게 정리해줘.
수익 보장이나 매매 권유처럼 보이는 표현은 제외해줘.
CHAPTER 4
코드, 설정, 로그, 결과 파일이 섞이지 않도록 기본 구조를 만든다.
src, config, logs, data, scripts, docs 폴더를 기준 구조로 둔다.config에 둔다.logs에 둔다.data에 둔다.현재 프로젝트 폴더 구조를 확인해줘.
책에서 정한 src, config, logs, data, scripts, docs 구조와 비교해서 누락된 항목만 알려줘.
파일 생성이나 수정은 하지 마.
outputs와 data처럼 역할이 겹치는 폴더가 있는지 확인한다.CHAPTER 5
주문 API가 아니라 조회 API부터 검증한다. 토큰 발급, 조회 응답, 오류 기록만 확인한다.
한국투자증권 Open API 조회 테스트 결과를 점검해줘.
주문 API는 호출하지 마.
토큰 발급, 조회 응답, 오류 메시지, 로그 기록 여부만 확인해줘.
CHAPTER 6
수집한 데이터를 파일에만 두지 않고 DB에 저장한다. 나중에 시뮬레이션과 운영 기록을 다시 확인하기 위한 기준을 만든다.
config/.env에 정리한다.DB 저장 상태를 점검해줘.
config/.env의 DB 설정을 기준으로 연결 가능 여부, 테이블 존재 여부, 저장된 데이터 건수만 확인해줘.
파일 수정은 하지 마.
CHAPTER 7
저장된 가격 데이터로 CCI를 계산하고, 매수, 매도, 대기 신호를 만든다.
CCI 계산 결과를 점검해줘.
가격 데이터 누락 여부, 계산된 CCI 값, 생성된 신호 수를 확인해줘.
매매 추천은 하지 말고 계산 결과만 정리해줘.
CHAPTER 8
실제 주문 전에 과거 데이터로 전략 흐름을 확인한다. 수익 보장이 아니라 검토용 기록을 만드는 단계다.
시뮬레이션 실행 결과를 점검해줘.
실제 주문 여부는 반드시 0건이어야 해.
거래 수, 손익 결과, 오류 여부, 저장 여부만 표로 정리해줘.
CHAPTER 9
실제 주문 없이 주문 흐름, 가상 잔고, 중복 주문 차단을 확인한다.
paper로 둔다.페이퍼 모드 실행 결과를 점검해줘.
실제 주문 API 호출은 없어야 해.
페이퍼 주문 수, 중복 주문 차단 여부, 가상 잔고 정합성, 오류 수만 확인해줘.
paper인지 확인한다.CHAPTER 10
실전 주문을 쉽게 열지 않는다. 조건을 통과하지 못하면 기본적으로 차단한다.
RUN_MODE=live만으로 주문이 실행되지 않게 한다.LIVE_ORDER_ENABLED=true를 별도 조건으로 둔다.실전 주문 전환 조건을 점검해줘.
실제 주문 API는 호출하지 마.
조건별 통과 여부와 차단 사유만 표로 정리해줘.
precheck_status가 passed가 아니면 실전 주문은 차단되어야 해.
blocked로 기록된다.CHAPTER 11
자동매매는 만든 뒤가 더 중요하다. 실행 결과, 오류, 전략 변경 이유를 남겨야 다음 판단이 가능하다.
오늘 자동매매 운영 기록을 점검해줘.
투자 판단이나 매매 추천은 하지 마.
실행 로그, 운영 기록, 전략 변경 로그를 기준으로 기술 오류, 운영 차단, 전략 검토 후보를 구분해줘.
마지막에는 유지, 중단, 수정 검토 중 하나로만 정리해줘.
REFERENCES
본문 뒤 참고문헌으로 정리할 자료 후보입니다.
| 장 | 자료 | 반영 위치 |
|---|---|---|
| 1장 | OpenAI, Get started with Codex | Codex Desktop 설치와 프로젝트 폴더 선택 |
| 1장 | OpenAI Help Center, ChatGPT Work and Codex | Codex가 로컬 폴더, 저장소, 터미널과 함께 작업한다는 설명 |
| 2장 | KIS Developers, 한국투자증권 오픈API 개발자센터 | 한국투자증권 Open API 개요 |
| 2장 | Korea Investment & Securities, open-trading-api GitHub | 공식 샘플 코드와 API 호출 구조 |
| 3장 | 기획재정부 시사경제용어사전, 코스피200 | 코스피200 설명 |
| 3장 | KRX, KRX Index Business | 코스피200 지수 성격 |
| 3장 | Fidelity, Commodity Channel Index | CCI 설명 |
| 3장 | eSignal, Commodity Channel Index | CCI 개발 배경과 계산 개념 |