API 레퍼런스

PRUVIQ 데이터로
직접 빌드하세요.

전략 백테스팅, 시장 데이터, OHLCV 캔들을 위한 무료 REST API. API 키 불필요. 분당 30회 제한.


기본 URL
https://api.pruviq.com
요청 제한

IP당 분당 30회

인증

불필요 (공개 API)

응답 형식

JSON

CORS

모든 오리진 허용

인터랙티브 문서

Swagger UI (직접 테스트 가능):

/docs | /redoc

시장 데이터

헬스 체크. API 상태, 로드된 코인 수, 가동 시간 반환.

cURL
curl https://api.pruviq.com/health
응답 예시
{
  "status": "ok",
  "version": "0.3.0",
  "coins_loaded": 572,
  "uptime_seconds": 415785.5
}

시장 개요: BTC/ETH 가격, 공포·탐욕 지수, BTC 도미넌스, 상위 상승/하락, 극단적 펀딩률.

cURL
curl https://api.pruviq.com/market
응답 예시
{
  "btc_price": 66658.4,
  "btc_change_24h": -0.29,
  "eth_price": 2054.17,
  "eth_change_24h": -0.92,
  "fear_greed_index": 9,
  "fear_greed_label": "Extreme Fear",
  "total_market_cap_b": 2377.4,
  "btc_dominance": 56.1,
  "total_volume_24h_b": 93.5,
  "top_gainers": [ ... ],
  "top_losers": [ ... ],
  "extreme_funding": [ ... ]
}

여러 RSS 소스에서 수집한 크립토 뉴스. 정기적으로 갱신.

cURL
curl https://api.pruviq.com/news
응답 예시
[
  {
    "title": "Bitcoin drops below $67K amid macro uncertainty",
    "source": "CoinDesk",
    "url": "https://...",
    "published": "2026-04-03T10:30:00Z"
  },
  ...
]

거시경제 지표, 크립토 파생상품 데이터, 예정된 경제 이벤트.

cURL
curl https://api.pruviq.com/macro
응답 예시
{
  "dxy": { "value": 104.2, "change": -0.3 },
  "us10y": { "value": 4.25, "change": 0.02 },
  "sp500": { "value": 5280, "change": -1.2 },
  "open_interest": { ... },
  "funding_rates": { ... },
  "events": [ ... ]
}

데이터

사용 가능한 모든 코인 목록. 데이터 범위 및 행 수 포함.

cURL
curl https://api.pruviq.com/coins
응답 예시
[
  {
    "symbol": "BTCUSDT",
    "rows": 19800,
    "date_from": "2023-12-30",
    "date_to": "2026-04-03"
  },
  {
    "symbol": "ETHUSDT",
    "rows": 19800,
    "date_from": "2023-12-30",
    "date_to": "2026-04-03"
  },
  ... // 572개 코인
]
GET /coins/stats 직접 호출 →

모든 코인의 사전 계산된 전략 통계. 가격, 거래량, 승률, 수익 팩터 포함.

cURL
curl https://api.pruviq.com/coins/stats
응답 예시
[
  {
    "symbol": "BTCUSDT",
    "price": 66658.4,
    "volume_24h": 28500000000,
    "win_rate": 68.6,
    "profit_factor": 2.22,
    "total_trades": 142
  },
  ...
]
GET /ohlcv/{symbol} 직접 호출 →

OHLCV 캔들 데이터 + 기술 지표 (볼린저 밴드, EMA, 거래량 비율).

Params: symbol (path, 필수), limit (query, 기본값: 3000)
cURL
curl "https://api.pruviq.com/ohlcv/BTCUSDT?limit=168"
응답 예시
{
  "symbol": "BTCUSDT",
  "timeframe": "1H",
  "total_bars": 168,
  "data": [
    {
      "t": 1775178000,
      "o": 66761.8,
      "h": 66881.3,
      "l": 66450.0,
      "c": 66599.0,
      "v": 4087.42,
      "bb_upper": 67266.78,
      "bb_lower": 66077.55,
      "bb_mid": 66672.17,
      "ema20": 66865.21,
      "ema50": 67163.85,
      "vol_ratio": 0.9
    },
    ...
  ]
}
GET /strategies 직접 호출 →

사용 가능한 모든 전략 목록. 기본 파라미터 및 상태 포함.

cURL
curl https://api.pruviq.com/strategies
응답 예시
[
  {
    "id": "bb-squeeze-short",
    "name": "BB Squeeze SHORT",
    "description": "볼린저 밴드 스퀴즈 브레이크아웃. 변동성 수축 후 확장 시 숏 진입.",
    "default_params": {
      "sl_pct": 10.0,
      "tp_pct": 8.0,
      "max_bars": 48,
      "direction": "short",
      "status": "verified"
    }
  },
  ...
]
GET /indicators 직접 호출 →

전략 빌더용 사용 가능한 기술 지표 목록. 필드 및 기본 파라미터 포함.

cURL
curl https://api.pruviq.com/indicators
응답 예시
{
  "bb": {
    "name": "Bollinger Bands",
    "fields": ["bb_upper", "bb_lower", "bb_mid", "bb_width", "is_squeeze", ...],
    "default_params": { "period": 20, "std": 2.0 }
  },
  "ema": {
    "name": "EMA Trend",
    "fields": ["ema_fast", "ema_slow", "uptrend", "downtrend"],
    "default_params": { "fast": 9, "slow": 21 }
  },
  ...
}

랭킹 & 시그널

GET /rankings/daily 직접 호출 →

오늘의 최고 성과 전략을 수익 팩터 기준으로 랭킹. 매일 00:30 UTC 갱신.

cURL
curl https://api.pruviq.com/rankings/daily
응답 예시
{
  "date": "2026-04-03",
  "generated_at": "2026-04-03T00:27:22Z",
  "period": "30d",
  "group": "top50",
  "top3": [
    {
      "rank": 1,
      "name_ko": "켈트너 스퀴즈 LONG 6H",
      "name_en": "Keltner Squeeze LONG 6H",
      "strategy": "keltner-squeeze",
      "direction": "long",
      "win_rate": 54.17,
      "profit_factor": 1.78,
      "total_return": 0.58,
      "total_trades": 24,
      "sharpe": 3.19,
      "max_drawdown": 0.34,
      "rank_change": 0,
      "streak": 3
    },
    ...
  ]
}
GET /signals/live 직접 호출 →

모든 활성 전략의 실시간 트레이딩 시그널. 진입가, 방향, SL/TP 포함.

cURL
curl https://api.pruviq.com/signals/live
응답 예시
[
  {
    "strategy": "ma-cross",
    "strategy_name": "MA Cross",
    "coin": "ETHUSDT",
    "direction": "short",
    "signal_time": "2026-04-03T02:00:00",
    "entry_price": 2049.44,
    "status": "verified",
    "sl_pct": 5,
    "tp_pct": 10
  },
  {
    "strategy": "heikin-ashi",
    "strategy_name": "Heikin Ashi Trend",
    "coin": "BEAMXUSDT",
    "direction": "long",
    "signal_time": "2026-04-03T02:00:00",
    "entry_price": 0.00171,
    "status": "research",
    "sl_pct": 7,
    "tp_pct": 8
  },
  ...
]
GET /hot-strategies 직접 호출 →

최근 30일 상위 50코인 기준 핫 전략 랭킹.

cURL
curl https://api.pruviq.com/hot-strategies
응답 예시
{
  "strategies": [
    {
      "strategy_id": "supertrend",
      "strategy_name": "SuperTrend",
      "direction": "short",
      "status": "research",
      "period": "30d",
      "profit_factor": 4.11,
      "win_rate": 60.0,
      "total_trades": 5,
      "total_return_pct": 5.9
    },
    ...
  ]
}

시뮬레이션

POST /simulate

여러 코인에서 전략 시뮬레이션 실행. 종합 성과 지표 및 자산 곡선 반환.

요청 본문
{
  "strategy": "bb-squeeze-short",
  "sl_pct": 10.0,
  "tp_pct": 8.0,
  "max_bars": 48,
  "market_type": "futures",
  "top_n": 50
}
cURL
curl -X POST https://api.pruviq.com/simulate \
  -H "Content-Type: application/json" \
  -d '{"strategy":"bb-squeeze-short","sl_pct":10,"tp_pct":8,"top_n":50}'
응답 예시
{
  "strategy": "bb-squeeze-short",
  "direction": "short",
  "total_trades": 1247,
  "win_rate": 68.6,
  "profit_factor": 2.22,
  "total_return_pct": 142.5,
  "sharpe_ratio": 3.45,
  "max_drawdown_pct": 8.2,
  "avg_bars_held": 12.3,
  "equity_curve": [ ... ]
}
POST /simulate/coin

단일 코인 시뮬레이션. 진입/청산 가격이 포함된 개별 거래 상세 반환.

요청 본문
{
  "symbol": "BTCUSDT",
  "sl_pct": 10.0,
  "tp_pct": 8.0,
  "max_bars": 48,
  "direction": "short",
  "market_type": "futures"
}
cURL
curl -X POST https://api.pruviq.com/simulate/coin \
  -H "Content-Type: application/json" \
  -d '{"symbol":"BTCUSDT","sl_pct":10,"tp_pct":8,"max_bars":48,"direction":"short","market_type":"futures"}'
응답 예시
{
  "symbol": "BTCUSDT",
  "total_trades": 42,
  "win_rate": 71.4,
  "profit_factor": 2.85,
  "trades": [
    {
      "entry_time": "2025-06-15T14:00:00",
      "exit_time": "2025-06-16T02:00:00",
      "entry_price": 67500.0,
      "exit_price": 62100.0,
      "pnl_pct": 8.0,
      "result": "tp"
    },
    ...
  ]
}
POST /simulate/compare

동일 조건(동일 SL/TP, 동일 코인)에서 모든 전략 비교.

Note: 장시간 실행되는 백테스트(top_n이 크거나 기간이 넓은 경우)는 비동기 처리가 필요할 수 있습니다. 타임아웃을 방지하려면 top_n을 줄이거나(예: 50), 기간을 좁히거나, 여러 개의 작은 요청으로 분할하세요.
요청 본문
{
  "sl_pct": 10.0,
  "tp_pct": 8.0,
  "max_bars": 48,
  "top_n": 50
}
cURL
curl -X POST https://api.pruviq.com/simulate/compare \
  -H "Content-Type: application/json" \
  -d '{"sl_pct":10,"tp_pct":8,"max_bars":48,"top_n":50}'
응답 예시
{
  "params": { "sl_pct": 10.0, "tp_pct": 8.0, "top_n": 50 },
  "results": [
    {
      "strategy": "bb-squeeze-short",
      "win_rate": 68.6,
      "profit_factor": 2.22,
      "total_trades": 1247,
      "sharpe": 3.45
    },
    {
      "strategy": "ma-cross-short",
      "win_rate": 55.2,
      "profit_factor": 1.45,
      "total_trades": 890,
      "sharpe": 1.82
    },
    ...
  ]
}
POST /simulate/validate

전체 시뮬레이션 실행 전 전략 설정을 검증.

요청 본문
{
  "strategy": "bb-squeeze-short",
  "sl_pct": 10.0,
  "tp_pct": 8.0
}
cURL
curl -X POST https://api.pruviq.com/simulate/validate \
  -H "Content-Type: application/json" \
  -d '{"strategy":"bb-squeeze-short","sl_pct":10,"tp_pct":8}'
응답 예시
{
  "valid": true,
  "strategy": "bb-squeeze-short",
  "warnings": []
}

전략 빌더

POST /backtest

조건 엔진을 사용한 커스텀 전략 백테스트. 전략 빌더 전체 지원.

요청 본문
{
  "name": "내 전략",
  "direction": "short",
  "indicators": { "bb": {}, "volume": {} },
  "entry": {
    "type": "AND",
    "conditions": [
      { "field": "bb_squeeze", "op": "==", "value_bool": true },
      { "field": "vol_ratio", "op": ">", "value": 2.0 }
    ]
  },
  "sl_pct": 10.0,
  "tp_pct": 8.0,
  "max_bars": 48,
  "top_n": 50
}
cURL
curl -X POST https://api.pruviq.com/backtest \
  -H "Content-Type: application/json" \
  -d '{"name":"My Strategy","direction":"short","indicators":{"bb":{},"volume":{}},"entry":{"type":"AND","conditions":[{"field":"bb_squeeze","op":"==","value_bool":true},{"field":"vol_ratio","op":">","value":2.0}]},"sl_pct":10,"tp_pct":8,"top_n":50}'
응답 예시
{
  "name": "내 전략",
  "direction": "short",
  "total_trades": 856,
  "win_rate": 62.3,
  "profit_factor": 1.89,
  "sharpe_ratio": 2.67,
  "max_drawdown_pct": 11.4,
  "equity_curve": [ ... ],
  "per_coin": [ ... ]
}
GET /builder/presets 직접 호출 →

전략 빌더용 프리셋 전략 템플릿 목록.

cURL
curl https://api.pruviq.com/builder/presets
응답 예시
[
  {
    "id": "bb-squeeze-short",
    "name": "BB Squeeze SHORT",
    "direction": "short",
    "indicators": ["ema", "bb", "volume"],
    "conditions_count": 7,
    "sl_pct": 10.0,
    "tp_pct": 8.0
  },
  {
    "id": "bb-squeeze-long",
    "name": "BB Squeeze LONG",
    "direction": "long",
    "indicators": ["ema", "bb", "volume"],
    "conditions_count": 7,
    "sl_pct": 7.0,
    "tp_pct": 6.0
  },
  ...
]
GET /builder/presets/{preset_id} 직접 호출 →

편집을 위한 프리셋 전략의 전체 JSON 정의 반환.

Params: preset_id (path, 필수)
cURL
curl https://api.pruviq.com/builder/presets/bb-squeeze-short
응답 예시
{
  "id": "bb-squeeze-short",
  "name": "BB Squeeze SHORT",
  "direction": "short",
  "indicators": { "bb": {}, "ema": {}, "volume": {} },
  "entry": {
    "type": "AND",
    "conditions": [
      { "field": "bb_squeeze", "op": "==", "value_bool": true },
      { "field": "vol_ratio", "op": ">", "value": 2.0 },
      ...
    ]
  },
  "sl_pct": 10.0,
  "tp_pct": 8.0,
  "max_bars": 48
}
GET /builder/indicators 직접 호출 →

전략 빌더용 사용 가능한 기술 지표 목록. 필드 및 기본 파라미터 포함.

cURL
curl https://api.pruviq.com/builder/indicators
응답 예시
{
  "bb": {
    "name": "Bollinger Bands",
    "fields": ["bb_upper", "bb_lower", "bb_mid", "bb_width", "is_squeeze", ...],
    "default_params": { "period": 20, "std": 2.0 }
  },
  ...
}

빠른 시작

설정 없이 바로 시작하세요.

Python
import requests

# 시장 개요 가져오기
market = requests.get("https://api.pruviq.com/market").json()
print(f"BTC: {market['btc_price']:,.0f{'}'}")
print(f"공포·탐욕: {'{'}market['fear_greed_index']{'}'}")

# BB Squeeze SHORT 시뮬레이션 (상위 50 코인)
result = requests.post("https://api.pruviq.com/simulate", json={
    "strategy": "bb-squeeze-short",
    "sl_pct": 10.0,
    "tp_pct": 8.0,
    "top_n": 50
}).json()

print(f"승률: {'{'}result['win_rate']{'}'} %")
print(f"수익 팩터: {'{'}result['profit_factor']{'}'}")
print(f"총 거래: {'{'}result['total_trades']{'}'}")

# BTCUSDT OHLCV 데이터 (최근 168봉 = 7일)
ohlcv = requests.get("https://api.pruviq.com/ohlcv/BTCUSDT", params={"limit": 168}).json()
print(f"캔들 수: {'{'}ohlcv['total_bars']{'}'}")
cURL
# 헬스 체크
curl https://api.pruviq.com/health

# 시장 개요
curl https://api.pruviq.com/market

# OHLCV 데이터 (최근 168봉)
curl "https://api.pruviq.com/ohlcv/ETHUSDT?limit=168"

# 오늘의 전략 랭킹
curl https://api.pruviq.com/rankings/daily

# 실시간 시그널
curl https://api.pruviq.com/signals/live

# 시뮬레이션 실행
curl -X POST https://api.pruviq.com/simulate \
  -H "Content-Type: application/json" \
  -d '{"strategy":"bb-squeeze-short","sl_pct":10,"tp_pct":8,"top_n":50}'
JavaScript
// 사용 가능한 전략 목록
const strategies = await fetch("https://api.pruviq.com/strategies").then(r => r.json());
console.log(strategies.map(s => s.name));

// 오늘의 랭킹
const rankings = await fetch("https://api.pruviq.com/rankings/daily").then(r => r.json());
console.log(`1위: ${rankings.top3[0].name_ko} (PF: ${rankings.top3[0].profit_factor})`);

// 단일 코인 시뮬레이션
const sim = await fetch("https://api.pruviq.com/simulate/coin", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    symbol: "SOLUSDT",
    sl_pct: 10, tp_pct: 8, max_bars: 48,
    direction: "short", market_type: "futures"
  })
}).then(r => r.json());

console.log(`거래: ${sim.total_trades}, 승률: ${sim.win_rate}%`);

출시 예정

Python SDK와 WebSocket 피드가 개발 중입니다. X에서 최신 소식을 확인하세요.