"이평선(MA) 차트 그리기" 스터디자료6. 파이썬으로 배우는 알고리즘 투자 import pandas as pdimport pandas_datareader.data as web import matplotlib.pyplot as plt # Get GS Data from Yahoo gs = web.DataReader("078930.KS", "yahoo", "2015-01-01", "2018-05-06") new_gs = gs[gs['Volume']!=0] # Moving average ma5 = new_gs['Adj Close'].rolling(window=5).mean() ma20 = new_gs['Adj Close'].rolling(window=20).mean() ma60 = new_gs['Adj Clo..
# 주가 분석 중 이동평균선(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) # 잘 가져왔는지 확인해..
# Pandas DataFrame (스터디자료3. 파이썬으로 배우는 알고리즘 트레이딩)# pandas의 Series가 1차원 자료구조라면 DataFrame은 여러개의 열로 구성된 2차원 형태의 자료구조입니다. # 일자 시가 저가 고가 종가 전일비 등락률 거래량 # 2.26 11,250 11,100 11,850 11,800 +600 4.6% 335,587 # 2.25 10,900 10,500 11,450 11,200 +300 2.6% 125,484 # 위와 같은 자료를 DataFrame을 이용해서 2차원 구조의 데이터를 쉽게 저장하고 조작할 수 있습니다. # DataFrame 객체를 생성하는 가장 쉬운 방법은 파이썬의 딕셔너리를 사용하는 것입니다. # 딕셔너리를 통해 각 칼럼에 대한 데이터를 저장한 후 #..
Letter QueueIn computer science, a queue is a particular kind of data type in which the entities in the collection are kept in order and the principal operations on the collection are the addition of entities to the rear terminal position (enqueue or push), and removal of entities from the front terminal position (dequeue or pop). 오늘도 열심히 엠파이어 코드를 하면서 파이썬 공부를 하고 있습니다. 컴퓨터에서 큐가 선입 선출(선입 선출)데이터 구조..
# DataFrame 칼럼(열), 로우(행) 선택 (스터디자료4. 파이썬으로 배우는 알고리즘 트레이딩)# 종가 기준으로 데이터를 보려면 close 칼럼으로 접근할 수 있습니다. close = daeshin_day['close'] print(close) ''' 16.02.29 11900 16.02.26 11600 16.02.25 11000 16.02.24 11100 16.02.23 11050 Name: close, dtype: int64 ''' # 행을 선택할 때에는 키 값이 없기 때문에 ix 메세드를 이용합니다. day_data = daeshin_day.ix['16.02.24'] print(day_data) ''' open 11100 high 11100 low 10950 close 11100 Name: ..
# pandas_datareader 패키지 사용(스터디자료5. 파이썬으로 배우는 알고리즘)# datareader함수로 웹 상의 데이터를 DataFrame 객체로 만드는 기능을 합니다. # 야후 파이낸스로 GS 종목의 일봉 데이터를 받아오겠습니다. # datetime 모듈은 시간을 입력할 때 자주 쓰이는 모듈입니다. # 월을 입력할 때 02나 03처럼 입력하면 안됩니다. # GS의 종목코드는 '078930'이므로 DataReader 인자로 다음과 같이 입력합니다. # 아래 코드가 pandas_datareader 0.6.0에서는 작동하지 않아서 0.5.0으로 사용합니다. import pandas_datareader.data as web import datetime start = datetime.datetim..
# Python Console (스터디자료1. 파이썬으로 배우는 알고리즘 트레이딩)# 사실 대화식 인터프리터(Python IDLE, Jupyter QtConsole)가 결과값을 바로 확인이 가능해서# pandas기초를 공부하기에 PyCharm보다 적합합니다.# 하지만, PyCharm의 Python Console으로도 코드 확인을 할 수 있습니다.# 참고로 지금 배우는 과정에서 Python Console을 실행하려면 # IPython과 Pyqt5 패키지가 설치되어 있어야 합니다.# 설치 되어 있지 않으면, 콘솔이 제대로 실행이 되지 않거나# This application failed to start because it could not find or load the qt platform plugin "wi..
# Series 기초 (스터디자료1. 파이썬으로 배우는 알고리즘 트레이딩)# pandas에는 Series와 DataFrame이라는 두 종류의 자료구조가 있습니다. # pandas의 Series는 1차원 배열 자료구조 입니다. # 파이썬 리스트와 튜플도 동일한 1차원 배열과 같은 자료구조인데 왜 pandas에서 'Series'라는 자료구조가 있을까요? # pandas의 Series는 리스트와 딕셔너리를 어떤 면을 부분부분 닮은 알쏭달쏭한 자료구조 입니다. # 간단한 코드를 작성하면서 Seris라는 자료구조를 알아 봅시다. # 먼저, pandas라는 모듈에서 직접 Series와 DataFrame을 로컬 네임스페이스로 임포트합시다. from pandas import Series, DataFrame # 모듈을 ..
import string import re def golf(broken_report): br = broken_report.split(",") report = [] for i in br: x = 0 for x in range(len(i)-1): if re.findall('[A-Z]+',i[x]): if re.findall('[1-9]+',i[x+1]): report.append(i[x]+i[x+1]) m = [] for x in string.ascii_uppercase: for y in range(1,10): m.append("%s%d" % (x, y)) c = 0 for j in report: c += (m.index(j)+1) return c짧게 하는게 목표인데 정규표현식 사용하는 건 맞는거 같은데 수..
import re VOWELS = "aeiouy" def translate(phrase): reword="" for j in range(len(phrase)-1): if phrase[j] in VOWELS: if phrase[j] == phrase[j-1] and phrase[j] == phrase[j+1]: reword += phrase[j] else: continue else: reword += phrase[j] reword = re.compile('aa').sub('a', reword) reword = re.compile('aaaa').sub('aaa', reword) reword = re.compile('oo').sub('o', reword) return reword오늘도 열심히 Emprie of..