1문제 분석과 모델링
주식 거래로 수익을 내는 가장 좋은 방법은 ‘가장 쌀 때 사서 가장 비쌀 때 파는 것’입니다. 얼핏 생각하면 주가(주식의 가격)의 최댓값에서 주가의 최솟값을 뺀 것으로 착각하기 쉽습니다. 표 18-1을 예로 들면, 6월 1일의 주가 10,300원이 최댓값이고 6월 5일의 주가 7,800원이 최솟값입니다. 하지만 아직 사지도 않은 주식을 6월 1일에 먼저 팔고 6월 5일에 주식을 살 수는 없으므로 단순히 최댓값과 최솟값을 구하는 것만으로는 올바른 답을 얻을 수 없습니다.*
그렇다면 이 문제를 어떻게 풀어야 할까요? 마찬가지로 주어진 자료를 모델링하여 파이썬 프로그램으로 만들어야 합니다. 우리에게 주어진 정보는 날짜와 주가 정보인데, 가만히 생각해 보면 이 문제는 얻을 수 있는 최대 수익만 물어보았으므로 정확한 날짜 정보는 없어도 상관없습니다. 따라서 정보를 단순화하여 각 날의 주식 가격만 뽑아 stock이라는 리스트로 만듭니다.
stock = [10300, 9600, 9800, 8200, 7800, 8300, 9500, 9800, 10200, 9500]
이제 이 리스트 값을 이용해서 얻을 수 있는 최대 수익을 계산해 봅시다!
* 주식을 빌려서 먼저 팔고 나중에 갚는 공매도 제도가 있는 주식 시장도 있지만, 이 문제에서는 생각하지 않겠습니다.