- Authors
- Name

문제 정의
ETF 자동 리밸런싱은 규칙을 코드화하지 않으면 감정 매매로 회귀한다. 코어-새틀라이트 비중과 리밸런싱 임계치를 명시해야 한다.
아키텍처/원리
- 코어는 시장 베타, 새틀라이트는 알파/테마 익스포저 역할 분리.
- 시간 기반(분기) + 편차 기반(예: ±5%) 하이브리드가 실무적.
- 세금/수수료를 반영한 순효과 기준으로 매매한다.
구현 예시 1
portfolio:
core: 0.7
satellite: 0.3
rebalance:
cadence: quarterly
drift_threshold: 0.05
구현 예시 2
def rebalance_needed(cur,target,th=0.05):
return any(abs(cur[k]-target[k])>th for k in target)
구현 예시 3
SELECT date, turnover, fee_krw, tax_krw, net_return
FROM rebalance_journal
ORDER BY date DESC LIMIT 12;
구현 예시 4
name: etf-rebalance
on:
schedule:
- cron: '0 9 1 */3 *'
jobs:
run:
runs-on: ubuntu-latest
steps:
- run: python bot/rebalance.py --dry-run
운영 팁
- 백테스트 성과보다 실제 체결비용 추적을 우선한다.
- 거래 전 체크(유동성·슬리피지·세금)를 자동화한다.
- 투자 규칙 변경은 ADR처럼 기록해 임의 수정 방지.
트러블슈팅
- 과도한 매매회전율: drift threshold 확대.
- 괴리율 큰 ETF 매수: 지정가/분할매수 적용.
- 현금비중 왜곡: 배당·입출금 이벤트를 리밸런싱 전에 반영.
체크리스트
- 목표 비중/임계치 명시
- 비용/세금 포함 손익 계산
- 분기 리밸런싱 캘린더
- 거래 로그/감사 추적
- 비상 중단 규칙
결론
자동화의 목적은 수익 극대화가 아니라 의사결정 일관성이다. 규칙이 흔들리지 않으면 장기 성과 분산이 줄어든다.