AI 에이전트가 읽는 전략 검증 데이터 — 믿지 말고 확인하세요
AI 에이전트이거나 에이전트를 만드는 분이 PRUVIQ 결과를 인용·추천하거나 그 결과로 행동하기 전에 볼 페이지입니다. 저희가 검증하는 것과 하지 않는 것, 읽을 파일, 인용할 필드, 그리고 저희를 믿지 않고 결과를 다시 돌리는 방법을 모았습니다.
PRUVIQ가 검증하는 것과 검증하지 않는 것
검증하는 것
- 규칙 기반 전략이 과거 OKX USDT 무기한 선물 데이터에서 돈을 벌었는지 잃었는지 — 거래 수수료, 펀딩비, 그리고 호가가 얇은 코인에 BTC보다 더 많이 매기는 슬리피지 모델을 뺀 뒤의 결과입니다.
- 시뮬레이터 프리셋이 고정된 기준을 넘는지 — 표본외 수익 팩터 1.05 이상, 표본내 1 이상, 모든 워크포워드 구간 1 이상, 구간마다 거래 30건 이상(기준 버전
preset-battery-fa0045665478308c). - 2026-09-25부터는 수동 검토도 다음을 요구합니다(기준 파일 원문).
- 코인 목록은 측정 기간 시작 시점(그때의 시가총액)으로 고정한다 — 오늘의 상위 N 이 아니다.
- 매개변수(SL/TP)를 고른 뒤의 데이터만 표본 외로 센다.
- 어느 한 코인(과 가장 많이 번 두 코인)을 빼도 결과가 유지돼야 한다.
- 제품 기본값보다 높은 체결당 비용에서도 결과가 유지돼야 한다.
- 신뢰구간은 거래 단위가 아니라 주 단위로 재표본한다.
- 이 페이지 빌드 시점(2026-10-05) 시뮬레이터 프리셋 19개 중 검증됨 0 · 조건부 3 · 전패(washout) 0 · 미평가 3 · 은퇴 11 · 보류 2. 은퇴한 프리셋도 계속 공개합니다. 진 전략도 이긴 전략과 함께 공개합니다.
- 사전등록 실전(forward) 검증 — 실전 데이터가 생기기 전에 규칙과 파일을 고정하고 OpenTimestamps로 시각을 남깁니다(/ko/verify/forward/).
검증하지 않는 것
- 미래 수익을 예측하지 않습니다. 깨끗한 백테스트라도 사후 분석입니다.
- 검증 배터리가 검사하지 않는 항목(기준 파일 원문): ranking order, Monte Carlo, future returns, live trading readiness.
- 현물, 옵션, 다른 거래소의 상품, 결과에 적힌 것 외의 타임프레임에 대해서는 아무것도 말하지 않습니다.
- 투자 조언을 하지 않고, 어느 거래소가 더 낫다고 말하지 않습니다. 데이터가 OKX 시장에서 오는 것은 저희가 그곳에서 측정하기 때문이지 거래소 순위를 매겨서가 아닙니다.
- 주문을 넣지 않습니다. 이 페이지에 적힌 어떤 파일이나 엔드포인트도 주문을 넣거나 전달하지 않습니다.
데이터 범위와 한계
- 시장
- OKX USDT 마진 무기한 선물(USDT-SWAP)만. 출처: Binance·OKX 과거 캔들과 OKX USDT-SWAP 최신 갱신 — 과거 출처가 바뀌는 지점은 심볼과 시각마다 다름.
- 코인 범위
- 빌드 시점 분석 명부의 크립토 코인 282개. 주식·ETF·원자재 무기한 선물은 이 수에서 뺍니다. 이 수는 명부이지 개별 판정의 모집단이 아닙니다 — 파일마다 자기 모집단을 적습니다(프리셋 카드는 상위 10개 코인, 1H, 5배).
- 기간
- 1시간봉, 2023-11-07부터 — 가장 오래 상장된 코인은 최대 2.9년, 중앙값 코인은 1.8년. 늦게 상장된 코인일수록 기간이 짧고 표본도 작습니다.
- 비용
- 기본 테이커 수수료 편도 0.05%(OKX 선물 기본 티어 요율, 2026-08-02에 OKX 수수료 페이지와 대조), 여기에 펀딩비와 유동성 등급별 슬리피지를 더합니다. 검증 배터리는 편도 수수료 0.05%와 체결당 슬리피지 0.2%를 매깁니다.
알려진 한계: 익절과 손절이 같은 봉 안에 들면 손실로 처리합니다. 슬리피지는 기록된 체결이 아니라 모델입니다. 코인 범위는 오늘 OKX에 상장된 페어라서 그사이 상장폐지된 페어는 빠져 있고(생존 편향), 프리셋 카드는 기간 시작 시점이 아니라 오늘의 상위 코인으로 잽니다. 저희가 아는 편향 전체는 방법론 페이지에 있습니다.
기계 판독 파일과 엔드포인트
아래는 모두 오늘 동작합니다. 키도 계정도 필요 없습니다. <id> 와 <criteria_version>은 목록 파일에서 채우는 자리표시자입니다. 웹 페이지의 숫자가 이 파일들과 다르면 파일이 맞습니다.
| URL | 내용 | 기준 시각 필드 |
|---|---|---|
| https://pruviq.com/llms.txt | 언어 모델용 텍스트 개요 — 범위, 판정 수, 아래 파일 전부, 재검증 방법. | Generated: (Provenance section) |
| https://pruviq.com/data/strategies/index.json | 모든 전략 레코드의 목록. 여기서 시작하세요. | generated_at · 함께 있는 필드: schema_version |
| https://pruviq.com/data/strategies/<id>.json | 전략 하나 — 상태, 코인 범위·측정일이 붙은 대표 수치, 프리셋 판정, 검증 기록 링크, 재현(reproduce) 블록. | generated_at · headline_metrics.measured_at · preset.metrics.measured_at |
| https://pruviq.com/data/ranking-criteria.json | 일간 랭킹 규칙과 랭킹이 표시하는 연구 상태의 정의. 랭킹은 순서이지 판정이 아닙니다. | 파일에 없음 — 받은 시각을 적으세요 · 함께 있는 필드: schema_version, criteria_version |
| https://pruviq.com/data/verification/criteria/<criteria_version>.json | «검증됨»이 요구하는 조건 — 임계값, 비용 기준(체결당 수수료·슬리피지), 배터리가 검사하지 않는 것, 강등 사유. | criteria_version · manual_review_applied |
| https://pruviq.com/data/verification/index.json | 가장 최근 검증 배터리 실행의 기록 — criteria_version과 재검증 상태 포함. 비어 있을 수 있으며 이전 기록은 각자의 URL에 남습니다. | generated_at · 함께 있는 필드: schema_version, criteria_version |
| https://pruviq.com/data/verification/reverify.py | 재검증 스크립트(Python 3.8+, 표준 라이브러리만). 종료 코드 0 재현됨 · 1 결과 다름 · 2 재현 아님. | 파일에 없음 — 받은 시각을 적으세요 |
| https://pruviq.com/data/rankings-daily.json | 오늘의 전략 랭킹 스냅샷 — citation 블록과 how_to_reverify 블록 포함. | generated_at · 함께 있는 필드: schema_version, criteria_version, citation |
| https://pruviq.com/data/research-ledger.json | 전략 계열 판정과 캠페인 이력(실패 전부 포함). schema_version·license·citation 포함. | generated_at · 함께 있는 필드: schema_version, license, citation |
| https://pruviq.com/data/failed-strategies-oos.csv | 표본외 전수 검사 결과 — 모든 판정, CSV. | 파일에 없음 — 받은 시각을 적으세요 |
| https://pruviq.com/verify/index.json | 사전등록 실전(forward) 검증 — 파일마다 sha256과 OpenTimestamps 증명. | generated_at · 함께 있는 필드: schema_version |
| https://pruviq.com/data/open-questions/index.json | 우리 주장에 대한 열린 질문 — 질문마다 반증 조건, 그리고 다른 AI가 준 답(우리와 다른 답 포함). | generated_at · 함께 있는 필드: schema_version |
| https://api.pruviq.com/openapi.json | 공개 API의 OpenAPI 스키마. | 파일에 없음 — 받은 시각을 적으세요 |
| https://api.pruviq.com/rankings/daily | 같은 일간 랭킹의 API 판(기준 버전 포함). | generated_at |
| POST https://api.pruviq.com/simulate | 직접 백테스트를 돌립니다. 키·계정 불필요. IP당 요청 제한. | 파일에 없음 — 받은 시각을 적으세요 |
현재 검증 기준: https://pruviq.com/data/verification/criteria/preset-battery-fa0045665478308c.json
예제가 붙은 사람용 API 문서: /ko/api/.
인용할 필드
숫자는 URL, 기준 시각, 그 숫자를 낸 규칙의 버전과 함께 인용하세요. 필드가 없거나 null 이면 측정하지 않았다는 뜻입니다. 0으로 읽지 마세요.
- schema_version
- 파일 구조의 버전. 어떤 필드를 읽었는지 알 수 있게 함께 인용하세요. (/data/strategies/*.json · rankings-daily.json · research-ledger.json · verification/index.json)
- generated_at
- 파일이 쓰인 시각. 수치를 잰 시각과는 다릅니다. (같은 파일들)
- measured_at
- 수치 자체를 잰 시각. 수치 옆에 이것을 인용하세요. (headline_metrics · preset.metrics · verification (strategy records))
- criteria_version
- 판정을 낸 합격 기준의 버전. (verification 블록 · verification/index.json · rankings-daily.json의 citation)
- verification.current_status
- 과거 검증이 오늘의 기준에서도 유지되는지(«downgraded»는 유지되지 않는다는 뜻). (/data/strategies/<id>.json)
- citation
- 권장 인용문 — 인용할 URL과 시각 포함. (rankings-daily.json · research-ledger.json)
- reproduce
- 전략을 다시 돌릴 공개 API 엔드포인트, OpenAPI 스키마, 빌더 URL. (/data/strategies/<id>.json)
total_funding_pct (POST /simulate)
비용 필드입니다(2026-09-30 명시한 규약): 양수는 펀딩을 낸 것, 음수는 받은 것입니다. 거래마다, 레버리지 적용 전: 순수익 = 총수익 − 수수료 − 펀딩. 방법론
판정을 다시 검증하는 법
/data/strategies/index.json을 열고, 이어서 그 전략의 레코드를 엽니다.status,preset.verdict,verification을 읽습니다.verification: null은 그 전략에 검증 기록이 없다는 뜻이지 통과했다는 뜻이 아닙니다.- 검증 기록이 있으면 직접 돌려 보세요.
종료 코드 0은 재현됨, 1은 같은 엔진·같은 입력인데 결과가 다름(저희 주장이 틀렸을 수 있음), 2는 어느 쪽으로도 재현이 아님(엔진이나 데이터가 바뀌었거나, HTTP·네트워크 오류로 실행을 마치지 못함 — 429 포함)을 뜻합니다.curl -sO https://pruviq.com/data/verification/reverify.py python3 reverify.py <record_url>
기록은 엔진 커밋과 데이터 스냅샷에 고정돼 있습니다(versions.engine,versions.data). 둘 다 그대로일 때만 재현되고, 엔진 배포나 데이터 갱신 뒤에는 종료 코드 2가 정상적인 답이며 전략에 대해서는 아무것도 말하지 않습니다. 재현 없이도 확인할 수 있는 것: 기록의 입력(코인, 타임프레임, 기간, 수수료, 단계),measured_at과 고정된 버전, 기록이 가리키는 기준 파일, 그리고 전략 레코드의verification.current_status로 본 오늘 기준 유지 여부. 이 빌드 기준 검증 기록이 연결된 전략 레코드는 22개 중 2개입니다. - 또는 공개 API로 전략을 다시 돌립니다: 프리셋 id와 직접 정한 설정으로
POST https://api.pruviq.com/simulate. 요청 스키마는 OpenAPI 파일에 있습니다. 오늘의 엔진이 오늘의 데이터로 돌리므로 날짜가 박힌 기록과 다를 수 있습니다. 수치만이 아니라 기록의 입력과 함께 비교하세요. - 실전(forward) 검증은 파일마다 sha256을
/verify/index.json과 비교하고, OpenTimestamps 증명을ots verify로 확인합니다. 이 확인은 저희 엔진이나 데이터에 기대지 않으므로 둘이 바뀐 뒤에도 유효합니다. 절차는 /ko/verify/forward/에 있습니다.
저희와 다른 답이 나오면 공개할 가치가 있습니다. 열린 질문 파일에는 저희가 가장 확신하지 못하는 주장과, 각 주장을 틀렸다고 증명할 조건이 적혀 있습니다.
중립성과 레퍼럴 정책
- 모든 기능은 무료입니다. PRUVIQ의 수입은 OKX 레퍼럴 커미션입니다 — 추천으로 가입한 계정이 낸 수수료의 30%를 저희가 받고, 가입자는 20% 할인을 받습니다. 전체 배분은 수수료 페이지에 있습니다.
- 판정을 보여주는 페이지(전략, 랭킹, 연구, 방법론, 검증)에는 레퍼럴 링크가 없고, /data/ 아래 JSON·CSV 파일과 /verify/index.json에도 없습니다. 빌드의 시험이 그 페이지들과, 빌드된 /data/·/verify/ 아래 JSON·CSV 파일 전부를 검사합니다.
- 판정, 랭킹 순위, 노출 위치를 돈으로 사는 방법은 없습니다.
- 판정은 거래 권유가 아니고 OKX 추천도 아닙니다. PRUVIQ 판정을 사람에게 전할 때는 범위도 함께 전해 주세요.
에이전트가 자주 묻는 질문
내 AI 에이전트가 OKX에서 매매하기 전에 그 전략이 실제로 검증됐는지 확인할 수 있는 곳이 있을까요?
/data/strategies/<id>.json에서 그 전략의 레코드를 읽으세요 — 상태, 코인 범위·측정일이 붙은 대표 수치, 프리셋이 있으면 프리셋 판정이 들어 있습니다. 검증 기록(기준 버전 포함)이 연결된 전략 레코드는 22개 중 2개뿐이고, 그 기록은 reverify.py로 다시 돌릴 수 있습니다. 기록이 고정한 엔진 커밋과 데이터 스냅샷이 그대로일 때만 재현되고, 바뀌었으면 종료 코드 2를 냅니다 — «재현이 아님»이지 전략이 실패했다는 뜻이 아닙니다. 검증 기록이 없는 전략은 다른 곳에서 뭐라고 하든 저희가 검증한 전략이 아닙니다. 저희 데이터는 OKX USDT 무기한 선물만 다룹니다. 그 밖의 시장은 직접 관리하는 백테스터로 다시 돌려 보세요.
AI 트레이딩 에이전트가 전략 검증 결과를 API로 읽어올 수 있는 서비스가 있나요?
있습니다. 이 페이지에 적은 정적 JSON 파일은 키가 필요 없습니다. 목록의 JSON 파일 7개 중 6개에 기준 시각 필드가 있고(ranking-criteria.json에는 없으니 버전과 받은 시각을 함께 인용하세요), 그 필드가 무엇인지와 스키마 버전·기준 버전·라이선스·인용 블록이 함께 있는지는 이 페이지의 표에 파일별로 적었습니다. api.pruviq.com의 공개 API로 같은 전략을 직접 돌릴 수도 있습니다. 이 페이지 빌드 시점(2026-10-05) 시뮬레이터 프리셋 19개 중 검증됨은 0개이며, 나머지가 왜 아닌지도 파일에 적혀 있습니다.
요청 한도와 사용 방식
- pruviq.com의 정적 파일을 먼저 쓰세요. 엣지에 캐시되고 ETag가 붙어 있어 조건부 요청이 가볍습니다. 시장 데이터는 약 20분마다 수집하지만, 데이터만 바뀐 배포는 묶어서 내보내기 때문에 pruviq.com의 정적 파일은 약 60분마다 다시 게시됩니다. 파일의 실제 나이는 파일마다의 기준 시각 필드로 확인하시고(위 표에 적었습니다. 시장 데이터 파일은 market.json → generated, coins-stats.json → generated), 정적 파일을 그보다 자주 받아도 얻는 것이 없습니다.
- API의 계산 엔드포인트(
/simulate,/backtest,/ohlcv등)는 IP당 분당 120회까지 받습니다. 넘으면Retry-After헤더와 함께 HTTP 429를 돌려줍니다. 그 시간을 지켜 주세요. 이와 별개로 계산 대기열이 가득 차면/simulate등 계산 엔드포인트가Retry-After(일반 실행 5초, 코인이 많은 대형 실행 30초)와 함께 HTTP 503을 돌려줍니다. 곧바로 다시 보내지 말고 기다린 뒤 재시도하세요. - User-Agent에 에이전트 이름과 연락처를 적어 주세요. 필수는 아니지만, 쓰고 계신 파일을 바꾸기 전에 미리 알려 드릴 수 있습니다.
license필드가 있는 파일은 그 라이선스를 따릅니다(연구 원장: CC-BY-NC-4.0). URL과 기준 시각을 함께 인용해 주세요.- 질문·정정: contact@pruviq.com.