This commit is contained in:
dsyoon
2022-08-10 00:42:03 +09:00
parent 62e0deecfe
commit 2564871ff8
6 changed files with 116 additions and 21 deletions

View File

@@ -94,13 +94,6 @@ class LabelMaker (HTS):
buy_line = bsLine['buy']
sell_line = bsLine['sell']
# 그래프 설정을 위한 변수를 생성한다.
data = data.astype({'open': 'int',
'high': 'int',
'low': 'int',
'close': 'int'
})
buy_colors = []
for i in range(len(buy_line)):
if buy_line[i] < 0:
@@ -246,19 +239,43 @@ class LabelMaker (HTS):
writer.writerow([data['date'][i], bsLine["buy"][i]])
return
def makeCandidate(self, stock_code, ymd="20220727", view=False):
def makeCandidate(self, stock_code, ymd, view=False):
result = {"check": set(), "time": [], "open": [], "close": [], "high": [], "low": [], "vol": [], "label": []}
self.getDBData(stock_code, ymd, result)
data = self.buySellChecker.analyze(result)
bsLine, data = self.checkTransaction(data)
#self.writeLabelFile(stock_code, bsLine, data, ymd)
if view:
self.draw_simple(stock_code, ymd, data, bsLine)
#self.draw_detail(stock_code, ymd, data, bsLine)
return bsLine, data
def showLabels(self, stock_code, ymd):
result = {"time": [], "open": [], "close": [], "high": [], "low": [], "vol": [], "label": []}
self.getDBData(stock_code, ymd, result)
result["date"] = result["time"]
data = pd.DataFrame(result)
df_final_time = pd.DatetimeIndex(result["date"])
data.index = df_final_time
bsLine = {}
size = len(result["close"])
# Type=False, 시뮬레이션 적용
bsLine['buy'] = [-1 for i in range(size)]
for i in range(size):
if result["label"][i] == 2:
bsLine['buy'][i] = result["close"][i]
bsLine['sell'] = [-1 for i in range(size)]
for i in range(size):
if result["label"][i] == 1:
bsLine['sell'][i] = result["close"][i]
self.draw_simple(stock_code, ymd, data, bsLine)
return
def getDate(self, stock_code):
ymds = self.getYMD(stock_code)
@@ -273,10 +290,65 @@ if __name__ == "__main__":
view = True
stock_code = "252670"
ymd = "20220808"
ymd = "20220809"
if view:
bsLine, data = labelMaker.makeCandidate(stock_code, ymd, view=view)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0903", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0906", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0907", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0908", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0937", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0938", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0939", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0940", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0942", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0943", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1034", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1035", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1036", 2)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1151", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1212", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1228", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1303", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1318", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1310", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1311", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1312", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1313", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1314", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1315", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1316", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1317", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1319", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1320", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1321", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1418", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1419", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0933", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0948", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0949", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0950", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "0950", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1056", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1101", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1102", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1106", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1107", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1152", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1213", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1229", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1304", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1322", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1323", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1407", 1)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1431", 0)
labelMaker.makeLabel(db_filename, "252670", "20220809", "1436", 1)
labelMaker.showLabels(stock_code, ymd)
else:
stock_codes = ["252670", "122630"]
for stock_code in stock_codes:
@@ -284,4 +356,4 @@ if __name__ == "__main__":
for ymd in ymds:
logging.info(stock_code, ymd)
bsLine, data = labelMaker.makeCandidate(stock_code, ymd)
labelMaker.updateLabel(db_filename, stock_code, bsLine, data, ymd)
labelMaker.updateLabel(db_filename, stock_code, bsLine, data, ymd)