This commit is contained in:
dsyoon
2023-10-13 00:14:54 +09:00
parent 4026cb5de8
commit 9f908fc04a
2 changed files with 83 additions and 78 deletions

View File

@@ -192,39 +192,37 @@ class Simulation (HTS):
return result
def simulate(self, stock_codes:dict=None, analyzed_day=1000):
if stock_codes is not None:
for stock_code in stock_codes:
for given_day in stock_codes[stock_code]:
LAST_DATA = self.stock2Vector.getLastData(stock_code, given_day)
result = self.stock2Vector.getRealTime(stock_code, given_day, LAST_DATA)
#result_5 = self.makeTickData(result, mins=5)
#result_30 = self.makeTickData(result, mins=30)
for stock_code in stock_codes:
for given_day in stock_codes[stock_code]:
LAST_DATA = self.stock2Vector.getLastData(stock_code, given_day)
# 1분봉
result = self.stock2Vector.getRealTime(stock_code, given_day, LAST_DATA)
# 5분봉
#result = self.makeTickData(result, mins=5)
# 30분봉
#result = self.makeTickData(result, mins=30)
data = self.buySellChecker.analyze(result)
data.drop(data.index[:len(data) - analyzed_day], inplace=True)
data = self.buySellChecker.analyze(result)
data.drop(data.index[:len(data) - analyzed_day], inplace=True)
# 이동평균, RSI, MACD, 일목균형, 볼린저밴드 상/하단을 계산한다.
#data_5 = self.buySellChecker.analyze(result_5)
# 분석일 데이터만 활용한다 (이전 데이터는 제거)
#data_5.drop(data_5.index[:len(data_5) - analyzed_day], inplace=True)
# 이동평균, RSI, MACD, 일목균형, 볼린저밴드 상/하단을 계산한다.
#data_5 = self.buySellChecker.analyze(result_5)
# 분석일 데이터만 활용한다 (이전 데이터는 제거)
#data_5.drop(data_5.index[:len(data_5) - analyzed_day], inplace=True)
#data_30 = self.buySellChecker.analyze(result_30)
# 분석일 데이터만 활용한다 (이전 데이터는 제거)
#data_30.drop(data_30.index[:len(data_30) - analyzed_day], inplace=True)
#data_30 = self.buySellChecker.analyze(result_30)
# 분석일 데이터만 활용한다 (이전 데이터는 제거)
#data_30.drop(data_30.index[:len(data_30) - analyzed_day], inplace=True)
# 사야 할 시점과 팔아야 할 시점을 체크한다.
#bsLine = self.buySellChecker.checkTransaction(stock_code, data, data_5, data_30, isRealTime=False)
# 사야 할 시점과 팔아야 할 시점을 체크한다.
#bsLine = self.buySellChecker.checkTransaction(stock_code, data, data_5, data_30, isRealTime=False)
# 어제 데이터는 지운다.
#data = data.loc[pd.DatetimeIndex(data.index).day == int(given_day[6:])]
bsLine = self.buySellChecker.checkTransaction(stock_code, data, None, None, isRealTime=False)
# 그래프를 그린다.
self.draw(stock_code, given_day, data, bsLine)
else:
stockStatus = StockStatus(self.RESOURCE_PATH)
stockStatus.checkEnvelope()
# 어제 데이터는 지운다.
#data = data.loc[pd.DatetimeIndex(data.index).day == int(given_day[6:])]
bsLine = self.buySellChecker.checkTransaction(stock_code, data, None, None, isRealTime=False)
# 그래프를 그린다.
self.draw(stock_code, given_day, data, bsLine)
return
if __name__ == "__main__":