From 997b1dd99fb10b1ea070f85fa1a0c638c68e83d0 Mon Sep 17 00:00:00 2001 From: dsyoon Date: Mon, 16 Oct 2023 11:54:19 +0900 Subject: [PATCH] init --- HTS_etf_122630.py | 41 ++++++++++++++++++++++------------------- HTS_etf_233740.py | 41 ++++++++++++++++++++++------------------- HTS_etf_251340.py | 41 ++++++++++++++++++++++------------------- HTS_etf_252670.py | 41 ++++++++++++++++++++++------------------- hts/OrderChecker.py | 12 ++++++------ 5 files changed, 94 insertions(+), 82 deletions(-) diff --git a/HTS_etf_122630.py b/HTS_etf_122630.py index b5ca18e..597522e 100644 --- a/HTS_etf_122630.py +++ b/HTS_etf_122630.py @@ -17,6 +17,7 @@ from stock.analysis.StockStatus import StockStatus class HTS_etf(HTS): RESOURCE_PATH = None stock_code = None + stock_name = None buy_count = None orderChecker = None buySellChecker = None @@ -24,12 +25,14 @@ class HTS_etf(HTS): slackBot = None stockStatus = None - def __init__(self, RESOURCE_PATH): + def __init__(self, RESOURCE_PATH, stock_code, stock_name): super().__init__(RESOURCE_PATH) self.RESOURCE_PATH = RESOURCE_PATH - self.orderChecker = OrderChecker(self.RESOURCE_PATH, "ETF") + self.stock_code = stock_code + self.stock_name = stock_name + self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code) self.buySellChecker = BuySellChecker() self.labelChecker = LabelChecker(RESOURCE_PATH) self.slackBot = SlackBot() @@ -109,72 +112,72 @@ class HTS_etf(HTS): return result - def buyRealTime(self, today, stock_code, stock_name, analyzed_day=1000): + def buyRealTime(self, today, analyzed_day=1000): MAX_PRICE = 20000 print("START...") THIS_TIME = datetime.now() - LAST_DATA = self.getLastData(stock_code, today) + LAST_DATA = self.getLastData(self.stock_code, today) while datetime.strptime(today + " 063000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 153100",'%Y%m%d %H%M%S'): if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151500", '%Y%m%d %H%M%S'): # 매도를 체크한다. - self.sellStocks(stock_code) + self.sellStocks(self.stock_code) time.sleep(0.1) try: # 데이터를 가지고 온다. - result = self.getRealTime(stock_code, today, LAST_DATA) + result = self.getRealTime(self.stock_code, today, LAST_DATA) except: - print("#ERROR:", stock_code) + print("#ERROR:", self.stock_code) continue data = self.buySellChecker.analyze(result) data.drop(data.index[:len(data) - analyzed_day], inplace=True) # 사야 할 시점과 팔아야 할 시점을 체크한다. - bsLine = self.buySellChecker.checkTransaction(stock_code, data, None, None, isRealTime=True) + bsLine = self.buySellChecker.checkTransaction(self.stock_code, data, None, None, isRealTime=True) bs_buy_price = bsLine['buy'][0] bs_buy_weight = bsLine['buy_weight'][0] bs_sell_price = bsLine['sell'][0] # 미체결 기록을 가져와서 10분 이상 된 매수 주문을 취소 한다. ORDER_LIST = self.requestOrderList() - orderListToCancel = self.orderChecker.cancel(today, "A" + stock_code, ORDER_LIST, mins=30) + orderListToCancel = self.orderChecker.cancel(today, "A" + self.stock_code, ORDER_LIST, mins=30) if len(orderListToCancel) > 0: self.cancelOrderList(orderListToCancel) if bs_buy_price > 1000: - if not self.orderChecker.exist(today, "A" + stock_code, hours=9): + if not self.orderChecker.exist(today, "A" + self.stock_code, hours=9): buy_count = int(MAX_PRICE / bs_buy_price) if buy_count > 0: # 매수를 주문한다. - orderNum = self.requestOrder(OrderType.buy, stock_code, buy_count, bs_buy_price) - self.orderChecker.buy(today, "A" + stock_code, buy_count, bs_buy_price, orderNum) + orderNum = self.requestOrder(OrderType.buy, self.stock_code, buy_count, bs_buy_price) + self.orderChecker.buy(today, "A" + self.stock_code, buy_count, bs_buy_price, orderNum) # 로그 출력 - print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), orderNum, stock_code, bs_buy_price, buy_count) + print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), orderNum, self.stock_code, bs_buy_price, buy_count) if bs_sell_price > 1000: - check = self.sellStocks(stock_code, bs_sell_price) + check = self.sellStocks(self.stock_code, bs_sell_price) if check: # 로그 출력 - print("SELL", THIS_TIME.strftime('%Y%m%d %H%M%S'), stock_code, stock_code, bs_sell_price) + print("SELL", THIS_TIME.strftime('%Y%m%d %H%M%S'), self.stock_code, self.stock_name, bs_sell_price) # 로그 출력 print("TIMECHECK: %s, code: %s, buy: %d, sell: %d, open: %d, high: %d, low: %d, macd: %.2f" % - (str(THIS_TIME), stock_code, bs_buy_price, bs_sell_price, data["open"][0], data["high"][0], data["low"][0], data["macd"][0])) + (str(THIS_TIME), self.stock_code, bs_buy_price, bs_sell_price, data["open"][0], data["high"][0], data["low"][0], data["macd"][0])) if int(THIS_TIME.strftime("%M")) % 10 == 0: - self.slackBot.post_live_to_slack(stock_code, stock_name) + self.slackBot.post_live_to_slack(self.stock_code, self.stock_name) time.sleep(60) THIS_TIME = datetime.now() @@ -197,11 +200,11 @@ if __name__ == "__main__": stock_code = "122630" stock_name = "KODEX 레버리지" - hts = HTS_etf(RESOURCE_PATH) + hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name) hts.connect2DB("hts.db") today_str = today.strftime('%Y%m%d') - hts.buyRealTime(today_str, stock_code, stock_name, analyzed_day=1000) + hts.buyRealTime(today_str, analyzed_day=1000) db_filename = os.path.join(RESOURCE_PATH, "hts.db") hts.insertStockData(today, stock_code, stock_name) diff --git a/HTS_etf_233740.py b/HTS_etf_233740.py index 1ae0816..db0bf54 100644 --- a/HTS_etf_233740.py +++ b/HTS_etf_233740.py @@ -17,6 +17,7 @@ from stock.analysis.StockStatus import StockStatus class HTS_etf(HTS): RESOURCE_PATH = None stock_code = None + stock_name = None buy_count = None orderChecker = None buySellChecker = None @@ -24,12 +25,14 @@ class HTS_etf(HTS): slackBot = None stockStatus = None - def __init__(self, RESOURCE_PATH): + def __init__(self, RESOURCE_PATH, stock_code, stock_name): super().__init__(RESOURCE_PATH) self.RESOURCE_PATH = RESOURCE_PATH - self.orderChecker = OrderChecker(self.RESOURCE_PATH, "ETF") + self.stock_code = stock_code + self.stock_name = stock_name + self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code) self.buySellChecker = BuySellChecker() self.labelChecker = LabelChecker(RESOURCE_PATH) self.slackBot = SlackBot() @@ -109,72 +112,72 @@ class HTS_etf(HTS): return result - def buyRealTime(self, today, stock_code, stock_name, analyzed_day=1000): + def buyRealTime(self, today, analyzed_day=1000): MAX_PRICE = 20000 print("START...") THIS_TIME = datetime.now() - LAST_DATA = self.getLastData(stock_code, today) + LAST_DATA = self.getLastData(self.stock_code, today) while datetime.strptime(today + " 063000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 153100",'%Y%m%d %H%M%S'): if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151500", '%Y%m%d %H%M%S'): # 매도를 체크한다. - self.sellStocks(stock_code) + self.sellStocks(self.stock_code) time.sleep(0.1) try: # 데이터를 가지고 온다. - result = self.getRealTime(stock_code, today, LAST_DATA) + result = self.getRealTime(self.stock_code, today, LAST_DATA) except: - print("#ERROR:", stock_code) + print("#ERROR:", self.stock_code) continue data = self.buySellChecker.analyze(result) data.drop(data.index[:len(data) - analyzed_day], inplace=True) # 사야 할 시점과 팔아야 할 시점을 체크한다. - bsLine = self.buySellChecker.checkTransaction(stock_code, data, None, None, isRealTime=True) + bsLine = self.buySellChecker.checkTransaction(self.stock_code, data, None, None, isRealTime=True) bs_buy_price = bsLine['buy'][0] bs_buy_weight = bsLine['buy_weight'][0] bs_sell_price = bsLine['sell'][0] # 미체결 기록을 가져와서 10분 이상 된 매수 주문을 취소 한다. ORDER_LIST = self.requestOrderList() - orderListToCancel = self.orderChecker.cancel(today, "A" + stock_code, ORDER_LIST, mins=30) + orderListToCancel = self.orderChecker.cancel(today, "A" + self.stock_code, ORDER_LIST, mins=30) if len(orderListToCancel) > 0: self.cancelOrderList(orderListToCancel) if bs_buy_price > 1000: - if not self.orderChecker.exist(today, "A" + stock_code, hours=9): + if not self.orderChecker.exist(today, "A" + self.stock_code, hours=9): buy_count = int(MAX_PRICE / bs_buy_price) if buy_count > 0: # 매수를 주문한다. - orderNum = self.requestOrder(OrderType.buy, stock_code, buy_count, bs_buy_price) - self.orderChecker.buy(today, "A" + stock_code, buy_count, bs_buy_price, orderNum) + orderNum = self.requestOrder(OrderType.buy, self.stock_code, buy_count, bs_buy_price) + self.orderChecker.buy(today, "A" + self.stock_code, buy_count, bs_buy_price, orderNum) # 로그 출력 - print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), orderNum, stock_code, bs_buy_price, buy_count) + print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), orderNum, self.stock_code, bs_buy_price, buy_count) if bs_sell_price > 1000: - check = self.sellStocks(stock_code, bs_sell_price) + check = self.sellStocks(self.stock_code, bs_sell_price) if check: # 로그 출력 - print("SELL", THIS_TIME.strftime('%Y%m%d %H%M%S'), stock_code, stock_code, bs_sell_price) + print("SELL", THIS_TIME.strftime('%Y%m%d %H%M%S'), self.stock_code, self.stock_name, bs_sell_price) # 로그 출력 print("TIMECHECK: %s, code: %s, buy: %d, sell: %d, open: %d, high: %d, low: %d, macd: %.2f" % - (str(THIS_TIME), stock_code, bs_buy_price, bs_sell_price, data["open"][0], data["high"][0], data["low"][0], data["macd"][0])) + (str(THIS_TIME), self.stock_code, bs_buy_price, bs_sell_price, data["open"][0], data["high"][0], data["low"][0], data["macd"][0])) if int(THIS_TIME.strftime("%M")) % 10 == 0: - self.slackBot.post_live_to_slack(stock_code, stock_name) + self.slackBot.post_live_to_slack(self.stock_code, self.stock_name) time.sleep(60) THIS_TIME = datetime.now() @@ -197,11 +200,11 @@ if __name__ == "__main__": stock_code = "233740" stock_name = "KODEX 코스닥150레버리지" - hts = HTS_etf(RESOURCE_PATH) + hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name) hts.connect2DB("hts.db") today_str = today.strftime('%Y%m%d') - hts.buyRealTime(today_str, stock_code, stock_name, analyzed_day=1000) + hts.buyRealTime(today_str, analyzed_day=1000) db_filename = os.path.join(RESOURCE_PATH, "hts.db") hts.insertStockData(today, stock_code, stock_name) diff --git a/HTS_etf_251340.py b/HTS_etf_251340.py index e1b41b6..20cc289 100644 --- a/HTS_etf_251340.py +++ b/HTS_etf_251340.py @@ -17,6 +17,7 @@ from stock.analysis.StockStatus import StockStatus class HTS_etf(HTS): RESOURCE_PATH = None stock_code = None + stock_name = None buy_count = None orderChecker = None buySellChecker = None @@ -24,12 +25,14 @@ class HTS_etf(HTS): slackBot = None stockStatus = None - def __init__(self, RESOURCE_PATH): + def __init__(self, RESOURCE_PATH, stock_code, stock_name): super().__init__(RESOURCE_PATH) self.RESOURCE_PATH = RESOURCE_PATH - self.orderChecker = OrderChecker(self.RESOURCE_PATH, "ETF") + self.stock_code = stock_code + self.stock_name = stock_name + self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code) self.buySellChecker = BuySellChecker() self.labelChecker = LabelChecker(RESOURCE_PATH) self.slackBot = SlackBot() @@ -110,72 +113,72 @@ class HTS_etf(HTS): return result - def buyRealTime(self, today, stock_code, stock_name, analyzed_day=1000): + def buyRealTime(self, today, analyzed_day=1000): MAX_PRICE = 100000 print("START...") THIS_TIME = datetime.now() - LAST_DATA = self.getLastData(stock_code, today) + LAST_DATA = self.getLastData(self.stock_code, today) while datetime.strptime(today + " 063000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 153100",'%Y%m%d %H%M%S'): if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151500", '%Y%m%d %H%M%S'): # 매도를 체크한다. - self.sellStocks(stock_code) + self.sellStocks(self.stock_code) time.sleep(0.1) try: # 데이터를 가지고 온다. - result = self.getRealTime(stock_code, today, LAST_DATA) + result = self.getRealTime(self.stock_code, today, LAST_DATA) except: - print("#ERROR:", stock_code) + print("#ERROR:", self.stock_code) continue data = self.buySellChecker.analyze(result) data.drop(data.index[:len(data) - analyzed_day], inplace=True) # 사야 할 시점과 팔아야 할 시점을 체크한다. - bsLine = self.buySellChecker.checkTransaction(stock_code, data, None, None, isRealTime=True) + bsLine = self.buySellChecker.checkTransaction(self.stock_code, data, None, None, isRealTime=True) bs_buy_price = bsLine['buy'][0] bs_buy_weight = bsLine['buy_weight'][0] bs_sell_price = bsLine['sell'][0] # 미체결 기록을 가져와서 10분 이상 된 매수 주문을 취소 한다. ORDER_LIST = self.requestOrderList() - orderListToCancel = self.orderChecker.cancel(today, "A" + stock_code, ORDER_LIST, mins=30) + orderListToCancel = self.orderChecker.cancel(today, "A" + self.stock_code, ORDER_LIST, mins=30) if len(orderListToCancel) > 0: self.cancelOrderList(orderListToCancel) if bs_buy_price > 1000: - if not self.orderChecker.exist(today, "A" + stock_code, hours=9): + if not self.orderChecker.exist(today, "A" + self.stock_code, hours=9): buy_count = int(MAX_PRICE / bs_buy_price) if buy_count > 0: # 매수를 주문한다. - orderNum = self.requestOrder(OrderType.buy, stock_code, buy_count, bs_buy_price) - self.orderChecker.buy(today, "A" + stock_code, buy_count, bs_buy_price, orderNum) + orderNum = self.requestOrder(OrderType.buy, self.stock_code, buy_count, bs_buy_price) + self.orderChecker.buy(today, "A" + self.stock_code, buy_count, bs_buy_price, orderNum) # 로그 출력 - print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), orderNum, stock_code, bs_buy_price, buy_count) + print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), orderNum, self.stock_code, bs_buy_price, buy_count) if bs_sell_price > 1000: - check = self.sellStocks(stock_code, bs_sell_price) + check = self.sellStocks(self.stock_code, bs_sell_price) if check: # 로그 출력 - print("SELL", THIS_TIME.strftime('%Y%m%d %H%M%S'), stock_code, stock_code, bs_sell_price) + print("SELL", THIS_TIME.strftime('%Y%m%d %H%M%S'), self.stock_code, self.stock_name, bs_sell_price) # 로그 출력 print("TIMECHECK: %s, code: %s, buy: %d, sell: %d, open: %d, high: %d, low: %d, macd: %.2f" % - (str(THIS_TIME), stock_code, bs_buy_price, bs_sell_price, data["open"][0], data["high"][0], data["low"][0], data["macd"][0])) + (str(THIS_TIME), self.stock_code, bs_buy_price, bs_sell_price, data["open"][0], data["high"][0], data["low"][0], data["macd"][0])) if int(THIS_TIME.strftime("%M")) % 10 == 0: - self.slackBot.post_live_to_slack(stock_code, stock_name) + self.slackBot.post_live_to_slack(self.stock_code, self.stock_name) time.sleep(60) THIS_TIME = datetime.now() @@ -198,11 +201,11 @@ if __name__ == "__main__": stock_code = "251340" stock_name = "KODEX 코스닥150선물인버스" - hts = HTS_etf(RESOURCE_PATH) + hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name) hts.connect2DB("hts.db") today_str = today.strftime('%Y%m%d') - hts.buyRealTime(today_str, stock_code, stock_name, analyzed_day=1000) + hts.buyRealTime(today_str, analyzed_day=1000) db_filename = os.path.join(RESOURCE_PATH, "hts.db") hts.insertStockData(today, stock_code, stock_name) diff --git a/HTS_etf_252670.py b/HTS_etf_252670.py index d6f9906..cf54ecd 100644 --- a/HTS_etf_252670.py +++ b/HTS_etf_252670.py @@ -17,6 +17,7 @@ from stock.analysis.StockStatus import StockStatus class HTS_etf(HTS): RESOURCE_PATH = None stock_code = None + stock_name = None buy_count = None orderChecker = None buySellChecker = None @@ -24,12 +25,14 @@ class HTS_etf(HTS): slackBot = None stockStatus = None - def __init__(self, RESOURCE_PATH): + def __init__(self, RESOURCE_PATH, stock_code, stock_name): super().__init__(RESOURCE_PATH) self.RESOURCE_PATH = RESOURCE_PATH - self.orderChecker = OrderChecker(self.RESOURCE_PATH, "ETF") + self.stock_code = stock_code + self.stock_name = stock_name + self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code) self.buySellChecker = BuySellChecker() self.labelChecker = LabelChecker(RESOURCE_PATH) self.slackBot = SlackBot() @@ -110,72 +113,72 @@ class HTS_etf(HTS): return result - def buyRealTime(self, today, stock_code, stock_name, analyzed_day=1000): + def buyRealTime(self, today, analyzed_day=1000): MAX_PRICE = 10000 print("START...") THIS_TIME = datetime.now() - LAST_DATA = self.getLastData(stock_code, today) + LAST_DATA = self.getLastData(self.stock_code, today) while datetime.strptime(today + " 063000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 153100",'%Y%m%d %H%M%S'): if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151500", '%Y%m%d %H%M%S'): # 매도를 체크한다. - self.sellStocks(stock_code) + self.sellStocks(self.stock_code) time.sleep(0.1) try: # 데이터를 가지고 온다. - result = self.getRealTime(stock_code, today, LAST_DATA) + result = self.getRealTime(self.stock_code, today, LAST_DATA) except: - print("#ERROR:", stock_code) + print("#ERROR:", self.stock_code) continue data = self.buySellChecker.analyze(result) data.drop(data.index[:len(data) - analyzed_day], inplace=True) # 사야 할 시점과 팔아야 할 시점을 체크한다. - bsLine = self.buySellChecker.checkTransaction(stock_code, data, None, None, isRealTime=True) + bsLine = self.buySellChecker.checkTransaction(self.stock_code, data, None, None, isRealTime=True) bs_buy_price = bsLine['buy'][0] bs_buy_weight = bsLine['buy_weight'][0] bs_sell_price = bsLine['sell'][0] # 미체결 기록을 가져와서 10분 이상 된 매수 주문을 취소 한다. ORDER_LIST = self.requestOrderList() - orderListToCancel = self.orderChecker.cancel(today, "A" + stock_code, ORDER_LIST, mins=30) + orderListToCancel = self.orderChecker.cancel(today, "A" + self.stock_code, ORDER_LIST, mins=30) if len(orderListToCancel) > 0: self.cancelOrderList(orderListToCancel) if bs_buy_price > 1000: - if not self.orderChecker.exist(today, "A" + stock_code, hours=9): + if not self.orderChecker.exist(today, "A" + self.stock_code, hours=9): buy_count = int(MAX_PRICE / bs_buy_price) if buy_count > 0: # 매수를 주문한다. - orderNum = self.requestOrder(OrderType.buy, stock_code, buy_count, bs_buy_price) - self.orderChecker.buy(today, "A" + stock_code, buy_count, bs_buy_price, orderNum) + orderNum = self.requestOrder(OrderType.buy, self.stock_code, buy_count, bs_buy_price) + self.orderChecker.buy(today, "A" + self.stock_code, buy_count, bs_buy_price, orderNum) # 로그 출력 - print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), orderNum, stock_code, bs_buy_price, buy_count) + print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), orderNum, self.stock_code, bs_buy_price, buy_count) if bs_sell_price > 1000: - check = self.sellStocks(stock_code, bs_sell_price) + check = self.sellStocks(self.stock_code, bs_sell_price) if check: # 로그 출력 - print("SELL", THIS_TIME.strftime('%Y%m%d %H%M%S'), stock_code, stock_code, bs_sell_price) + print("SELL", THIS_TIME.strftime('%Y%m%d %H%M%S'), self.stock_code, self.stock_name, bs_sell_price) # 로그 출력 print("TIMECHECK: %s, code: %s, buy: %d, sell: %d, open: %d, high: %d, low: %d, macd: %.2f" % - (str(THIS_TIME), stock_code, bs_buy_price, bs_sell_price, data["open"][0], data["high"][0], data["low"][0], data["macd"][0])) + (str(THIS_TIME), self.stock_code, bs_buy_price, bs_sell_price, data["open"][0], data["high"][0], data["low"][0], data["macd"][0])) if int(THIS_TIME.strftime("%M")) % 10 == 0: - self.slackBot.post_live_to_slack(stock_code, stock_name) + self.slackBot.post_live_to_slack(self.stock_code, self.stock_name) time.sleep(60) THIS_TIME = datetime.now() @@ -198,11 +201,11 @@ if __name__ == "__main__": stock_code = "252670" stock_name = "KODEX 200선물인버스2X" - hts = HTS_etf(RESOURCE_PATH) + hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name) hts.connect2DB("hts.db") today_str = today.strftime('%Y%m%d') - hts.buyRealTime(today_str, stock_code, stock_name, analyzed_day=1000) + hts.buyRealTime(today_str, analyzed_day=1000) db_filename = os.path.join(RESOURCE_PATH, "hts.db") hts.insertStockData(today, stock_code, stock_name) diff --git a/hts/OrderChecker.py b/hts/OrderChecker.py index 500faff..ba0daf7 100644 --- a/hts/OrderChecker.py +++ b/hts/OrderChecker.py @@ -8,13 +8,13 @@ class OrderChecker: order_df = None TYPE = None - def __init__(self, RESOURCE_PATH, type=""): + def __init__(self, RESOURCE_PATH, stock_code=""): self.RESOURCE_PATH = RESOURCE_PATH - self.TYPE = type + self.stock_code = stock_code return def read(self, ymd): - saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.TYPE+"_"+ymd + ".csv") + saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.stock_code+"_"+ymd + ".csv") if os.path.isfile(saveFileName): order_df = pd.read_csv(saveFileName) @@ -53,7 +53,7 @@ class OrderChecker: order_df = order_df.astype({"stock_code": str, "type": int, "orderNum": str, "canceled": int, "count": int, "price": int}) # 파일로 기록한다. - saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.TYPE+"_"+ymd + ".csv") + saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.stock_code+"_"+ymd + ".csv") order_df.to_csv(saveFileName) return True @@ -66,7 +66,7 @@ class OrderChecker: order_df.loc[(order_df["stock_code"] == stock_code, 'type')] = 1 # 파일로 기록 한다. - saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.TYPE+"_"+ymd + ".csv") + saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.stock_code+"_"+ymd + ".csv") order_df.to_csv(saveFileName) return True @@ -86,7 +86,7 @@ class OrderChecker: for i in range(len(df)): order_df.loc[(order_df['stock_code']==stock_code) & (order_df.index == df.index[i]), 'canceled'] = 1 - saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.TYPE+"_"+ymd + ".csv") + saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.stock_code+"_"+ymd + ".csv") order_df.to_csv(saveFileName, index=False) if ORDER_LIST is not None and len(ORDER_LIST) > 0: