한국 국고채(KTB) 지표·선물의 일별/1분봉 원시 시세 데이터 모음입니다. 인포맥스(Infomax, IMDH) 단말에서 추출했으며, 가공 없이 원본 값 그대로 보관합니다.
- 일별 (xlsx): 2014-06-19 ~ 2026-06-19 (12개년) · 국고지표 + 국고선물
- 1분봉 (csv): 10년 선물 2020
2026H1 · 3년 선물 20242026H1 - 추출 기준일: 2026-06-19
⚠️ 출처·이용 주의 — 원천 데이터의 저작권·재배포 권한은 데이터 벤더(인포맥스)에 있습니다. 본 저장소는 개인 연구·학습용 백업이며, 상업적 이용·재배포 전에는 반드시 벤더 약관을 확인하세요. 데이터 정확성은 보증하지 않습니다(아래 결측·잘림 주의 참조).
| 방법 | 설명 |
|---|---|
| Release ZIP (권장) | releases/latest → ktb-futures-data_2014-2026.zip 한 파일로 전체 다운로드 |
| Code → Download ZIP | 우측 상단 초록색 Code 버튼 → Download ZIP (저장소 전체) |
| git clone | git clone https://github.com/T19340/ktb-futures-data.git |
| 개별 파일 | 폴더에서 파일 클릭 → Download / Raw |
ktb-futures-data/
├── README.md
├── daily_xlsx/ # 일별 지표·선물 (xlsx, 8개)
│ ├── 국고지표정보_*.xlsx (4개, 3년 단위)
│ └── 국고선물정보_*.xlsx (4개, 3년 단위)
├── intraday_1min/ # 1분봉 (csv, cp949, 11개)
│ ├── 10년국채선물―연결(1분)_*.csv (8개)
│ └── 3년국채선물―연결선물(5%)(1분)_*.csv (3개)
└── meta/
├── extraction_notes.md # xlsx 추출 방법·시트 레이아웃 상세
├── orig_params.json # 추출 시 원본 파라미터 백업
└── SHA256SUMS.txt # 무결성 검증용 체크섬
2014-06-19 ~ 2026-06-19, 3년씩 4구간으로 분할(겹침/공백 없음). 모든 셀은 값(인포맥스 함수 미포함).
| 종류 | 파일 수 | 내용 |
|---|---|---|
국고지표정보_*.xlsx |
4 | 국고 2/3/5/10/20/30/50Y + 통안 2/3Y, 종목당 25필드(민평 수익률·가격·듀레이션, 장외 시세, 투자주체별 순매수/잔고 등) |
국고선물정보_*.xlsx |
4 | 3/5/10/30년 국채선물 연결물, 종목당 50필드(정산가·시고저·내재수익률·베이시스·미결제·투자주체별 매매 등) |
- 시트 레이아웃: 1행 종목 타이틀, 2행 필드 헤더(한글), 3행~ 데이터(1열=일자, 캘린더 일).
- 종목 블록이 가로로 이어붙어 있습니다(지표 226열, 선물 201열). 컬럼 위치·전체 필드 목록은
meta/extraction_notes.md참조.
import pandas as pd
# 2행이 헤더 → header=1. 종목 블록은 열 위치로 잘라 사용(extraction_notes.md 참조)
df = pd.read_excel("daily_xlsx/국고선물정보_2023-06-20_2026-06-19.xlsx", header=1)해석 주의: ① 캘린더 일 단위라 주말·휴일 행 포함(채권은 보합/전일값, 선물은 비거래일 공란). ② 국고 2Y는 2014~2020 대부분 공란(당시 미발행). ③ 선물 '현재가'는 실시간 필드라 과거 데이터에선 공란 → 과거 분석엔 정산가/시·고·저/평균체결가 사용.
인코딩:
cp949(EUC-KR) — UTF-8로 열면 한글이 깨집니다. 반드시encoding="cp949"로 읽으세요.
10컬럼 (시·고·저·종 OHLC) — 10년 2020~2022, 3년 전체:
[일시]종목 | 시간 | 시가 | 고가 | 저가 | 종가 | 전일대비 | 전일등락율 | [VolumeChart] | [미결제약정]
7컬럼 (종가만) — 10년 2023~2026:
[일시]종목 | 시간 | 종가 | 전일대비 | 전일등락율 | [VolumeChart] | [미결제약정]
- 1열 = 일자, 2열 = 시각(체결),
[VolumeChart]열 = 해당 분 거래량,[미결제약정]열 = 미결제약정수량. - 정렬은 시각 내림차순(최신이 위, 파일 끝이 과거).
전일대비는▲(상승)/▼(하락) 기호 포함,전일등락율은+/-(전각) 또는-(ASCII) 혼재.- 날짜 포맷은 파일에 따라
2025/12/30(슬래시) 또는2024-12-30(대시)로 혼재.
| 파일 | 실제 구간 | 행수 | 컬럼 | 비고 |
|---|---|---|---|---|
…_20200101_20201231.csv |
2020-01-03 ~ 2020-12-30 | 100,000 | OHLC | ⚠ 10만행 cap (연초 일부 잘릴 수 있음) |
…_20210101_20211231.csv |
2021-01-05 ~ 2021-12-30 | 100,000 | OHLC | ⚠ 10만행 cap |
…_20220101_20221231.csv |
2022-01-03 ~ 2022-12-29 | 99,571 | OHLC | 정상 |
…_20230101_20241231.csv |
2023-12-22 ~ 2024-12-30 | 100,000 | 종가 | ⚠ 10만행 cap로 2023년 대부분 잘림 |
…_20240101_20241231.csv |
2024-01-02 ~ 2024-12-30 | 98,761 | 종가 | 정상(2024 전체) |
…_20250101_20251231.csv |
2025-01-02 ~ 2025-12-30 | 98,641 | 종가 | 정상 |
…_20260101_20260619.csv |
2026-01-02 ~ 2026-06-19 | 47,401 | 종가 | 상반기(H1) |
10년국채선물―연결(1분).csv |
2026-01-02 ~ 2026-06-19 | 47,401 | 종가 | 위 2026 파일과 동일 구간 사본(포맷만 다름) |
🔴 10년 2023년 결측:
_20230101_20241231파일이 10만행에서 잘려 실제로는 2023-12-22부터만 들어 있습니다. 즉 2023-01-01 ~ 2023-12-21 구간은 사실상 없습니다. 2024년은 두 파일에 중복 수록됩니다.
| 파일 | 실제 구간 | 행수 | 컬럼 |
|---|---|---|---|
…_20240101_20241231.csv |
2024-01-02 ~ 2024-12-30 | 98,761 | OHLC |
…_20250101_20251231.csv |
2025-01-02 ~ 2025-12-30 | 98,641 | OHLC |
…_20260101_20260619.csv |
2026-01-02 ~ 2026-06-19 | 47,401 | OHLC |
3년 1분봉은 2024·2025·2026H1만 있습니다(2020~2023 없음).
import pandas as pd
p = "intraday_1min/10년국채선물―연결(1분)_20250101_20251231.csv"
df = pd.read_csv(p, encoding="cp949")
df = df.rename(columns={df.columns[0]: "일자", df.columns[1]: "시각"})
# 일시 결합(슬래시/대시 모두 처리)
df["일시"] = pd.to_datetime(df["일자"].str.replace("/", "-") + " " + df["시각"])
# 종가 숫자화
df["종가"] = pd.to_numeric(df["종가"], errors="coerce")
# 전일대비: ▲/▼ 기호 제거 후 부호 적용
s = df["전일대비"].astype(str)
df["전일대비_num"] = pd.to_numeric(s.str.replace("[▲▼+\\-+-]", "", regex=True), errors="coerce") \
* s.str.startswith("▼").map({True: -1, False: 1})
df = df.sort_values("일시").reset_index(drop=True) # 과거→최신 정렬meta/SHA256SUMS.txt로 다운로드 파일을 검증할 수 있습니다.
# 저장소 루트에서
sha256sum -c meta/SHA256SUMS.txt # Linux/macOS# Windows PowerShell — 개별 확인 예
Get-FileHash .\intraday_1min\*.csv -Algorithm SHA256인포맥스 연동 엑셀의 제어셀(시작일·종료일·Data개수)을 구간별로 바꿔 값만 저장하는 방식입니다.
상세 절차·시트 구조·필드 정의는 meta/extraction_notes.md 에 있습니다.