RSI(2) 값을 계산했으니 다음 조건을 살펴보겠습니다. 두 번째 매도 조건은 매수 가격보다 매도 가격이 크다는 것입니다. ‘매입가’ 정보는 Kiwoom 클래스 내 balance 딕셔너리에 존재합니다. 이에 접근하면 매입 가격을 확인할 수 있으며, 금일 RSI(2) 값은 df의 마지막 행에 접근해서 얻을 수 있습니다(계속해서 check_sell_signal 함수에 코드를 추가합니다).
RSIStrategy.py
(...)
purchase_price = self.kiwoom.balance[code]['매입가'] ------ 보유 종목의 매입 가격 조회
rsi = df[-1:]['RSI(2)'].values[0] ------ 금일의 RSI(2) 구하기
매도 조건에 필요한 데이터들을 구했으니 이 조건을 모두 만족시킬 때 매도 신호를 반환하도록 해 보겠습니다(계속해서 check_sell_signal 함수에 코드를 추가합니다).
RSIStrategy.py
(...)
if rsi > 80 and close > purchase_price:
return True
else:
return False