diff --git a/karthik_ec2.py b/karthik_ec2.py index 92e8865c8b9b54a940a85028354e69bdb04b6949..7b5c41e08825e1f87380521a09ca42bfc1752723 100644 --- a/karthik_ec2.py +++ b/karthik_ec2.py @@ -2,9 +2,7 @@ import math, random, sys, json from statistics import mean, stdev - try: - # Read and parse the incoming JSON payload input_data = sys.stdin.read() event = json.loads(input_data) @@ -19,29 +17,27 @@ try: if None in [dt, close, buy, sell, h, d, t]: raise ValueError("Missing one or more necessary keys in the input data.") - minhistory = h - shots = d var95 = [] - var99= [] + var99 = [] dates = [] - for i in range(minhistory, len(close)): + for i in range(h, len(close)): if t == "buy" and buy[i] == 1: - close_data = close[i-minhistory:i] + close_data = close[i-h:i] pct_change = [(close_data[j] - close_data[j-1]) / close_data[j-1] for j in range(1, len(close_data))] mn = mean(pct_change) std = stdev(pct_change) - simulated = [random.gauss(mn, std) for _ in range(shots)] + simulated = [random.gauss(mn, std) for _ in range(d)] simulated.sort(reverse=True) var95.append(simulated[int(len(simulated) * 0.95)]) var99.append(simulated[int(len(simulated) * 0.99)]) dates.append(str(dt[i])) elif t == "sell" and sell[i] == 1: - close_data = close[i-minhistory:i] + close_data = close[i-h:i] pct_change = [(close_data[j] - close_data[j-1]) / close_data[j-1] for j in range(1, len(close_data))] mn = mean(pct_change) std = stdev(pct_change) - simulated = [random.gauss(mn, std) for _ in range(shots)] + simulated = [random.gauss(mn, std) for _ in range(d)] simulated.sort(reverse=True) var95.append(simulated[int(len(simulated) * 0.95)]) var99.append(simulated[int(len(simulated) * 0.99)]) @@ -53,15 +49,12 @@ try: "var99": var99 } - logging.debug(f"Produced output: {json.dumps(output)}") - print("Content-Type: application/json") print() print(json.dumps(output)) except Exception as e: error_message = str(e) - logging.error(f"Error: {error_message}") print("Content-Type: text/plain") print() - print(error_message) \ No newline at end of file + print(error_message)