df.index.get_loc 함수에 전달되는 datetime.now()는 현재 시간을 의미하며, 여기에 strftime을 추가한 datetime.now().strftime('%Y%m%d')는 오늘 날짜를 문자 형태로 반환하는 코드입니다. 예를 들어 ‘20210730’ 같은 식입니다. 따라서 df.index.get_loc(datetime.now().strftime ('%Y%m%d')) – 2는 df.index.get_loc(‘20210730’) – 2로 바꾸어 생각할 수 있고, 이 코드는 ‘20210730’일로부터 2일 전 행 위치를 idx에 저장하라는 의미입니다.
기준일로부터 2일 전 행 위치를 알아내 idx에 저장했다면, loc 함수를 사용하여 idx에 접근한 후 2일 전 종가를 구하고 현재가와 차이를 (%)로 계산해서 price_diff에 저장합니다. 따라서 price_diff가 -2라면 2일 전 종가를 기준으로 현재가가 2%만큼 하락했다는 것을 의미합니다. 매수 조건 확인에 필요한 값들을 구했으니 매수 조건에 해당되면 주문을 접수하는 코드가 실행되지만, 그렇지 않으면 함수가 종료됩니다. 여기까지 코드를 보면 다음과 같습니다.