Skip to content
Snippets Groups Projects

Update karthik_ec2.py

parent 4948ba57
No related branches found
No related tags found
No related merge requests found
......@@ -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)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment