콘텐츠로 건너뛰기

7-2. 금융 데이터 제공 업체(Financial Data Provider)

  • 기준

야후 파이낸스나 인베스팅닷컴 또는 네이버의 차트는 실제 데이터가 들어가 있습니다. 지금까지 우리는 더미데이터만 갖고 있습니다.

실제 시장 데이터를 수집하고 디비에 저장하는 과정을 먼저 선행 하겠습니다. 가장 쉽게 구할수 있는 BitCoin데이터를 기준으로 하겠습니다.

실제 가격 데이터를 제공하는 이러한 API 제공업체를 금융 데이터 제공업체(Financial Data Provider) 또는 마켓 데이터 벤더(Market Data Vendor)라고 합니다.

이러한 업체는 유,무료로 REST API나 WebSocket 등을 통해 주가, 재무제표, 경제 지표 등을 소프트웨어에 바로 연동할 수 있게 해주고 있습니다.

금융 데이터 수신 방식

REST API는 ‘필요할 때마다 주문하는 키오스크’이고, WebSocket은 ‘끊기지 않고 계속 흐르는 TV 중계’라고 생각해도 무방합니다.

REST API (Request-Response 방식)

가장 보편적인 통신 방식입니다. 클라이언트(사용자)가 서버에 요청을 보내면, 서버가 그에 맞는 응답을 주고 연결을 바로 끊습니다.

클라이언트가 “비트코인 현재가 줘”라고 요청(GET)하면 서버가 “6만불이야”라고 대답하고 끝납니다.

[백엔드]=>[BitCoin 가격 요청]=>FDP=>[$60,000]=>[백엔드]

장점

  • 구조가 단순하고 표준화되어 있어 구현이 쉽습니다.
  • 과거 데이터(Historical Data)나 재무제표처럼 한 번 가져오면 변하지 않는 정적 데이터를 불러오기에 최적입니다.

단점

  • 실시간 주가처럼 초 단위로 변하는 데이터를 보려면 계속 새로고침(Polling)을 해야 하므로 서버와 클라이언트 모두에 부하가 큽니다.
WebSocket (Full-Duplex, 양방향 방식)

한 번 연결(Handshake)을 맺고 나면, 어느 한쪽이 끊기 전까지 연결이 계속 유지됩니다.

처음에 “나 비트코인 시세 계속 볼래”라고 연결해두면, 서버는 시세가 변할 때마다 요청이 없어도 클라이언트에게 데이터를 계속 쏴줍니다(Push).

WebSocket bidirectional communication diagram, AI 생성

장점

  • 지연 시간(Latency)이 매우 짧아 실시간 체결창, 호가창(Order Book) 구현에 필수적입니다.
  • 매번 헤더 정보를 보낼 필요가 없어 통신 효율이 좋습니다.

단점

  • 연결을 계속 유지해야 하므로 서버 자원을 상시 점유하며, 연결이 끊겼을 때 재연결(Reconnect) 로직을 직접 구현해야 합니다.

금융 데이터 제공 업체별 REST API 제한사항(25년 말 기준)

클라이언트 무료 플랜 분당 시간당 일일 월간
FMP 250 calls/day 5 calls/min 250 calls 250 calls 7,500 calls
Tiingo 500 calls/day 50 calls 1,000 calls 1GB
Alpha Vantage 25 calls/day 5 calls 500 calls 500 calls 15,000 calls
Polygon 5 calls/min 5 calls 300 calls 7,200 calls 216,000 calls
TwelveData 800 calls/day 8 calls 800 calls 800 calls 24,000 calls
Binance 무제한 1,200 calls 72,000 calls 1,728,000 calls 51,840,000 calls
Coinbase 무제한 10,000 calls 10,000 calls 240,000 calls 7,200,000 calls
CoinMarketCap 10,000 calls/month 333 calls 20,000 calls 480,000 calls 10,000 calls
CoinGecko 10-30 calls/min 10-30 calls 600-1,800 calls 14,400-43,200 calls 432,000-1,296,000 calls
Finnhub 60 calls/min 60 calls 3,600 calls 86,400 calls 2,592,000 calls

💡WebSocket은 심화에서 설명하겠습니다.

금융 데이터 제공업체는 위 어느곳을 사용해도 상관없으나 코인은 바이낸스 주식은 FMP로 하겠습니다. 가장 많은 히스토리 데이터와 티커를 제공합니다. 다만 하루 무료 제한이 250 calls/day이 있으나 연습에 있어 충분합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다