init
This commit is contained in:
@@ -6,6 +6,7 @@ import os
|
||||
|
||||
from hts.HTS import HTS
|
||||
from stock.util.Stock2Vector import Stock2Vector
|
||||
from stock.util.StockPredictor import StockPredictor
|
||||
from hts.BuySellChecker import BuySellChecker
|
||||
|
||||
class Simulation (HTS):
|
||||
@@ -16,6 +17,7 @@ class Simulation (HTS):
|
||||
super().__init__(RESOURCE_PATH)
|
||||
|
||||
self.stock2Vector = Stock2Vector(RESOURCE_PATH)
|
||||
self.stockPredictor = StockPredictor()
|
||||
self.buySellChecker = BuySellChecker()
|
||||
self.RESOURCE_PATH = RESOURCE_PATH
|
||||
#self.connect()
|
||||
@@ -126,23 +128,23 @@ class Simulation (HTS):
|
||||
|
||||
return
|
||||
|
||||
def analyzeAutoMode(self, data):
|
||||
return data, None
|
||||
|
||||
def simulate(self, stock_code, today, type="rule"):
|
||||
LAST_DATA = self.stock2Vector.getLastData(stock_code, today)
|
||||
def simulate(self, stock_code, today, method="rule"):
|
||||
|
||||
result = self.stock2Vector.getRealTime(stock_code, today, LAST_DATA)
|
||||
if method == "ml":
|
||||
LAST_DATA = self.stock2Vector.getLastData(stock_code, today, n=10)
|
||||
result = self.stock2Vector.getRealTime(stock_code, today, LAST_DATA)
|
||||
|
||||
df, minmax_df = self.stock2Vector.preprocessData(result)
|
||||
bsLine, data = self.stockPredictor.predict(df, minmax_df, isRealTime=False)
|
||||
else:
|
||||
LAST_DATA = self.stock2Vector.getLastData(stock_code, today)
|
||||
result = self.stock2Vector.getRealTime(stock_code, today, LAST_DATA)
|
||||
|
||||
if type == "rule":
|
||||
# 이동평균, RSI, MACD, 일목균형, 볼린저밴드 상/하단을 계산한다.
|
||||
data = self.buySellChecker.analyze(result)
|
||||
# 사야 할 시점과 팔아야 할 시점을 체크한다.
|
||||
bsLine, data = self.buySellChecker.checkTransaction(data, stock_code, isRealTime=False)
|
||||
elif type == "auto":
|
||||
data, bsLine = self.analyzeAutoMode(result)
|
||||
else:
|
||||
data, bsLine = None, None
|
||||
|
||||
if data is not None:
|
||||
# 그래프를 그린다.
|
||||
@@ -159,13 +161,13 @@ if __name__ == "__main__":
|
||||
stock_codes = {
|
||||
# 252670
|
||||
# 122630
|
||||
"122630": ['20220729'],
|
||||
"122630": ['20220803'],
|
||||
}
|
||||
|
||||
for stock_code in stock_codes:
|
||||
simulation = Simulation(RESOURCE_PATH)
|
||||
|
||||
for given_day in stock_codes[stock_code]:
|
||||
simulation.simulate(stock_code, given_day)
|
||||
simulation.simulate(stock_code, given_day, method='ml')
|
||||
|
||||
print ("done...")
|
||||
|
||||
Reference in New Issue
Block a user