SWDesk
[Python] 1분 데이터 가져오기
inhae
2021. 9. 11. 10:43
목적 : KOSPI와 KOSDAQ에서 거래됐던 1분 단위 주식 데이터를 이용하여 어느 종목이 일간 변동폭이 큰지 또는 작은지를 판단하여 1일 거래 시 최적의 수익 구조를 얻고자 함.
내용 : kiwoom을 이용하여 1분 단위 주식데이터 가져오기(10080)
10080 주요 항목
- 현재가
- 거래량
- 체결시간
- 시가
- 고가
- 저가
- 수정주가구분
- 수정비율
- 대업종구분
- 소업종구분
- 종목정보
- 수정주가이벤트
- 전일종가
def GetData_10080(self, itemInfo, day0=None):
trCode = 'opt10080'
print("Downloading bunData ...... : ", trCode, ' :', itemInfo['ItemCode'], ':', itemInfo['ItemName'], ' ... ', )
Data_10080 = []
itemCode = itemInfo['ItemCode']
time1 = time()
time1 = self.WaitRequestInterval(time1)
#print("[10080]", time1)
df = self.kiwoom.block_request(trCode,
종목코드=itemCode,
틱범위= 1,
output="주식분봉차트조회요청",
next=0
)
#print(df.head())
rets1 = self.ExtractData_10080(df)
if not rets1: return None
for ret1 in rets1:
Data_10080.append(ret1)
if day0:
length11 = len(rets1)
day11 = rets1[length11-1]['day'] # '20210101'
if day11 < day0:
return Data_10080
while self.kiwoom.tr_remained:
time1 = self.WaitRequestInterval(time1)
#print("[10080]", time1)
df = self.kiwoom.block_request(trCode,
종목코드=itemCode,
틱범위= 1,
output="주식분봉차트조회요청",
next=2
)
#print(df.head())
try:
rets1 = self.ExtractData_10080(df)
if not rets1: break
for ret1 in rets1:
Data_10080.append(ret1)
except Exception as e:
expMessage = "[???-F06-1]"+str(e)
self.PrintException(expMessage)
break;
if day0:
length11 = len(rets1)
day11 = rets1[length11-1]['day']
#print('[day11]', day11)
if day11 < day0:
return Data_10080
return Data_10080
반응형