정리하면 과거 가격 데이터들과 금일 가격 데이터를 이용하여 매도 신호를 체크하고자 price_df에 있는 과거 데이터와 실시간 체결 데이터 슬롯에서 받아 온 금일 데이터를 합치는 작업이 필요합니다. 이 과정을 코드로 만들면 다음과 같습니다.
RSIStrategy.py
(...)
def check_sell_signal(self, code):
universe_item = self.universe[code]
print(universe_item)
print(universe_item.keys())
if code not in self.kiwoom.universe_realtime_transaction_info.keys(): ------ 현재 체결 정보가 존재하는지 확인
print("매도대상 확인 과정에서 아직 체결정보가 없습니다.") ------ 체결 정보가 없으면 더 이상 진행하지 않고 함수 종료
return
open = self.kiwoom.universe_realtime_transaction_info[code]['시가'] high = self.kiwoom.universe_realtime_transaction_info[code]['고가'] low = self.kiwoom.universe_realtime_transaction_info[code]['저가'] close = self.kiwoom.universe_realtime_transaction_info[code]['현재가'] volume = self.kiwoom.universe_realtime_transaction_info[code]['누적거래량']
-----실시간 체결 정보가 존재하면 현시점의 시가 / 고가 / 저가 / 현재가 / 누적 거래량 저장
today_price_data = [open, high, low, close, volume] ------ 오늘 가격 데이터를 과거 가격 데이터(DataFrame)의 행으로 추가하고자 리스트로 만듦
df = universe_item['price_df'].copy()
df.loc[datetime.now().strftime('%Y%m%d')] = today_price_data ------ 과거 가격 데이터에 금일 날짜로 데이터 추가
print(df)