2. 실현 가능성 확인
지난 포스팅 리뷰
아래와 같은 시스템을 설계하려했다.
- 입력
- ROIC(마진의 간접적인 지표), FCF(현금흐름)등의 지표들 (이하 필터)
- 보유기간
- 출력
- 필터에 맞는 기업들의 평균 수익률
- 필터에 맞는 최신 기업들 리스팅

실현 가능성 확인
필요한 요소
목표한 입력과 출력을 만족하기 위해서는 데이터가 필요하다. 금융 및 주식 데이터의 경우 yfinance 데이터가 유명하기 때문에 해당 데이터를 사용하려 했다.
하지만 몇개의 api를 사용해보니 데이터 결측도 많이 존재하는 것으로 보였고, 데이터양 또한 3~4년정도로 적었기 때문에 만족스러운 라이브러리는 아니였다.
fmp api를 이용한 데이터 수집
그러던 중 fmp(Financial Modeling Prep) api를 알게되어 사용해보기로 결정했다.
15000원정도에 5개년치 데이터를 일관되게 제공해주기 때문에, 프로젝트 목표에만 집중할 수 있다고 생각이 되었다.
아래와 같이 사용한 API와, yfinance 와의 비교 표를 정리하였다.
FMP에서 사용한 API 요약
| API 구분 | Endpoint (Base URL) | 주요 파라미터 | 데이터 용도 |
|---|---|---|---|
| 일별 종가 데이터 | /historical-price-eod/full | symbol | 상장 이후 전체 주가 이력 수집 (수익률 계산 및 백테스팅용) |
| 현금흐름표 | /cash-flow-statement | limit=5, period=annual | 최근 5년치 연간 현금흐름 분석 (영업현금흐름, FCF 확인용) |
| 재무상태표 | /balance-sheet-statement | limit=5, period=annual | 최근 5년치 연간 자산/부채/자본 확인 (PBR, 부채비율 계산용) |
yfinance api와 fmp api의 비교
| 항목 | yfinance | Financial Modeling Prep (fmp) |
|---|---|---|
| 데이터 기간 | 최근 3~4년 (제한적) | 최대 30년 |
| 수집 방식 | 라이브러리 기반 스크래핑 | 공식 REST API |
| 데이터 품질 | 가끔 누락되거나 포맷이 깨짐 | 비교적 일관적이고 정확함 |
| 제공 지표 | 원천 데이터 위주 | PER, ROE 등 가공 지표 포함 |
| 비용 | 무료 | 유료 (하지만 가치에 투자하기로 함) |