더북(TheBook)

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%만큼 하락했다는 것을 의미합니다. 매수 조건 확인에 필요한 값들을 구했으니 매수 조건에 해당되면 주문을 접수하는 코드가 실행되지만, 그렇지 않으면 함수가 종료됩니다. 여기까지 코드를 보면 다음과 같습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.