환경 모듈 개발
in Quant with Reinforcement learning on Quant
학습 페이지: 6p,92p,113~115p
봉 차트
- 시가: 가장 처음의 거래된 가격
- 종가: 봉의 기간중 가장 마지막에 거래된 가격
- 고가: 봉의 기간중 거래된 가장 높은 가격을 의미
- 저가: 봉의 기간중 거래된 가장 낮은 가격을 의미
차트 데이터
차트 데이터는 2차원 배열로 이루어져 있다. 시점에 따른 idx들이 행, 체결일|시가|고가|저가|종가|거래량 으로 열이 정의되어 있다.
환경 클라스 코드
class Environment:
PRICE_IDX = 4 # 종가의 위치
def __init__(self, chart_data=None):
self.chart_data = chart_data
self.observation = None
self.idx = -1
def reset(self): #idx와 observation을 초기화
self.observation = None
self.idx = -1
def observe(self): #다음 위치로 이동후 observation을 업데이트
if len(self.chart_data) > self.idx + 1:
self.idx += 1
self.observation = self.chart_data.iloc[self.idx]
return self.observation
return None
def get_price(self): #observation에서 종가를 흭득
if self.observation is not None:
return self.observation[self.PRICE_IDX]
return None
- init: 차트데이터를 받고 현재 위치를 -1로 초기화
- reset: 현재 관측하는 데이터의 위치를 처음위치로 초기화
- oberve: 차트데이터의 크기보다 현재위치가 작으면 한칸 이동
- get_price: 헌재 관측 데이터에서 종가를 return