더북(TheBook)

df['ma20'] = df['close'].rolling(window=20, min_periods=1).mean() 코드를 보면 df['close'] 종가를 기준으로 20일 동안(window=20) 데이터를 묶어 평균을 구하는 mean() 함수를 사용했습니다. 이렇게 코드를 만들면 20일 동안 종가(close)의 평균 데이터가 ma20이라는 열의 df에 추가되며 마찬가지로 ma60이라는 열은 60일 동안 종가의 평균값이 저장됩니다.

이후 df를 출력해서 ma20이 제대로 생성되었는지 확인해 보겠습니다(참고로 다음 출력 결과는 매도 함수에서 확인했던 메리츠화재(000060)의 데이터가 아니라 DB하이텍(000990)의 가격 데이터입니다).

           open   high    low  close   volume          ma20          ma60
19850104   5930   5930   5930   5930      109   5930.000000   5930.000000
19850105   5912   5912   5912   5912        0   5921.000000   5921.000000
19850107   5875   5875   5875   5875        0   5905.666667   5905.666667
19850108   5838   5838   5838   5838        0   5888.750000   5888.750000
19850109   5838   5838   5838   5838        0   5878.600000   5878.600000
...         ...    ...    ...    ...      ...           ...           ...
20210726  65500  65600  63500  63700   776842  63175.000000  57861.666667
20210727  64200  64700  62800  63300   658833  63305.000000  57995.000000
20210728  62700  63300  60300  61800  1228966  63275.000000  58106.666667
20210729  62300  62700  60500  61300   778988  63220.000000  58205.000000
20210730  61600  61800  60600  61000   499480  63240.000000  58298.333333
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.