티스토리 뷰

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

 

반응형
반응형
250x250
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함