자동매매 프로그램 후기, 믿어도 되나 — 무작위 봇 실측
자동매매 프로그램 후기 속 수익 캡처는 그 프로그램이 좋다는 증거가 되지 못합니다. 전략 없이 무작위로 사고파는 봇을 41개 구간에서 1,000개씩 돌리자 10.5%가 3개월 +20%를 찍었습니다. 같은 봇을 10.8년 돌려 가장 좋은 3개월만 고르면 전부 +20%를 넘겼고, 그중 34.3%는 전체 기간으로는 손실이었습니다. 믿을 만한 후기는 수익률이 아니라 시작일이 고정된 전체 기간, 입출금, 미실현 손실, 장애 때의 대응을 보여 줍니다. 조회 방법은 키움 kt00016, KIS TTTC8708R로 아래에 적었습니다. (FinanceDataReader 수정주가, 기준일 2026-10-30, 시드 고정. 과거 결과이며 미래를 보장하지 않습니다.)
목차
- 동전 던지기 봇을 만든 이유
- 결과 — 1,000개 중 후기감이 몇 개인가
- 같은 봇도 캡처 구간만 고르면 달라진다
- 후기 종류별로 증명하는 것
- 캡처 대신 받아야 할 숫자 — kt00016·TTTC8708R
- 법이 금지한 광고 표현
- 프로그램 후기에서 실제로 읽을 곳
- 자주 묻는 질문
1. 동전 던지기 봇을 만든 이유
자동매매 프로그램 후기를 검색하면 수익 화면, 평점, 수강평이 섞여 나옵니다. "수익 인증은 믿지 말라"는 말은 흔하지만, 그 말만으로는 얼마나 믿지 말아야 하는지 알 수 없습니다. 그래서 실력이 0인 봇이 후기감 숫자를 얼마나 자주 만드는지 직접 쟀습니다. 캡처의 일반적인 함정은 수익 인증 캡처가 숨기는 7가지에 따로 정리해 두었습니다.
규칙은 단순합니다. 들고 있는 종목이 없으면 매일 10% 확률로 22종목 중 하나를 무작위로 삽니다. 5~20거래일 뒤 시가에 팔고, 왕복 비용 0.3%를 뺍니다. 지표도 예측도 없습니다.
def run_bot(opens, start, end, rng):
equity, i = 1.0, start
n_stock = opens.shape[1]
while i < end:
if rng.random() < P_ENTER: # 하루 10% 확률로 진입
col = rng.integers(n_stock) # 종목도 무작위
buy = opens[i, col]
j = min(i + int(rng.integers(5, 21)), end) # 5~20거래일 보유
sell = opens[j, col]
if np.isfinite(buy) and np.isfinite(sell) and buy > 0:
equity *= (sell / buy) * (1 - COST) # 왕복 0.3%
i = j + 1
else:
i += 1
return equity - 1
데이터는 FinanceDataReader 수정주가(2016-01-04~2026-10-30, 2,654거래일)이고 삼성전자, SK하이닉스, NAVER, 카카오, 에코프로, 알테오젠 등 22종목입니다. 전체 코드는 random_bot_review_test.py로 받을 수 있으며, 기준일 ASOF와 시드를 고정해 빈 폴더 첫 실행과 캐시 재실행이 같은 숫자를 내는지 확인했습니다.
가정과 한계. 22종목은 지금 시점에 고른 생존 종목이라 상장폐지가 없습니다. 그래서 결과가 실제보다 좋게 나옵니다(생존편향 실측). 수정주가 조정 외 배당은 반영하지 않았고, 호가 충격도 빠졌습니다. 이 실험은 전략의 기대 수익을 재는 것이 아니라 우연의 크기를 재는 것입니다.
2. 결과 — 1,000개 중 후기감이 몇 개인가
겹치지 않는 3개월(63거래일) 구간 41개에서 봇을 1,000개씩, 모두 41,000번 돌렸습니다. 실행 출력은 이렇습니다.
구간 41개 x 봇 1000개 = 41,000회
3개월 +20% 이상: 10.5%
3개월 +50% 이상: 1.6%
3개월 손실: 49.5%
3개월 수익률 중앙값: 0.1%
구간별 후기감 비율 최소/최대: 0.8% / 35.8%
후기감 봇의 다음 3개월 평균: 2.1%
후기감 봇의 다음 3개월 중앙값: -0.1%
후기감 봇 중 다음 3개월도 +20% 이상: 11.1%
나머지 봇 다음 3개월 평균(구간 평균): 2.2%
읽을 곳은 세 가지입니다.
- 열 개에 하나는 후기감입니다. 같은 프로그램을 1,000명이 쓰면 그중 100명쯤은 아무 실력 없이도 "3개월 20% 벌었어요"를 쓸 수 있습니다. 손실을 본 495명은 글을 쓸 이유가 적습니다.
- 다음 3개월은 평범합니다. 후기감 봇의 다음 3개월 평균은 2.1%, 나머지는 2.2%로 차이가 없고, 다시 +20%를 넘긴 비율 11.1%도 전체 평균 10.5%와 비슷합니다. 무작위 봇이니 당연한 결과입니다. 요점은 캡처 화면만으로는 이런 봇과 실력 있는 봇을 구별할 수 없다는 데 있습니다.
- 후기가 쓰인 시기가 숫자를 좌우합니다. 후기감 비율은 구간에 따라 크게 움직입니다. 2019-05-10에 시작한 3개월은 0.8%, 2020-05-19에 시작한 3개월은 35.8%였습니다. 같은 무작위 규칙인데 수십 배 차이입니다.
| 구간 시작일 | +20% 봇 비율 | 최고 봇 | 손실 봇 비율 |
|---|---|---|---|
| 2019-05-10 | 0.8% | +35.5% | 72.0% |
| 2021-11-25 | 1.7% | +30.5% | 71.5% |
| 2023-12-11 | 25.5% | +177.9% | 34.9% |
| 2025-10-02 | 25.2% | +136.8% | 33.2% |
| 2020-05-19 | 35.8% | +114.1% | 21.8% |
나쁜 구간에서도 최고 봇은 +30%를 넘습니다. 어느 장에서든 올릴 화면 하나는 나온다는 뜻입니다. 비교 기준으로, 22종목을 똑같은 비중으로 들고만 있었을 때 3개월 수익률 중앙값은 +2.0%였습니다.
3. 같은 봇도 캡처 구간만 고르면 달라진다
후기는 대개 누군가 고른 기간을 보여 줍니다. 그래서 봇 1,000개를 10.8년 동안 돌린 뒤, 각 봇의 가장 좋은 3개월을 뽑았습니다.
[봇 1개를 전 기간 돌려 캡처 구간을 고르면]
가장 좋은 3개월 중앙값: 70.0%
전체 10.8년 CAGR 중앙값: 3.4%
최고 3개월이 +20% 이상인 봇: 100.0%
최고 3개월이 +20% 이상인데 전체는 손실인 봇: 34.3%
전체 손실 봇: 34.3%
모든 봇이 +20% 캡처를 가지고 있었고, 절반은 +70% 이상을 보여 줄 수 있었습니다. 그런데 연복리(CAGR) 중앙값은 3.4%이고 셋 중 하나는 전체로 손실입니다. "3개월 70%"와 "10년 손실"이 한 계좌에서 동시에 참일 수 있습니다. 이 차이를 숫자로 더 보고 싶다면 몬테카를로로 본 MDD 분포가 이어지는 글입니다.
4. 후기 종류별로 증명하는 것
후기마다 증명하는 범위가 다릅니다. 이 표로 먼저 분류하면 읽는 시간이 크게 줄어듭니다.
| 후기 형태 | 증명하는 것 | 증명하지 못하는 것 |
|---|---|---|
| 오픈채팅·블로그 수익 캡처 | 그 순간 그 화면이 있었다는 것 | 기간 선택, 입금, 다른 계좌, 조작 여부 |
| 기사 형식의 회원 수익 후기 | 업체가 이 메시지를 알리고 싶다는 것 | 독립성. 보도자료·광고일 수 있습니다 |
| 크몽 같은 플랫폼 구매평 | 거래가 있었고 납품·소통에 만족했다는 것 | 수익. 이후 수익은 평가 대상이 아닙니다 |
| 인프런 같은 강의 수강평 | 설명이 이해하기 쉬웠다는 것 | 그 코드로 실전 수익이 났다는 것 |
| 장애·실패까지 적은 사용기 | 실제로 오래 돌렸을 가능성 | 다른 사람에게도 재현되는지 |
구매평이 많다고 수익이 검증되는 것도 아닙니다. 알고랩의 후기와 제작 사례도 이 기준으로 읽어 주십시오. 프로그램을 잘 만들었는지, 약속대로 납품했는지에 대한 자료이지 수익 증명이 아닙니다.
5. 캡처 대신 받아야 할 숫자 — kt00016·TTTC8708R
정말 궁금하면 판매자나 후기 작성자에게 다음 네 가지를 요청하십시오. 거절해도 범죄는 아니지만, 그 답이 곧 판단 자료입니다. 계좌번호와 이름은 가리고 받으면 됩니다.
- 시작일이 고정된 전체 기간. 프로그램 첫 실행일부터 오늘까지, 빠진 달 없이.
- 기간 중 입금과 출금. 잔고 증가가 수익인지 추가 입금인지 가립니다.
- 평가손실을 포함한 숫자. 실현손익은 물려서 안 판 종목을 숨깁니다.
- 같은 버전 사용자 수. 후기 쓴 사람 말고 쓴 사람 전체가 몇 명인지.
증권사 API를 쓰는 프로그램이라면 조회는 어렵지 않습니다. 키움 REST API의 kt00016(일별계좌수익률상세현황요청, POST /api/dostk/acnt)이 이 목적에 가장 맞습니다. 평가 시작일과 종료일만 넣으면 됩니다.
POST https://api.kiwoom.com/api/dostk/acnt
api-id: kt00016
{"fr_dt": "20260101", "to_dt": "20261030"}
# 응답에서 볼 필드 (명세 원문 기준)
# tot_amt_fr / tot_amt_to 순자산액계 초 / 말
# termin_tot_trns 기간내총입금
# termin_tot_pymn 기간내총출금
# evltv_prft 평가손익
# prft_rt 수익률(%)
# tern_rt 회전율(%)
순자산이 늘었어도 입금 빼고 나면 손실일 수 있으니, 볼 식은 하나입니다. 금액 필드는 앞을 0으로 채운 부호 포함 12자리 문자열이라 숫자로 바꿔야 합니다.
def net_gain(r):
n = lambda k: int(r[k])
return n("tot_amt_to") - n("tot_amt_fr") - n("termin_tot_trns") + n("termin_tot_pymn")
print(net_gain({"tot_amt_fr": "000010000000", "tot_amt_to": "000015000000",
"termin_tot_trns": "000007000000", "termin_tot_pymn": "000000000000"}))
# -2000000 순자산은 50% 늘었는데 실제로는 200만 원 손실
ka10074(일자별실현손익요청)도 자주 보이는 화면인데, 명세가 직접 "실현손익이 발생한 일자에 대해서만 데이터가 채워짐"이라고 적어 둡니다. 즉 매도한 날만 나옵니다. 손실 종목을 팔지 않고 들고 있으면 rlzt_pl과 dt_rlzt_pl에는 나타나지 않습니다. 보유 종목 평가는 kt00018 계좌평가잔고내역으로 같이 봐야 합니다.
한국투자증권 KIS는 HTS(eFriend Plus) [0856] 기간별 매매손익 화면에 대응하는 TTTC8708R(inquire-period-profit, 기간별손익일별합산조회)과 TTTC8715R(inquire-period-trade-profit, 기간별매매손익현황조회)이 있습니다. INQR_STRT_DT·INQR_END_DT로 기간을 지정하고, 페이지가 넘어가면 CTX_AREA_NK100으로 이어 받습니다. 공식 예제 코드에는 TTTC 실전 tr_id만 있어, 모의 계좌 후기는 이 경로로 대조하기 어렵습니다. 역시 '매매손익'이므로 입출금과 평가손실은 TTTC8434R 잔고 조회와 HTS 화면으로 별도 확인합니다.
바이낸스 같은 코인 거래소는 GET /api/v3/myTrades로 체결 내역을 뽑아 대조할 수 있습니다. 어느 쪽이든 증권사마다 응답 항목이 달라지니 공식 문서를 확인하십시오. 다른 증권사의 지원 범위는 국내 증권사 API 비교에 있습니다.
6. 법이 금지한 광고 표현
2024년 8월 14일 시행된 개정 자본시장법은 유사투자자문업자에게 금융소비자보호법 수준의 광고 규제를 적용합니다. 금융위원회 안내 기준으로 다음이 금지됩니다.
- 허위 또는 미실현 수익률을 제시하는 광고
- 수익률이나 운용 실적이 좋은 기간의 것만 제시하는 광고
- 손실을 보전하거나 이익을 보장한다는 약정
- 불확실한 사항을 단정하거나 확실하다고 오인하게 하는 광고
3장의 실험이 보여 준 '좋은 3개월만 고르기'가 바로 두 번째 항목입니다. SNS나 오픈채팅방 같은 양방향 채널을 유료 회원제로 운영하면 투자자문업으로 규율되고, 미등록이면 3년 이하 징역 또는 1억 원 이하 벌금 대상입니다. 유사투자자문업자의 리딩방 운영이나 자동매매 프로그램 판매·대여를 불법행위로 보고 제보를 받는다는 안내도 함께 나왔습니다. 신고 여부는 금융감독원 파인(fine.fss.or.kr)에서 조회합니다. 이 절은 법률 자문이 아니며, 구체적인 사안은 국가법령정보센터와 전문가에게 확인하십시오. 수법별 대응은 자동매매 사기 피하는 법에 있습니다.
7. 프로그램 후기에서 실제로 읽을 곳
수익 숫자를 건너뛰면 쓸모 있는 문장이 남습니다. 후기에서 다음 내용이 보이면 그 후기는 읽을 가치가 있습니다.
| 찾을 문장 | 왜 중요한가 |
|---|---|
| "증권사가 TR을 바꿨을 때 고쳐 줬다" | 키움은 ka10087을 2026-09-12 삭제했습니다. 이런 변경에 판매자가 대응했는지 보여 줍니다 |
| "토큰 만료·재접속에서 멈춘 적이 있다" | 실제로 돌린 사람만 쓰는 내용입니다 |
| "모의투자와 실전 체결이 달랐다" | 백테스트와 실거래의 차이를 겪었다는 신호입니다 |
| "손실 구간이 있었고 얼마였다" | MDD를 말할 수 있으면 전체 기간을 봤을 가능성이 큽니다 |
| "며칠 만에 답이 왔다" | 장중 장애에서는 수익률보다 응답 시간이 먼저 필요합니다 |
사기 전이라면 판매 프로그램 사기 전 확인할 6가지를, 제작을 맡겼다면 납품 검수 체크리스트를 함께 보십시오. 후기보다 내 계좌의 모의 검증이 더 믿을 만한 근거입니다.
알고랩은 프로그램 제작 도구를 제공하며 투자자문업·투자일임업을 영위하지 않습니다. 이 글의 수치는 특정 가정의 과거 시뮬레이션이고 수익을 보장하지 않습니다. 투자 판단과 손익의 책임은 이용자에게 있습니다.
자주 묻는 질문
후기가 많으면 그래도 믿을 만하지 않나요?
수가 많아도 수익이 검증되지는 않습니다. 이 실측에서 무작위 봇도 10.5%가 3개월 +20%를 냈으므로 사용자가 많을수록 수익 후기도 늘어납니다. 구매평은 납품과 소통을 평가한 자료로 읽고, 수익은 시작일이 고정된 전체 기간 기록으로 따로 확인하십시오.
수익 캡처가 진짜인지 어떻게 확인하나요?
화면 한 장으로는 확인하기 어렵습니다. 프로그램 첫 실행일부터 오늘까지의 일별 기록, 기간 중 입금과 출금, 평가손실을 요청하십시오. 키움은 kt00016, KIS는 TTTC8708R과 잔고 조회로 뽑을 수 있습니다. 민감한 정보는 가리고 받으면 됩니다.
무작위 봇 결과로 자동매매가 쓸모없다는 뜻인가요?
아닙니다. 이 실험은 전략의 가치를 잰 것이 아니라 짧은 기간의 수익 화면에 우연이 얼마나 섞이는지 잰 것입니다. 전략은 긴 기간, 비용, 표본 외 검증으로 평가해야 합니다. 22종목은 생존 종목이라 실제보다 좋게 나오는 한계도 있습니다.
좋은 후기는 어떤 내용을 담고 있나요?
증권사 TR 변경에 대응한 경험, 토큰 만료나 재접속으로 멈춘 일, 모의와 실전 체결의 차이, 손실 구간의 크기, 문의에 답이 온 시간이 들어 있으면 실제로 오래 사용했을 가능성이 큽니다.
후기 대신 모의 검증으로 확인하세요
규칙을 정리해 주시면 프로그램을 만들고, 내 계좌의 모의투자와 전체 기간 기록으로 검수할 수 있게 납품합니다. 수익은 약속하지 않습니다. 24시간 빠른 답변 가능합니다.
무료 상담 시작하기