"이동평균선(Moving Avergae Line : MA) 분석" 파이썬으로 배우는 알고리즘 투자 스터디 자료
IT 어떻게든 혼자 해결해보자/IT 파이썬 독학 입문기2018. 5. 9. 23:31
# 주가 분석 중 이동평균선(Moving Avergae Line : MA) 분석이 가장 유명하고 많이 쓰입니다.
# 알고리즘 투자에 적용할 때는 이러한 전략이 실제로 효과가 있었는지에 대해서 테스트하고 비교해서
# 초과 수익이 나는 요소를 파악하여 적용하는 것이 중요합니다.
# 대표적인 기술적 분석인 이동평균선 계산해 봅시다.
import pandas as pd
import pandas_datareader.data as web
import datetime
start = datetime.datetime(2015, 1, 2)
end = datetime.datetime(2018, 5, 4)
gs = web.DataReader("078930.KS", 'yahoo', start, end)
# 잘 가져왔는지 확인해 봅시다.
print(gs.tail())
'''
Open High Low Close Adj Close Volume
Date
2018-04-27 60200.0 60900.0 60100.0 60400.0 60400.0 100542.0
2018-04-30 60600.0 61300.0 60400.0 61300.0 61300.0 109790.0
2018-05-02 61400.0 62300.0 61000.0 61400.0 61400.0 137577.0
2018-05-03 61500.0 62200.0 60800.0 62000.0 62000.0 135160.0
2018-05-04 61500.0 61600.0 60300.0 60500.0 60500.0 179074.0
'''
ma5 = gs['Adj Close'].rolling(window=5).mean()
print(ma5.tail(10))
'''
Date
2018-04-20 60640.0
2018-04-23 60840.0
2018-04-24 61000.0
2018-04-25 60760.0
2018-04-26 60580.0
2018-04-27 60520.0
2018-04-30 60600.0
2018-05-02 60760.0
2018-05-03 61120.0
2018-05-04 61120.0
'''
# 데이터를 쉽게 사용하기 위해 insert 메서드로 DataFrame에 추가 칼럼을 만들어 줄 수 있습니다.
ma5 = gs['Adj Close'].rolling(window=5).mean()
gs.insert(len(gs.columns), "MA5", ma5)
print(gs.tail(5))
'''
Open High Low Close Adj Close Volume MA5
Date
2018-04-27 60200.0 60900.0 60100.0 60400.0 60400.0 100542 60520.0
2018-04-30 60600.0 61300.0 60400.0 61300.0 61300.0 109790 60600.0
2018-05-02 61400.0 62300.0 61000.0 61400.0 61400.0 137577 60760.0
2018-05-03 61500.0 62200.0 60800.0 62000.0 62000.0 135160 61120.0
2018-05-04 61500.0 61600.0 60300.0 60500.0 60500.0 179074 61120.0
'''
# 알고리즘 투자에 적용할 때는 이러한 전략이 실제로 효과가 있었는지에 대해서 테스트하고 비교해서
# 초과 수익이 나는 요소를 파악하여 적용하는 것이 중요합니다.
# 대표적인 기술적 분석인 이동평균선 계산해 봅시다.
import pandas as pd
import pandas_datareader.data as web
import datetime
start = datetime.datetime(2015, 1, 2)
end = datetime.datetime(2018, 5, 4)
gs = web.DataReader("078930.KS", 'yahoo', start, end)
# 잘 가져왔는지 확인해 봅시다.
print(gs.tail())
'''
Open High Low Close Adj Close Volume
Date
2018-04-27 60200.0 60900.0 60100.0 60400.0 60400.0 100542.0
2018-04-30 60600.0 61300.0 60400.0 61300.0 61300.0 109790.0
2018-05-02 61400.0 62300.0 61000.0 61400.0 61400.0 137577.0
2018-05-03 61500.0 62200.0 60800.0 62000.0 62000.0 135160.0
2018-05-04 61500.0 61600.0 60300.0 60500.0 60500.0 179074.0
'''
ma5 = gs['Adj Close'].rolling(window=5).mean()
print(ma5.tail(10))
'''
Date
2018-04-20 60640.0
2018-04-23 60840.0
2018-04-24 61000.0
2018-04-25 60760.0
2018-04-26 60580.0
2018-04-27 60520.0
2018-04-30 60600.0
2018-05-02 60760.0
2018-05-03 61120.0
2018-05-04 61120.0
'''
# 데이터를 쉽게 사용하기 위해 insert 메서드로 DataFrame에 추가 칼럼을 만들어 줄 수 있습니다.
ma5 = gs['Adj Close'].rolling(window=5).mean()
gs.insert(len(gs.columns), "MA5", ma5)
print(gs.tail(5))
'''
Open High Low Close Adj Close Volume MA5
Date
2018-04-27 60200.0 60900.0 60100.0 60400.0 60400.0 100542 60520.0
2018-04-30 60600.0 61300.0 60400.0 61300.0 61300.0 109790 60600.0
2018-05-02 61400.0 62300.0 61000.0 61400.0 61400.0 137577 60760.0
2018-05-03 61500.0 62200.0 60800.0 62000.0 62000.0 135160 61120.0
2018-05-04 61500.0 61600.0 60300.0 60500.0 60500.0 179074 61120.0
'''
스터디 자료의 출처는 파이썬으로 배우는 알고리즘 트레이딩(조대표 외 1명)입니다. 아래 책을 터치하시면 구매페이지로 연결됩니다. 스터디 진행하며 사용한 비영리 목적의 참고자료로 크레이티브 커먼즈에 따라 사용하며, 저작권자의 삭제 요청이 있을시 삭제하겠습니다. 공감과 댓글은 글쓴이에게 큰 힘이 됩니다. 마음에 드셨으면 공감과 댓글부탁드립니다.
'IT 어떻게든 혼자 해결해보자 > IT 파이썬 독학 입문기' 카테고리의 다른 글
핸즈온 머신러닝 1일차 "머신러닝 개념정리" 머신러닝이란? (0) | 2018.05.29 |
---|---|
"이평선(MA) 차트 그리기" 파이썬으로 배우는 알고리즘 투자 스터디자료 (0) | 2018.05.10 |
"Pandas DataFrame" 파이썬으로 배우는 알고리즘 트레이딩 스터디 자료 (0) | 2018.05.08 |
파이썬 독학기 [Letter Queue] - Empire of Code (0) | 2018.05.07 |
"DataFrame 칼럼(열), 로우(행) 선택" 파이썬으로 배우는 알고리즘 트레이딩 스터디 자료 (0) | 2018.05.07 |
댓글