자동매매 프로그램 제작 기간 — 의뢰부터 실계좌 첫 주문까지 실제로 몇 주 걸리나
알고랩이 실제 납품한 프로젝트 중 제작 기간이 기록된 33건의 착수→납품 중앙값은 약 2.5주입니다(1주 이하 6건 · 1~2주 9건 · 2~3주 11건 · 3~4주 5건 · 5주 이상 2건). 여기에 고객 쪽 준비(계좌·KIS·키움 REST API 키 발급)와 모의투자 검증 1~2주, 실계좌 소액 확인 약 1주를 더하면 의뢰부터 실계좌 첫 주문까지 보통 3~5주입니다. 기간을 가장 크게 늘리는 것은 코딩 난이도가 아니라 계좌·거래소 개수, 모의투자에서 안 되는 API, 착수 후 규칙 변경 세 가지입니다.
견적 상담에서 "얼마예요?" 다음으로 많이 듣는 질문이 "언제 돌아가요?"입니다. 비용은 제작 비용·견적 가이드에 정리했는데, 기간은 그동안 한 줄로만 답해 왔습니다. 이 글은 그 한 줄을 실제 납품 기록으로 풀어 씁니다. 숫자는 전부 사례 페이지에 공개한 프로젝트의 '제작 기간' 칸에서 가져왔고, 추정이 섞인 부분은 따로 표시했습니다.
1. 실제 납품 33건 — 기간 분포
사례 페이지 34건 중 제작 기간이 적힌 33건을 그대로 셌습니다. "약 2~3주"처럼 범위로 적힌 것은 가운데 값(2.5주), "약 7~10일"은 일 단위를 주로 바꿨습니다. "약 3주 + 패치 3주"처럼 납품 뒤 기간이 붙은 5건은 앞의 착수→납품 기간만 셌습니다.
import re, statistics
# 사례 페이지(/cases)의 '제작 기간' 33건 원문
raw = ["약 5주","약 3주 + 운용 보수 2주","약 2주","약 2주","약 2주 + 데모 3일",
"약 1주 + 확장 1주","약 3주 + 패치 3주","약 1~2주","약 1주","약 1주 + 정돈 패스",
"약 1주","약 3주","약 3주","약 2주","약 2~3주","약 1주","약 2~3주","약 3~4주",
"약 2주","약 3주","약 3~4주","약 2~3주","약 2주","약 3~4주","약 2~3주","약 1~2주",
"약 10~14일","약 3~4주","약 7~10일","약 3~4주","약 2~3주","약 6~8주","약 2~3주"]
def weeks(t):
main = t.split("+")[0] # 납품 뒤 기간은 제외
n = [float(x) for x in re.findall(r"\d+", main)]
v = sum(n) / len(n)
return v / 7 if ("일" in main and "주" not in main) else v
w = sorted(weeks(t) for t in raw)
print(len(w), "건 · 중앙값", statistics.median(w), "주 · 평균", round(statistics.mean(w), 2), "주")
print("납품 뒤 기간이 붙은 건:", sum("+" in t for t in raw))
33 건 · 중앙값 2.5 주 · 평균 2.5 주
납품 뒤 기간이 붙은 건: 5
무엇이 짧고 무엇이 길었나
| 구간 | 실제 사례(사례 페이지 원문) | 공통점 |
|---|---|---|
| 1주 이하 | LS증권 뉴스 감지 알림 · 키움 일봉 대량 계산기(기존 프로그램에 탭 2개) · 업비트 다중 종목 볼린저 밴드 봇(7~10일) | 주문이 없거나 1개 거래소·단일 규칙 |
| 1~2주 | 키움 REST 수동매수 후 자동매도 · 키움 REST PSAR+MACD 15분봉 · IBKR 그리드 · 바이낸스 USDT-M 선물 RSI 봇(10~14일) | 1개 계좌, 진입·청산 규칙이 문장으로 확정 |
| 2~3주 | 한투 KIS 미국주식 프리마켓 손절·익절 · 키움 REST 골든/데드크로스 2종목 · 업비트·빗썸 그리드+마틴게일 · MT5 추세 추종 EA | 시간대·거래소별 예외 처리가 붙음 |
| 3~4주 | 트레이딩뷰 웹훅→한투 미국주식 다계좌 · 키움 멀티슬롯+웹 관리자 · LS증권 KOSPI200 선물 · 김치프리미엄 차익 봇 · 13개 거래소 입금 즉시 매도 | 계좌·거래소가 여러 개이거나 파생상품 |
| 5주 이상 | 한투 KIS 미니 코스피200 선물(약 5주) · 14거래소 김치프리미엄 스캐너 웹서비스(6~8주) | 선물 세션 로직 또는 웹서비스(서버·회원) |
표를 보면 기간을 가르는 것이 "전략이 얼마나 똑똑한가"가 아니라는 게 보입니다. 볼린저 밴드 봇은 지표 계산이 꽤 들어가지만 업비트 하나라서 7~10일, 김치프리미엄 봇은 매매 규칙 자체는 단순한데 업비트·빗썸·바이낸스 세 곳의 잔고·주문을 맞추느라 3~4주였습니다.
2. 의뢰부터 실계좌 첫 주문까지 — 단계별 주 단위
위 숫자는 "착수부터 납품까지"입니다. 고객이 실제로 궁금한 건 "오늘 문의하면 내 계좌에서 첫 주문이 언제 나가나"일 텐데, 그 사이에 단계가 몇 개 더 있습니다. 아래 표의 개발 칸은 실측, 나머지 칸은 알고랩 진행 방식 기준 범위입니다.
| 단계 | 기간 | 누가 | 여기서 막히는 것 |
|---|---|---|---|
| ① 상담·명세 확정 | 2~5일 | 함께 | 규칙이 "적당히 오르면 판다"처럼 숫자 없이 오는 경우 |
| ② 계좌·API 키 준비 (①과 병행) | 당일~수일 | 고객 | KIS Developers 앱키, 키움 REST API 사용 신청·허용 IP 등록, 업비트·바이낸스 키 발급 |
| ③ 개발 | 1~4주 (중앙값 2.5주, 실측) | 알고랩 | 착수 후 규칙 변경 |
| ④ 모의투자 검증 | 1~2주 | 함께 | 모의투자에 없는 API(신용·예약주문 등) |
| ⑤ 실계좌 소액 첫 주문·인수 | 약 1주 | 함께 | 실전 호출 한도·체결 통보 차이 |
| ⑥ 안정화(사후관리) | 2~3주 | 알고랩 | 실전에서만 나오는 사고 |
⑥ 안정화를 일정에 넣은 데는 근거가 있습니다. 키움 3슬롯 멀티계좌 조건검색 자동매매는 납품 후 3주 동안 18번 업데이트했습니다. 키움이 체결 정보를 누적값으로 주는 탓에 수량이 꼬이는 문제, 주문은 나갔는데 체결 통보가 안 오는 문제가 실전에서만 나왔기 때문입니다. 키움 REST 그리드 매매도 "약 3주 + 운용 보수 2주"로 기록돼 있습니다. 첫 주문 뒤 한 달을 어떻게 지켜보는지는 배포 후 첫 30일 운영 루틴에 정리했습니다.
3. 기간을 늘리는 요인 4가지 (실물로)
① 고객 쪽 키 준비 — 착수 날 값 8개가 비어 있으면 그날은 공친다
한국투자증권 KIS API로 만든다면 프로그램이 처음 읽는 설정 파일은 공식 저장소의 kis_devlp.yaml 형식입니다. 실전 appkey와 모의투자 앱키가 따로 있고, 계좌번호도 실전·모의가 다릅니다. 이 중 하나라도 비면 토큰 발급 단계에서 멈춥니다.
# 한국투자증권 공식 저장소 open-trading-api / kis_devlp.yaml (값은 자리표시자)
#실전투자
my_app: "앱키"
my_sec: "앱키 시크릿"
#모의투자
paper_app: "모의투자 앱키"
paper_sec: "모의투자 앱키 시크릿"
# HTS ID
my_htsid: "사용자 HTS ID"
#계좌번호 앞 8자리
my_acct_stock: "증권계좌 8자리"
my_paper_stock: "모의투자 증권계좌 8자리"
#계좌번호 뒤 2자리
my_prod: "01" # 종합계좌
prod: "https://openapi.koreainvestment.com:9443" # 서비스
vps: "https://openapivts.koreainvestment.com:29443" # 모의투자 서비스
KIS 앱키는 계좌가 있으면 KIS Developers에서 당일 받을 수 있습니다(KIS API 발급 30분 가이드). 키움 REST API는 사용 신청 후 '계좌 App Key 관리'에서 프로그램을 돌릴 PC의 IP를 등록해야 하는데, VPS에서 돌릴 예정이면 VPS가 준비된 뒤에야 등록할 수 있어 여기서 며칠이 밀리곤 합니다(키움 REST 키 발급). 업비트도 허용 IP를 지정해 키를 만들고, 바이낸스는 본인 인증이 끝나야 API 관리 메뉴가 열립니다. 키를 넘길 때의 권한 범위는 API 키 보안 가이드를 보십시오.
절대 하지 말 것: 앱키·시크릿을 카카오톡 대화방에 그대로 붙여 넣는 것. 알고랩은 프로그램 안의 키 입력 화면이나 고객 PC의 설정 파일에 고객이 직접 넣도록 납품합니다.
② 모의투자에서 안 되는 API — 검증 일정이 둘로 쪼개진다
KIS는 모의투자 환경이 있어 대부분의 주문 로직을 돈 없이 검증할 수 있습니다. 문제는 모의투자에서 제공되지 않는 API입니다. 공식 저장소 예제는 실전 tr_id의 첫 글자를 V로 바꿔 모의 서버로 보냅니다.
# open-trading-api / examples_user/kis_auth.py _url_fetch()
tr_id = ptr_id
if ptr_id[0] in ("T", "J", "C"): # 실전투자용 TR id 체크
if isPaperTrading(): # 모의투자용 TR id 식별
tr_id = "V" + ptr_id[1:]
신용주문(TTTC0052U → 모의에서 VTTC0052U)처럼 모의 서버에 대응 TR이 없는 API는 이 치환이 일어나도 응답이 오지 않습니다. 해당 함수 독스트링에도 ※ 모의투자는 사용 불가합니다.라고 적혀 있습니다. 이런 기능이 규칙에 들어 있으면 그 부분만 최소 수량 실계좌 주문으로 따로 확인해야 해서 ④·⑤ 단계가 겹치지 않고 이어 붙습니다. 어떤 API가 모의에서 안 되는지는 KIS 모의투자 한계 10가지에, 모의에서 실전으로 넘어갈 때 바꿀 값은 모의→실전 전환 가이드에 있습니다. 업비트는 모의투자 서버가 아예 없어 주문 검증을 /v1/orders/test 와 소액 실주문으로 대신합니다.
③ 계좌·거래소 개수 — 기간은 개수에 비례해 늘었다
위 분포표의 3~4주 구간 5건 중 4건이 다계좌 또는 다거래소였습니다. 거래소가 하나 늘 때마다 붙는 일은 같습니다. 인증 방식(KIS access_token 24시간·키움 REST 토큰·업비트 JWT·바이낸스 서명), 호출 한도, 주문 수량 단위, 에러 응답 형식(KIS rt_cd/msg_cd, 키움 return_code/return_msg)이 전부 다릅니다. 처음부터 "나중에 거래소 하나 더"를 염두에 두고 있다면 명세 단계에서 말씀해 주시는 것이 가장 싸게 먹힙니다.
④ 착수 후 규칙 변경 — 가장 흔하고 가장 비싸다
주도주 스크리닝 프로젝트는 처음에 트레이딩뷰 웹훅으로 신호를 받기로 했다가, 웹훅 주소를 여는 방화벽 설정이 고객에게 부담이 돼 자동 터널로 바꿨고, 이후 트레이딩뷰 없이 프로그램이 직접 지표를 계산하는 버전으로 한 번 더 바뀌었습니다. 결과적으로 더 좋은 프로그램이 됐지만, 그만큼 기간도 늘었습니다. 규칙을 바꾸는 것 자체는 문제가 아닙니다. 다만 개발 중간의 변경은 ④ 모의 검증을 처음부터 다시 돌리게 만든다는 점은 알고 계셔야 합니다.
4. "3일 완성"과 무엇이 다른가
외주 플랫폼 상품 페이지에는 "간단 3일 · 복합 6일 · 고급 9일" 같은 작업일이 흔히 적혀 있습니다. 그 숫자가 틀렸다는 뜻이 아닙니다. 대개 코드 작성 작업일이고, 위 표의 ②④⑤⑥은 포함되지 않은 경우가 많다는 뜻입니다. 견적을 비교할 때는 기간 숫자 대신 아래 네 가지가 들어 있는지 물어보십시오.
- 모의투자 검증을 제작사가 함께 하는가, 납품 후 고객 몫인가
- 실계좌 첫 주문을 같이 보는가(체결·잔고·로그 확인까지)
- 납품 후 몇 주간의 수정이 포함되는가 — 3주에 18회 패치가 나온 사례가 있다
- 증권사 API가 바뀌면(KIS
tr_id변경, 키움 OpenAPI+에서 REST API 전환 등) 누가 고치는가
견적 전에 고객이 정해 둘 것은 견적 전 정할 5가지에, 직접 만들지 맡길지 고민 중이라면 직접 만들기 vs 외주에 정리돼 있습니다.
5. 고객이 줄일 수 있는 것 — 체크리스트
| 준비 | 줄어드는 단계 | 방법 |
|---|---|---|
| 계좌 개설·API 키 발급을 착수 전에 | ② | KIS Developers 앱키(실전+모의), 키움 REST 사용 신청·IP 등록, 업비트·바이낸스 키(출금 권한 끔) |
| 규칙을 문장으로 | ①·③ | "5분봉 RSI가 30 아래에서 위로 돌파하면 계좌 10%로 매수, +3% 익절, −2% 손절, 15:15 전량 청산"처럼 숫자로 |
| 실행 장소를 먼저 결정 | ②·⑤ | 내 PC인지 VPS인지 — 키움 REST·업비트 허용 IP가 여기서 정해진다 |
| "나중에 추가"를 미리 말하기 | ③ | 계좌·거래소·종목 수를 늘릴 계획이면 구조를 처음부터 그렇게 잡는다 |
| 모의에서 안 되는 기능 확인 | ④ | 신용·예약주문, 일부 순위·시세 API는 실계좌 소액 확인 일정을 따로 잡는다 |
이 다섯 줄이 준비된 상태로 오시면, 중앙값 프로젝트 기준 실계좌 첫 주문이 4주차 안팎으로 당겨지는 경우가 많습니다. 반대로 키 발급과 실행 장소가 정해지지 않은 채 착수하면 개발이 끝나도 ⑤에서 멈춰 섭니다.
자주 묻는 것
자동매매 프로그램 제작은 보통 며칠 걸리나요?
알고랩 사례 페이지에 제작 기간이 적힌 납품 33건의 착수→납품 중앙값은 약 2.5주입니다. 트레이딩뷰 지표·알림봇처럼 단순한 것은 1주 안팎, 다계좌·다거래소·선물 시스템은 3~4주, 거래소 14곳을 묶은 웹서비스는 6~8주가 걸렸습니다. 의뢰부터 실계좌 첫 주문까지는 검증 기간을 더해 보통 3~5주로 잡으십시오.
외주 상품 페이지에 3일·6일이라고 적힌 건 뭔가요?
대개 코드 작성 작업일입니다. 증권사 API 키 발급, 모의투자 검증, 실계좌 소액 확인, 납품 후 안정화가 그 숫자에 들어 있는지 견적 단계에서 확인하십시오. 들어 있지 않다면 실계좌에서 처음 주문이 나가는 날은 그보다 2~3주 뒤입니다.
모의투자를 건너뛰면 더 빨라지나요?
1~2주가 줄어드는 대신 실계좌에서 첫 버그를 만납니다. 다만 KIS 신용주문·예약주문처럼 모의투자에서 아예 제공되지 않는 API는 모의 검증이 불가능하므로, 그 부분만 최소 수량 실계좌 주문으로 확인하는 일정을 따로 잡습니다.
고객이 기간을 줄이려면 무엇을 준비하면 되나요?
착수 전에 계좌 개설과 API 키 발급(KIS Developers 앱키, 키움 REST API 사용 신청과 허용 IP 등록, 업비트·바이낸스 API 키)을 끝내 두고, 매매 규칙을 '언제 사고 언제 판다'는 문장으로 적어 오시면 됩니다. 착수 후 규칙을 바꾸는 것이 기간을 가장 크게 늘립니다.
고지. 제작 기간 수치는 알고랩 사례 페이지(/cases)에 공개한 납품 기록을 2026-10-06 기준으로 집계한 것이며, 프로젝트 범위·고객 준비 상태에 따라 달라지므로 일정을 보장하지 않습니다. 개발 외 단계의 기간은 알고랩 진행 방식 기준 범위입니다. KIS 설정 파일·코드는 한국투자증권 공식 저장소(koreainvestment/open-trading-api)에서 2026-10-06에 확인했으며, 증권사·거래소 API 발급 절차와 정책은 바뀔 수 있으므로 공식 안내를 확인하십시오. 알고랩(퀀트웍스)은 투자자문업·투자일임업을 영위하지 않으며, 고객이 지정한 규칙을 프로그램으로 구현해 드리는 도구 제공자입니다. 특정 전략의 수익을 보장하지 않습니다.