FinanceData / FinanceDataReader

Financial data reader
1.15k stars 363 forks source link

거래량 값이 데이터 소스별로 다릅니다. 확인 부탁드립니다. #210

Open AcornInvest opened 5 months ago

AcornInvest commented 5 months ago

거래량을 구하는데 DataReader() 함수를 사용하고 있습니다. 그런데 일부 종목에서 데이터 소스별로 거래량이 다르게 나옵니다.

image

yahoo 의 경우에는 거래량량도 수정주가를 반영한 것이라고 알고 있는데, naver는 원래 거래량을 사용하지 않나요? KRX 와 데이터가 다릅니다.

그리고 이와는 위의 예시에서 별개로 naver는 2003-09-23 의 데이터가 누락되어 있습니다. 이것 말고도 일부 종목에서 일부 날짜의 데이터가 누락되어 있는 것들이 있습니다.

확인 부탁드립니다.

FinanceData commented 2 months ago

각 사이트의 원천데이터를 살펴보시는 것을 권해드립니다. FinanceDataReader는 원천 데이터를 크롤링해서 거의 그대로 표시하기 때문에 값의 차이는 원천 데이터에 기인합니다.

사이트 별로 수정주가를 계산하는 방법의 차이가 있을 수 도 있습니다.

다음은 데이터 소스별 간단한 테스트 입니다 (아래 테스트에서는 차이가 없어 보입니다)

code, start, end = '000100', '2024-01-01', '2024-01-10'
fdr.DataReader(f'KRX:{code}', start, end)
fdr.DataReader(f'YAHOO:{code}.KS', start, end)
fdr.DataReader(f'NAVER:{code}', start, end)
fdr.DataReader(f'{code}', start, end)
>>> fdr.DataReader(f'KRX:{code}', start, end)
             Open   High    Low  Close  Volume  Change
Date
2024-01-02  68800  68900  67300  67800  377268 -0.0145
2024-01-03  68400  69800  68000  68800  562166  0.0147
2024-01-04  68300  68300  66100  66300  371864 -0.0363
2024-01-05  66300  66900  65200  65900  301451 -0.0060
2024-01-08  66100  66500  64300  64400  244527 -0.0228
2024-01-09  65200  65800  64200  64500  239025  0.0016
2024-01-10  64900  65300  64000  64800  186172  0.0047

>>> fdr.DataReader(f'YAHOO:{code}.KS', start, end)
               Open     High      Low    Close  Adj Close  Volume
Date
2024-01-02  68800.0  68900.0  67300.0  67800.0    67800.0  377268
2024-01-03  68400.0  69800.0  68000.0  68800.0    68800.0  562166
2024-01-04  68300.0  68300.0  66100.0  66300.0    66300.0  371864
2024-01-05  66300.0  66900.0  65200.0  65900.0    65900.0  301451
2024-01-08  66100.0  66500.0  64300.0  64400.0    64400.0  244527
2024-01-09  65200.0  65800.0  64200.0  64500.0    64500.0  239025

>>> fdr.DataReader(f'NAVER:{code}', start, end)
             Open   High    Low  Close  Volume    Change
Date
2024-01-02  68800  68900  67300  67800  377268 -0.014535
2024-01-03  68400  69800  68000  68800  562166  0.014749
2024-01-04  68300  68300  66100  66300  371864 -0.036337
2024-01-05  66300  66900  65200  65900  301451 -0.006033
2024-01-08  66100  66500  64300  64400  244527 -0.022762
2024-01-09  65200  65800  64200  64500  239025  0.001553
2024-01-10  64900  65300  64000  64800  186172  0.004651

>>> fdr.DataReader(f'{code}', start, end)
             Open   High    Low  Close  Volume    Change
Date
2024-01-02  68800  68900  67300  67800  377268 -0.014535
2024-01-03  68400  69800  68000  68800  562166  0.014749
2024-01-04  68300  68300  66100  66300  371864 -0.036337
2024-01-05  66300  66900  65200  65900  301451 -0.006033
2024-01-08  66100  66500  64300  64400  244527 -0.022762
2024-01-09  65200  65800  64200  64500  239025  0.001553
2024-01-10  64900  65300  64000  64800  186172  0.004651