자동화 버튼을 누르기 전에 알아야 할 게 많습니다. 주식/ETF 알고리즘/API 거래 수수료·제약 사항은 앱 매매와 다릅니다.
거래 수수료 외에도 시세 데이터 이용료, 유관기관 비용, 서버/네트워크·클라우드 요금, 레이트리밋·주문 규제가 얽혀 있어요.
아래 루틴대로만 보면 주식/ETF 알고리즘/API 거래 수수료·제약 사항을 한 장에 정리하고, 오늘부터 안전하게 돌릴 수 있습니다.
비용 구조
-
거래 수수료(브로커 요율)
-
국내/해외, 주식/ETF, 채널(API 특약) 별도 요율 가능. 최소수수료가 있으면 초단타·소액 전략에 치명적.
-
-
유관기관 수수료
-
거래소·예탁결제원 등. 이벤트와 무관하게 부과.
-
-
시장 데이터 비용
-
레벨1/레벨2(딥북), 실시간/지연, 개인/상업용 구분. 일부 거래소는 심볼당/월 과금 또는 동시접속 라이선스 적용.
-
-
인프라 비용
-
VPS/클라우드, 고정 공인 IP, 방화벽, 모니터링, 로깅 스토리지.
-
-
환전·배당 환전(해외)
-
매수·매도 양방향, 배당 환전이 별도 스프레드로 누적.
-
-
부가 도구
-
스마트라우팅·리스크 엔진, FIX 게이트웨이, 프리미엄 데이터(뉴스/심리/거래소 공시 피드).
-
제약 사항(알고리즘/API 공통)
-
레이트리밋
-
초당/분당 주문·취소·정정 한도. 초과 시 Throttle 또는 차단.
-
-
주문 규격
-
허용 주문타입(시장가/지정가/IOC/FOK/스탑/스탑-리밋/트레일링), 시간외 사용 범위, 예약/조건부 여부.
-
-
프리·애프터마켓 제한
-
일부 API는 시간외 금지 또는 가산 수수료.
-
-
리스크 프리체크
-
Fat-finger 한도, Max Notional/Qty, 가격 괴리 한도, O/T 비율(Order/Trade Ratio) 제한. 초과 시 주문 거절.
-
-
자기매매 방지(STP)
-
동일 계정 간 호가 충돌 방지 규칙.
-
-
세션·토큰/보안
-
짧은 토큰 만료, IP 화이트리스트, TLS 필수, 2FA.
-
-
동기화 요건
-
서버 시간 오차 허용 범위(NTP 동기화 필수). 타임스탬프 어긋나면 재연결/거절.
-
-
시장 데이터 사용 범위
-
개인용 알고리즘이라도 재배포 금지. 캐시·로그 공개 제한 주의.
-
-
로그 보존/감사 추적
-
주문·체결·에러·취소 사유까지 원시 로그 보존 요구될 수 있음.
-
총비용 공식
-
왕복 총비용(%) ≈
거래수수료(왕복)% + 최소수수료 영향% + 유관기관% + 거래세(매도)%
+ 스프레드(매수%+매도%) + 슬리피지(매수%+매도%)
-
월간 총비용(원) =
왕복 거래금액 × 왕복 총비용(%) + 데이터 구독료 + 인프라 비용 + (환전/배당 환전)
-
전략 순효율(%) =
전략 기대수익률 – 왕복 총비용(%)
포인트: 체결 개선(스프레드·슬리피지↓)로 전략 기대수익률을 지키는 게 자동화의 핵심입니다.
기술 스택 체크리스트(실무 관점)
-
프로토콜: REST(주문)/WebSocket(시세·체결 스트림)/FIX(저지연).
-
재시도 정책: 429/5xx 시 백오프, Idempotency-Key로 중복 체결 방지.
-
순서 보장: 채널 분리 시 sequence·lastTradeId로 역전 감지.
-
장애 대응: 세션 드랍 시 리플레이/리심크 지원, 미체결 조회 후 재발주.
-
리스크 엔진: 프리체크(증거금·체결가능수량), 스탑/리밋 체인 보호, 허용 슬리피지 한도.
-
모니터링: 체결지연(ms), 취소율, O/T Ratio, 슬리피지 평균·백분위, 에러코드 TopN.
-
배포 전략: 블루/그린 또는 캔어리, 롤백 스위치, 주문 모듈 회로차단기.
전략별 설계 가이드
1) 소액·고빈도(스캘핑/마켓메이킹 유사)
-
핵심 병목: 최소수수료·레이트리밋·O/T Ratio.
-
세팅
-
정액제/최소수수료 0~초저 구조, IOC/FOK 위주, STP 활성화.
-
레이트리밋 근접 시 버퍼 대기열로 병렬 주문 억제.
-
2) 이벤트/뉴스 모멘텀
-
핵심 병목: 슬리피지·체결 지연.
-
세팅
-
스탑-리밋(시장가 발동 남용 금지), 허용 슬리피지 한도(예: 0.10%p).
-
SOR 가능 시 ON, 동시호가·마감 5분엔 주문 축소.
-
3) 장기 ETF 리밸런싱/적립
-
핵심 병목: 데이터 비용·환전·최소수수료.
-
세팅
-
정규장 유동성 안정 구간 지정가, 모아 체결로 하한 영향 축소.
-
배당 환전 포함 우대 유무 확인.
-
레이트리밋·슬리피지 관리 예시(의사코드)
if throttle.near_limit():
sleep(jitter_ms)
order = build_limit(price=best_bid + tick, ioc=True, max_slippage_bps=10)
send(order)
if fill.partial and slippage_bps(order) > 10:
cancel_rest()
-
near_limit: 초당 주문/취소 합이 임계값의 x% 이상일 때.
-
max_slippage_bps: 허용 슬리피지 10bp(0.10%) 가드.
운영 전 2분 점검
-
계정: API 권한, IP 화이트리스트, 2FA
-
요율: 기본/우대, 최소수수료, 시간외 가산
-
데이터: 레벨1/레벨2 권한, 동시접속/재배포 정책
-
한도: 레이트리밋 수치, O/T Ratio, Notional/수량 상한
-
리스크: 프리체크 룰, STP, 스탑 체인
-
시간: NTP 동기화, 타임스탬프 정밀도(ms)
-
로그: 주문/체결/에러/취소/리커넥트 이벤트 저장 경로
자주 묻는 질문(FAQ)
-
Q. API면 수수료가 더 싸나요?
-
반드시 그렇지 않습니다. 오히려 API 특약 요율이나 최소수수료가 따로 있을 수 있어요.
-
-
Q. 시세 데이터는 꼭 유료여야 하나요?
-
전략에 따라 지연 데이터로도 가능하지만, 체결 품질 개선이 목표라면 레벨2 실시간이 유리합니다.
-
-
Q. 왜 ms 단위 지연을 기록해야 하나요?
-
슬리피지와 직결됩니다. 체결지연·오차가 커질수록 기대수익률이 줄어듭니다.
-
결론
요약하면, 주식/ETF 알고리즘/API 거래 수수료·제약 사항은 “요율+데이터+제한+리스크” 네 줄입니다. 최소수수료와 레이트리밋을 먼저 확인하고, 슬리피지를 가드하는 지정가·IOC·SOR 조합으로 시작하세요. 로그와 ms를 기록하면, 전략의 순효율을 빠르게 개선할 수 있습니다. 오늘은 체크리스트부터 적용하고, 내일은 지표 대시보드로 체결 품질을 숫자로 보세요.