[알고리즘 트레이딩] 코스피 ETF를 활용한 페어 트레이딩 + 인버스 헷지 전략

📈 **페어 트레이딩(Pairs Trading)**은 두 자산의 상대적인 가격 차이가 일정 범위를 벗어날 때, 그 차이가 다시 수렴한다는 전제 하에 롱/숏 포지션을 동시에 취해 수익을 노리는 전략입니다. 이 전략은 시장이 상승하든 하락하든 비교적 시장 방향성에 영향을 덜 받는 시장 중립적 전략 이라는 점에서 매력적입니다. 그런데, 실제 시장에서는 전체 지수가 급락할 때 페어 간의 스프레드도 영향을 받을 수 있습니다. 이때 유용한 것이 인버스 ETF를 활용한 헷지 전략 입니다. 🎯 전략 요약 페어 선정: KODEX 200 vs TIGER 200 (코스피200 지수 추종 ETF) 진입 조건: 두 ETF 간의 z-score가 특정 임계값(예: -2 이하)을 하회할 때 포지션 구성: KODEX 200 매수 TIGER 200 매도 시장 방향성 헷지를 위해 KODEX 인버스 ETF 매수 청산 조건: z-score가 평균 근처로 복귀 (예: -0.5 이상) 청산 시점: 모든 포지션을 동시에 종료 (롱/숏/헷지 포함) 🧪 예제 코드 (Python + pandas) import yfinance as yf import pandas as pd import matplotlib.pyplot as plt from scipy import stats # 1. 데이터 불러오기 start = "2023-01-01" end = "2024-12-31" # 코스피200 추종 ETF (KODEX200, TIGER200), 인버스 ETF (KODEX 인버스) symbols = { "KODEX200" : "069500.KQ" , "TIGER200" : "102110.KQ" , "KODEX_INVERSE" : "114800.KQ" } data ...

[알고리즘 트레이딩] 암호화폐 페어 트레이딩 전략 아이디어

비트코인과 이더리움의 가격 움직임을 이용한 페어 트레이딩(pair trading) 전략을 Python 코드와 함께 소개합니다. 1. 🧠 페어 트레이딩이란? 페어 트레이딩 은 서로 유사한 움직임을 보이는 두 자산(예: 주식, ETF, 암호화폐) 사이의 상대적인 가격 차이 를 활용한 시장중립형 전략 입니다. 두 자산이 통계적으로 안정적인 관계(공적분 관계)를 갖는다고 가정하고, 일시적인 괴리를 수익 기회로 활용합니다. 기본 원리는 다음과 같습니다: 두 자산의 가격 차이가 평균으로 회귀한다고 가정 괴리가 커지면 한쪽 매수, 다른 한쪽 매도 (롱/숏 포지션 동시 보유) 다시 평균으로 수렴하면 청산하여 수익 실현 2. 💸 암호화폐 시장에서도 페어 트레이딩이 유효한가? 그렇습니다! 특히 다음과 같은 이유로 암호화폐 시장은 페어 트레이딩에 적합합니다: 높은 상관성 : BTC와 ETH는 구조적·심리적으로 동조화된 움직임을 보입니다. 24시간 거래 : 중단 없는 가격 데이터 수집 가능 높은 변동성 : 통계적 괴리 빈번 → 수익 기회 많음 비효율성 존재 : 미성숙한 시장 특성상 과잉반응·오차 발생 가능 따라서 BTC-ETH처럼 공적분 관계가 성립하는 자산 쌍 을 찾아내면, 가격 차이의 회귀를 이용한 전략을 구사할 수 있습니다. 3. ⚙️ 분석 대상: BTC vs ETH 이번 실습에서는 대표적인 상관쌍인 BTC(비트코인)와 ETH(이더리움)을 사용합니다. BTC-USD : 시장 기준이자 리스크 자산 ETH-USD : 스마트 컨트랙트 기반 플랫폼 코인 4. 🧪 실습 코드: Beta 계산, 공적분 검정, Z-score 분석 import yfinance as yf import numpy as np import pandas as pd import statsmodels.api as sm import matplotlib.pyplot as plt from statsmodels.ts...

[알고리즘 트레이딩] 공매도 없이 ETF로 페어 트레이딩 하기 – KODEX 200 & 인버스

📌 요약 공매도가 어렵거나 제한적인 국내 ETF 환경에서도 가능한 시장 중립적 트레이딩 전략 이 있습니다. KODEX 200과 KODEX 200 인버스를 활용한 Z-score 기반 페어 트레이딩 전략을 소개합니다. 🎯 전략 목표 시장 방향성 상관없이 수익을 추구 Z-score 기반 비대칭 전략 으로 단기 분산의 평균 회귀를 이용 공매도 없이 한쪽 ETF 매수만으로 대응하는 방식 📈 대상 ETF 소개 ETF 설명 KODEX 200 (069500.KS) KOSPI200 지수 추종 KODEX 200 인버스 (114800.KS) KOSPI200 지수 반대 방향 추종 (역방향) 🧠 전략 원리 ➤ Spread & Z-score 계산 Spread = log(KODEX200) - log(KODEX 인버스) Z-score = (Spread - 평균) / 표준편차 Z-score > 2 : KODEX 200 가격이 고평가 vs 인버스 → KODEX 인버스 매수 Z-score < -2 : KODEX 200이 저평가 vs 인버스 → KODEX 200 매수 Z-score ≈ 0 : 스프레드가 평균에 근접 → 포지션 청산 📌 전략 요약표 조건 실행 Z-score > 2 ✅ KODEX 인버스 매수 Z-score < -2 ✅ KODEX 200 매수 Z-score ≈ 0 (절댓값 < 0.5) ❎ 포지션 청산 🛠 진입 시그널 감지 파이썬 코드 (야후 파이낸스 기반) import yfinance as yf import numpy as np import pandas as pd import matplotlib.pyplot as plt # 티커 불러오기 ticker_1 = yf.Ticker( "069500.KS" ) # KODEX 200 ticker_2 = yf.Ticker( "114800.KS" ) # KODEX 인버스 ...

[알고리즘 트레이딩] ETF 초단기 페어 트레이딩 전략: KODEX 200 vs KODEX 인버스

🔍 페어 트레이딩(Pairs Trading)이란? 페어 트레이딩은 통계적 차익거래 전략 으로, 서로 높은 상관관계를 갖는 두 자산(쌍)을 선택해 가격 차이(스프레드)가 평균에서 벗어날 때 진입 하고, 평균으로 회귀할 때 청산 하는 구조입니다. 국내 ETF를 활용한 실전 예시 Long 대상 : KODEX 200 ( 069500.KS ) Short 대상 : KODEX 인버스 ( 114800.KS ) 두 ETF는 거의 정확히 반대 방향 으로 움직이며, 이 관계를 활용한 초단기 전략 설계가 가능합니다. 📐 전략 설계 개요 요소 내용 자산 페어 KODEX 200 vs KODEX 인버스 데이터 소스 야후 파이낸스 (yfinance 라이브러리) 데이터 타입 5분봉 스프레드 정의 log(KODEX 200) - log(KODEX 인버스) Z-score 윈도우 20 진입 조건 Z-score > +2 또는 < -2 청산 조건 Z-score가 0 근처로 회귀할 때 시뮬 수익 계산 Long 수익 + Short 수익 🧠 전략 진입과 청산 논리 Z-score가 +2 이상일 경우: KODEX 200 매수 (Long) KODEX 인버스 매도 (Short) → 실전에서는 매도가 아닌 ETF 특성상 반대 방향 투자 로 대응 Z-score가 0 이하로 수렴: 포지션 청산 이 방식은 반드시 처음부터 두 ETF를 동시에 보유하거나, 스프레드가 벌어지는 순간 동시에 진입 해야 합니다. 💡 실전과의 차이 실전에서는 공매도 어려움 , 슬리피지 , 실시간 체결가 반영 문제 등 복잡한 요소가 존재합니다. 본 전략은 시뮬레이션/연구 목적 이며, 실제 자동매매를 위해선 증권사 API 연동이 필요합니다. 💻 참조용 코드: 야후 파이낸스 기반 초단기 시뮬레이터 import yfinance as yf import pandas as pd import numpy as np import ma...

[알고리즘 트레이딩] ETF 페어 트레이딩 전략 (KODEX 200 vs KODEX 인버스)

ETF를 활용한 페어 트레이딩은 두 종목 간의 가격 차이(스프레드)가 평균으로 수렴한다는 전제 아래, 동시 매수/동시 매도 전략을 통해 수익을 추구하는 방식입니다. ✅ 전략 개요 페어: KODEX 200 (정방향) vs KODEX 인버스 (역방향) 두 ETF는 일반적으로 KOSPI200 지수와 역방향으로 움직이는 경향 이 있어, 가격 차이의 움직임이 일정한 통계적 특성을 보입니다. 이러한 가격 스프레드의 평균 회귀성 을 활용하여, 가격이 벌어졌을 때 진입 , 평균으로 돌아오면 청산 합니다. 🧮 Z-score 기반 진입 조건 스프레드 계산: spread = log(price_kodex200) - log(price_inverse) Z-score 계산: zscore = (spread - spread.mean()) / spread.std() 매매 조건: 진입 시점 : Z-score < -2 → 평균으로 회귀할 가능성이 크다고 판단 → KODEX 200 매수 + KODEX 인버스 매수 청산 시점 : Z-score ≈ 0 → 평균에 도달했다고 판단 → 양쪽 포지션 동시 매도(청산) ❗ 공매도 없이도 구현 가능: 인버스 ETF를 공매도하지 않고도 해당 전략이 가능합니다. 양 ETF를 같이 매수 → 같이 매도 하는 방식으로 접근합니다. 🧠 진입 타이밍 정리 (공매도 없이) Z-score 값 해석 액션 Z-score < -2 스프레드 벌어짐 → 회귀 가능성 ↑ KODEX 200 매수 + KODEX 인버스 매수 Z-score ≈ 0 평균 회귀 완료 양쪽 청산 (매도) Z-Score ↓↓↓ Z-Score = 0 Z-Score ↑↑↑ (스프레드 벌어짐) (평균 수렴) (스프레드 반대방향 벌어짐) [매수 진입 시점] [청산 시점] ...

[알고리즘 트레이딩] ETF 페어 트레이딩, HFT까지 필요할까?

ETF(상장지수펀드)를 활용한 페어 트레이딩 전략은 공매도가 제한적인 한국 시장에서도 리스크를 줄이면서 수익을 추구할 수 있는 매력적인 방법입니다. 특히 KOSPI200 ETF와 인버스 ETF 처럼 음의 상관관계를 가진 자산쌍은 전략 설계에 용이한데요, 여기서 궁금한 점 하나: 이 전략을 정말 성공적으로 실행하려면 HFT(High-Frequency Trading) , 즉 초단타 고빈도 매매까지 필요할까요? 정답은 전략에 따라 다릅니다. 아래에서 유형별로 살펴볼게요. ⚡ HFT가 필요한 경우 1. 초단타 차익거래 스프레드가 아주 짧은 시간에 벌어졌다가 빠르게 수렴하는 순간을 노리는 전략 1초 미만 단위 의 빠른 대응이 핵심 ETF 간 호가의 미세 괴리율 , 반응 시간 차이를 포착 주문 → 체결 → 리스크 해소까지의 지연 시간 최소화 필요 2. 호가 기반 마이크로 구조 전략 TIGER 200의 호가가 빠르게 밀릴 때, KODEX 인버스는 반응이 느린 경우 호가 잔량·체결 강도 분석 을 통해 빠르게 포지션 진입/청산 실시간 Tick 데이터 분석 및 즉시 주문 체결 로직 필요 3. 자동화 마켓메이킹 전략 직접 유동성을 공급하며, 가격 차이를 노리는 경우 매도/매수 양방향 오더북 참여 → 거래량 많고 빈도 높음 LP(유동성공급자) 수준의 반응 속도 요구 🧘‍♂️ HFT가 필요 없는 경우 1. 통계적 스프레드 트레이딩 (분 단위 이상) 평균 + 2σ 이상 벌어졌을 때 진입, 평균으로 수렴하면 청산 보통 수 분 ~ 수 시간 단위 트레이딩 에 해당 Python + 백테스트 기반 자동화 or 수동 전략으로도 충분 2. 종가 기반 전략 or 일중 시그널 매일 한두 번만 조건 체크 시뮬레이션 기반 승률 위주 전략 에서 적합 HTS/MTS 수동 실행 또는 Slack/알림톡 자동 알림과 연계 가능 🇰🇷 한국 ETF 시장의 특수성 ETF는 L...

[알고리즘 트레이딩] KOSPI200 ETF와 인버스 ETF를 활용한 페어 트레이딩 전략

한국 주식 시장에서는 공매도가 제한되거나 어려운 경우가 많습니다. 이 때문에 일반 투자자가 차익거래(Pair Trading) 전략을 실전에서 구현하기 쉽지 않은데요, 그 대안으로 떠오르는 것이 바로 KOSPI200 ETF와 KOSPI200 인버스 ETF를 활용한 전략 입니다. 이 두 ETF는 서로 반대 방향으로 움직이는 특성을 가지고 있어, 복잡한 파생상품이나 공매도 없이도 **시장 중립 전략(Market Neutral Strategy)**을 구현할 수 있습니다. 📘 페어 트레이딩(Pair Trading)이란? 페어 트레이딩은 **높은 상관관계를 가진 두 종목 간의 가격 차이(스프레드)**가 평균으로 회귀한다는 가정 하에, 가격이 벌어졌을 때 매수/매도 포지션을 동시에 취해 리스크를 줄이면서 수익을 노리는 전략 입니다. 🧩 왜 KOSPI200 ETF & 인버스 ETF인가? ETF 이름 특징 TIGER 200 등 KOSPI200 ETF KOSPI200 지수 그대로 추종 KODEX 인버스 등 인버스 ETF KOSPI200 지수 역방향 추종 (하락 시 수익) 이 둘은 가격 움직임이 반대로 움직이므로, 매우 높은 음(-)의 상관관계를 가집니다. 이를 활용하면 공매도 없이도 실질적인 롱-숏 전략 구성이 가능합니다. ✅ 전략 구조 요약 🎯 진입 조건 스프레드가 통계적으로 이탈한 상태 (예: 평균 + 2σ 이상) 진입 시 포지션: KOSPI200 ETF 매수 인버스 ETF 매수 인버스 ETF를 매수하는 것은 지수 하락에 베팅하는 것으로, 사실상 숏 포지션과 유사한 효과를 냅니다. 🏁 청산 조건 스프레드가 평균으로 회귀 두 ETF 모두 매도하여 포지션 종료 🔧 예시 코드 (Python 개념 코드) spread = price_etf + price_inverse_etf # 인버스 ETF는 부호 반대로 계산 if spread > spread_mean + 2 * spr...