[Kiwoom] _on_receive_tr_data is called 0001 / opt10081_req / opt10081이란 문구는 _on_receive_tr_data 함수 첫 줄에서 어떤 TR에 대한 응답인지 구분하려고 넣은 print 문이 출력되는 것입니다.
이 출력이 나올 때마다 TR 조회에 대한 응답을 수신한 것이고, 한 번에 데이터를 최대 600개 얻어 옵니다. 따라서 이 문구가 17번 출력되면서 일봉 데이터를 총 9641개 얻어 와 DataFrame을 만들게 됩니다.
이렇게 만든 DataFrame에 담긴 데이터를 보면서 DataFrame 형태를 살펴보겠습니다. 행(row)은 시간을 기준으로 과거부터 최근까지 오름차순으로 정렬되어 있고(1985년 1월 4일부터 2021년 7월 2일까지), 열(column)에는 시가(open), 고가(high), 저가(low), 종가(close), 당일 거래량(volume) 순서로 데이터를 받아 오는 것을 알 수 있습니다. (정확히 표현하면 왼쪽에 있는 19850104, 20210702 같은 데이터를 ‘인덱스’라고 합니다. 즉, 행이 인덱스를 기준으로 정렬되어 있는 것입니다.)
open high low close volume 19850104 130 130 129 129 111765 19850105 129 129 128 128 108497 19850107 129 130 128 129 771895 19850108 129 129 127 127 845098 19850109 126 126 122 123 324837 (...) 20210628 81700 82000 81600 81900 11578529 20210629 81900 82100 80800 81000 15744317 20210630 81100 81400 80700 80700 13288643 20210701 80500 80600 80000 80100 13382882 20210702 80000 80400 79900 80000 8753097
▲ 그림 3-87 DataFrame의 형태(날짜 오름차순 정렬)
Note ≡
출력된 DataFrame의 행을 살펴보면 1985년 01월 10일부터 2021년 06월 27일까지 데이터가 보이지 않는데, 이는 데이터가 없는 것이 아니라 요약된 형태로 출력된 것입니다.