Trading & Coding 9

[채권 5] 채권시장 데이터, 시작부터 꼬이는 구조적 난제

채권을 가지고 분석이든 업무자동화든 뭐라도 하려면 가장 먼저 필요한 게 있다.바로 일자별 금리 시계열 데이터 확보이다. 그런데 막상 이걸 제대로 구축하려고 들여다보면,상상이상으로 훨씬 골치가 아프다.이에 채권시장이 뉴비입장에서 대단한 진입장벽으로 작용한다. 그래서 나같은 사람도 얼추 이 바닥에서 이런 짓 하면서아직은 밥벌이하고 살고있는 모양.주식은 단순하다주식은 "발행사 하나 = 종목 하나 + 하나의 좌표계"라 단순하다.종목이 많아봐야 기껏해야 우선주 정도?그리고 상장폐지만 되지 않으면 하나의 코드로 끝까지 간다. 활발한 거래로 일별 ohlcv데이터 정도는 누구나 손쉽게 구할 수 있다.채권은 복잡하다채권은 얘기가 다르다."발행사 하나 = 수많은 종목 + 시간에 따라 흘러가는 좌표계"이다.이에 아래와 같은..

Trading & Coding 2025.08.27

[초고급엑셀 3] RunQuery 한 줄이면 끝! 엑셀로 실시간 SQL 쿼리 실행하기

python으로 못하는 것은 없다만,업무 자동화 영역에서 엑셀은 여전히 강력한 도구다. 데이터 가공 및 시각화에는 엑셀이 가공과 수정이 쉬워 python보다 훨씬 공수가 적게 든다.특히 버튼 하나만 누르면 데이터베이스에서 실시간으로 데이터를 조회해서 보고서가 갱신되는 구조는 생산성을 비약적으로 높여준다. 문제는 DB연동하여 기능을 구현하는게 은근히 번거롭다.매 시트마다 Connection 객체를 만들고, 루프 돌려서 셀에 하나하나 출력하는 반복적인 작업이 필요했다.DB연동을 활용한 시트가 많아지고 쿼리가 복잡해지다보니중간에 DB 접속 주소, ID/PW가 바뀔 일이 있었는데 엑셀 시트마다 교체하려니까 환장하겠더라. 그래서 아예 한 줄로 끝나는 SQL 조회 함수를 만들었다.한 번 만들어두니 이후로는 복붙만 ..

Trading & Coding 2025.08.26

[채권 4+ML 1] 머신러닝 Rulefit으로 국채금리 커브전략 패턴탐구

국채 금리 데이터를 RuleFit으로 분석해 조건식 전략을 뽑아본 실험. 머신러닝 기반 퀀트 아이디어 탐구 기록. 신세 한탄채권 시계열 데이터를 한아름 준비하였다.그러나 막상 전략을 뽑아내려니 머리가 하얗다.운용회의 들어가면 다들 능숙하다."이번주는 매크로가 어떻고...""모레 나올 지표 컨센은 어떻고..."금리, 스프레드, 투자자별 수급 추이도 보고"그래서 이번 주는 뭘 사겠습니다"나는 뭘 돌려봐도 반타작. 동전던지기이다.딜러들에게는 마법 공식이라도 있는 것인가.아니면 짬에서 나오는 직관인가.Rulefit이란?"전략을 내놓아라 내놓지 않으면 구워먹으리"매일같이 구지(피티)가를 부르면서 오늘도 GPT를 갈구다 보니 GPT놈이 뱉은 Rulefit. 머신러닝에서 흔히 쓰는 랜덤포레스트, 부스팅 같은 트리(t..

Trading & Coding 2025.08.23

[채권 3+초고급엑셀 2] 국채 Tenor별 상대가치분석 자동화 구현(Overview)

채권 국고채 금리 spread·butterfly 분석 매일 손으로 하던 과정을 엑셀 VBA + MariaDB로 자동화. 버튼 한 번에 시계열 데이터 조회, 지표 계산, 그래프 업데이트까지 끝. 아침마다 금리 추이를 빠르게 스캔할 수 있는 자동화 툴 구현기. 제작 동기국채 스프레드, 버터플라이를 매일 보려면 손이 많이 간다. 3년-10년, 10년-30년, 5-7-10년… 테너 조합을 확인하려면인포맥스에서 금리 복사함수 붙이고 아래로 땡기기범위 지정 후 그래프 그리기다음날 또 반복매일이 똑같은 노가다이다.그러나 이제는 아니다.버튼 한 방이면 아래처럼 자동으로 뜬다.국채 스프레드, 버터플라이 시각화 자동화엑셀 화면에서 테너별 스프레드와 버터플라이 추이를 자동으로 시각화하는 과정은 다음과 같다.날짜구간(fro..

Trading & Coding 2025.08.19

[엑셀 1] 함수 안먹힐 때, 쉼표 포함 숫자 1초 변환법(텍스트 나누기 활용)

엑셀에서 =SUM()이 0만 뜨는가? 다운로드한 .xlsx는 숫자가 쉼표 포함 텍스트일 수도. 텍스트 나누기 및 단축키 ALT+D,E,F로 1초 변환하는 방법 알려드림. 자산군별 자금 유출입 추이를 체크.금융투자협회 종합통계 사이트에서펀드 설정통계 데이터를 .xlsx로 다운로드했다. https://freesis.kofia.or.kr/ ::::: 금융투자협회 종합통계 Portal ::::: freesis.kofia.or.kr 그런데 막상 =SUM() 을 넣으니 0이 뜬다.숫자 서식, 일반, 통화, 텍스트로 바꿔도 꿈쩍 않는다.셀마다 왼쪽 정렬, 초록 삼각형이 이미 불길하다.지독하다. 원인: 쉼표까지 문자로 인식금융투자협회 자료는 숫자에 천 단위 구분 쉼표가 포함된 상태로,데이터 타입이 문자로 저장되어..

Trading & Coding 2025.08.12

[채권 2] K-Bond 호가분석 - 국고·통안 선별기 제작기

https://minstack.tistory.com/7 [채권 1] K-Bond 메신저 장외호가 DB 쌓기보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.minstack.tistory.com 1편에서 장외채권 호가를 MySQL에 실시간으로 쑤셔넣는 데 성공하였다.이제 본격적으로 '내용물'을 분석할 차례. 국고, 통안 그리고 기타 잡것들장외 호가창에는 국고, 통안, 공사채, 은행채, 회사채 등 온갖 종목들이 뒤엉켜 올라온다.무턱대고 이 호가들을 5열 종대로 나래비 세울 수는 없는 노릇.가장 만만한 놈부터 각개격파 들어간다. 크레딧물은 호가에 종목명(그것도 약칭 예. 롯캐(롯데캐피탈), 엔솔(LG에너지솔루션))만 덜렁 올라오기도 하고,종목 갯수만 2~3만개는 될거라 현 단계에서 코드로 파악하기..

Trading & Coding 2025.07.01

[채권 1] K-Bond 메신저 장외호가 DB 쌓기

채권시장은 21세기에도 여전히우수한 기술력을 자랑하는 플랫폼인'메신저'에 1200명이 한 방에 모여돗때기 시장판 마냥 조용한 고성이 오고간다. 실시간으로 호가가 뒤섞여 정신이 없다.오늘이 지나면 그 호가는 사라진다.분석이 안 된다. 그래서 할 수 있을지 없을지도 모르겠지만일단 들이박아본다. K-Bond 호가분석 시스템 개발.오늘은 일단 무식하게,호가를 전부 DB에 쑤셔넣는 것부터.1. 문자열 분석: regex로 기본구조 발라내기홍길동 (11:11:11) : 25-3 58- (A사 B부 1234-5678)김철수 (11:15:20) : ㅎㅈ [C부 2345-6789]bgc 임꺽정 (14:23:22) 26.3.5(목) 우금캐510-1 (민평 2.617%/끝.82/AA-) 민평 팔자 2.629 (채권부 555-..

Trading & Coding 2025.06.27

[데이터수집] ccxt로 binance 1분봉 실전 수집기 만들기

전략 개발하든, 백테스트를 하든, 결국 시작은 가격데이터 확보 및 적재이다.ccxt 모듈을 활용하여 binance의 과거 가격데이터를,from ~ to 기준 분봉단위로 수집하는 실전용 클래스를 소개한다.그냥 코드만 던지는 건 재미없고, 실전에서 부딪히는 3가지 핵심 포인트 중심으로 소개. ccxt는 이스라엘 개발자 Igor Kroitor가 만든 오픈소스 프로젝트로,크립토 데이터 수집의 사실상 표준으로 자리잡았다. 거래소마다 API도 제각각인데,ccxt는 이것을 통일된 방식으로 감싸주는 라이브러리이다.그래서 binance든 업비트든 똑같은 코드로 호출할 수 있다.데이터 수집 입문용으로는 거의 정석. 초기엔 개인 프로젝트 였던 것이,현재는 오히려 거래소 공식문서에서 ccxt 사용법을 소개할 정도. 0...

Trading & Coding 2025.06.22

[Backtest] ATR기반 Trailing Stop전략: 한 줄 버그가 전략을 속임

백테스트 결과가 너무 좋다면, 그냥 그것은 버그다. 시스템 트레이딩 백테스트 과정에서 손절/익절라인 설정은 전략 개발에 있어 항상 마주치는 고민거리이다.간단한 전략이라도 이 둘의 미세한 차이만으로 전체 수익 곡선이 완전히 달라지기 때문.이번 글에서는 ATR 기반 손절/익절 조합을 히트맵으로 분석한 실험기.그리고 그 과정에서 발견한 얼탱이 없는 한 줄짜리 오류. 기본 청산 전략전략 신호가 발생한 경우 포지션에 진입한 후, 기본 청산 전략은 다음과 같다.매수 진입 기준으로 최근 ATR 기준으로 손절(Loss Cut, LC)은 m배수 아래로, 익절(Take Profit, TP)은 n배수 위로 설정한다.예를 들어, m=1, n=2 세팅에서는 진입가 - 1 x ATR에 손절 주문, 진입가 + 2 x ATR에 익절..

Trading & Coding 2025.06.15