From d2375e83ec3ce32aca8c4ae363d1635ac6f847ee Mon Sep 17 00:00:00 2001 From: dosangyoon Date: Fri, 19 Aug 2022 01:14:39 +0900 Subject: [PATCH] init --- Simulation.py | 4 +-- hts/BuySellChecker.py | 73 ++++++++++++++++++++++++++----------------- 2 files changed, 46 insertions(+), 31 deletions(-) diff --git a/Simulation.py b/Simulation.py index cb055b9..70d839b 100644 --- a/Simulation.py +++ b/Simulation.py @@ -179,8 +179,8 @@ if __name__ == "__main__": # to check bying stock_codes = { - #"252670": ['20220817'], - "122630": ['20220815', '20220816', '20220817', '20220818', '20220819'], + #"252670": ['20220602'], + "122630": ['20220611', '20220612', '20220613', '20220614'], } method = "rule" # "rule", "ml", "answer" diff --git a/hts/BuySellChecker.py b/hts/BuySellChecker.py index ea70e4e..0b08492 100644 --- a/hts/BuySellChecker.py +++ b/hts/BuySellChecker.py @@ -312,37 +312,45 @@ class BuySellChecker: if i > START_TIME_INDEX: # ๋งค์ˆ˜ ๋ถ„์„ - """ - data["diff_avg27"][i] < -1.637205387 * param and - - data["diff_avg3_avg27"][i] < -25.4455267 * param and - data["diff_avg3_avg54"][i] < -31.55964406 * param and - - data["diff_avg6_avg27"][i] < -17.45039683 * param and - data["diff_avg6_avg54"][i] < -23.56451419 * param and - - data["diff_avg9_avg27"][i] < -13.27020202 * param and - data["diff_avg9_avg54"][i] < -19.38431938 * param and - - data["diff_avg12_avg27"][i] < -10.42388167 * param and - data["diff_avg12_avg54"][i] < -16.53799904 * param and - - data["diff_change_lead1"][i] < -25.68993506 * param and - data["diff_open_lead1"][i] < -37.53246753 * param and - data["diff_close_lead1"][i] < -45.1461039 * param and - data["diff_high_lead1"][i] < -30.03246753 * param and - data["diff_low_lead1"][i] < -53.08441558 * param - """ - param = 1 - if (data["macd"][i] < -8.532976905 and data["macds"][i] < -5.679850674 and - data["abs_avg_1"][i] > 70.48701299 * param - ): - if -30 < data["macd"][i] < -25: + if (data["macd"][i] < -8.532976905 and data["macds"][i] < -5.679850674 and data["abs_avg_1"][i] > 70.48701299 * param ): + """ + if (data["diff_avg27"][i] < -1.637205387 * param and + + data["diff_avg3_avg27"][i] < -25.4455267 * param and + data["diff_avg3_avg54"][i] < -31.55964406 * param and + + data["diff_avg6_avg27"][i] < -17.45039683 * param and + data["diff_avg6_avg54"][i] < -23.56451419 * param and + + data["diff_avg9_avg27"][i] < -13.27020202 * param and + data["diff_avg9_avg54"][i] < -19.38431938 * param and + + data["diff_avg12_avg27"][i] < -10.42388167 * param and + data["diff_avg12_avg54"][i] < -16.53799904 * param and + + data["diff_change_lead1"][i] < -25.68993506 * param and + data["diff_open_lead1"][i] < -37.53246753 * param and + data["diff_close_lead1"][i] < -45.1461039 * param and + data["diff_high_lead1"][i] < -30.03246753 * param and + data["diff_low_lead1"][i] < -53.08441558 * param + ): + buy = int((data["open"][i] + data["close"][i]) / 2) weight = 1 return buy, weight + """ + if -30 < data["macd"][i] < -25: + valid = True + for c in range(1, 20): + if data["macd"][i-c] < -30: + valid = False + break + if valid: + buy = int((data["open"][i] + data["close"][i]) / 2) + weight = 1 + return buy, weight previous_lowest_close = 99999999 for c in range(10, 30): @@ -350,9 +358,16 @@ class BuySellChecker: previous_lowest_close = data["close"][i-c] if data["close"][i] > previous_lowest_close: - buy = int((data["open"][i] + data["close"][i]) / 2) - weight = 1 - return buy, weight + valid = True + for c in range(1, 20): + if data["macd"][i-c] < -30: + valid = False + break + if valid: + buy = int((data["open"][i] + data["close"][i]) / 2) + weight = 1 + return buy, weight + if (data["avg54"][i-4] < data["avg54"][i-3] < data["avg54"][i-2] < data["avg54"][i-1] < data["avg54"][i] and data["avg54"][i] < min(data["avg3"][i], data["avg6"][i], data["avg9"][i], data["avg12"][i], data["avg27"][i]) and