5년 치 원달러 환율 정보를 'rate_data' 데이터 프레임으로 만들고 현재 환율(마지막 환율)과 평균환율을 구하는 프로그램을 추가합니다.
today_rate = rate_data['Close'].iloc[-1]
today_rate = round(today_rate,2) # 현재 환율 구하기
print(today_rate) # 현재 환율 프린트
mean_rate = rate_data['Close'].mean()
mean_rate = round(mean_rate,2) # 기간 평균 환율 구하기
print(mean_rate)
여기에 조건식으로 현재환율이 기간환율보다 일정 비율이상 높거나 낮을 경우 알람을 주는 로직을 추가로 작성하였습니다.
iftoday_rate < mean_rate:
# slackout('현재 환율이 ' + str(today_rate) + '원으로, 환율 5년 평균 ' + str(mean_rate) + '보다 낮습니다.')
print('현재 환율이 ' + str(today_rate) + '원으로, 환율 5년 평균 ' + str(mean_rate) + '원 보다 낮습니다.')
elif (mean_rate * 1.1) > today_rate:
# slackout('현재 환율이 ' + str(today_rate) + '원으로, 환율 5년 평균 ' + str(mean_rate) + '보다 10% 이상 높습니다.')
print('현재 환율이 ' + str(today_rate) + '원으로, 환율 5년 평균 ' + str(mean_rate) + '원 보다 10% 이상 높습니다.')
필자는 Slack를 활용하기 때문에 Slackout이라는 함수를 호출하여 알람을 푸시하는 기능을 넣었으나, 사용자 편의에 맞춰서 Slack이든 Telegram이든 카카오톡이든 SNS 서비스나 메일과 같은 다양한 방법 중 본인에게 편리한 방법을 사용하시면 되겠습니다. (Slack과 텔레그램 푸시는 다음에 기회 되면 소개하도록 하겠습니다.)
전체 코드는 다음과 같습니다.
fromdatetimeimportdatetime, date, timedelta
importpandasaspd
importyfinanceasyf
if__name__ == "__main__":
start = str(date.today() - timedelta(days=1825)) # years 매개변수는 없다?? 3년 = 1095, 5년 = 1825