From 7c1eed838102ab210f228bb24e98a240a40f7c83 Mon Sep 17 00:00:00 2001
From: "Madhavan Pillai Sasidharan Nai, Meenu (PG/T - Comp Sci & Elec Eng)"
 <mm03943@surrey.ac.uk>
Date: Sun, 12 May 2024 23:24:12 +0000
Subject: [PATCH] Update ec2.py

---
 ec2.py | 65 +++++++++++++++++++++++++++++-----------------------------
 1 file changed, 32 insertions(+), 33 deletions(-)

diff --git a/ec2.py b/ec2.py
index b59d3be..4bfea8a 100644
--- a/ec2.py
+++ b/ec2.py
@@ -4,62 +4,61 @@ import math, random, sys, json
 from statistics import mean, stdev
 
 
-event = json.loads(sys.stdin.read())
+session = json.loads(sys.stdin.read())
 
 
-dt = eval(event['key1'])
-close = eval(event['key2'])
-buy = eval(event['key3'])
-sell = eval(event['key4'])
-h = int(event['key5'])
-d = int(event['key6'])
-t = event['key7']
+date = eval(session['key1'])
+close = eval(session['key2'])
+buy = eval(session['key3'])
+sell = eval(session['key4'])
+h = int(session['key5'])
+d = int(session['key6'])
+t = session['key7']
 minhistory = h
 shots = d
-var95_list = []
-var99_list = []
+var_95_list = []
+var_99_list = []
 dates = []
 
 for i in range(minhistory, len(close)):
-	if t == "buy":
-		if buy[i] == 1: # if we’re interested in Buy signals
+    if t == "sell":
+		if sell[i] == 1: # if we’re interested in Sell signals
 			close_data = close[i-minhistory:i]
-			pct_change = [(close_data[i] - close_data[i-1]) / close_data[i-1] for i in range(1,len(close_data))]
-			mn = mean(pct_change)
-			std = stdev(pct_change)
+			percent_change = [(close_data[i] - close_data[i-1]) / close_data[i-1] for i in range(1,len(close_data))]#Calculating percenage change as dataframe method pct_change can't be used
+			mean = mean(percent_change)
+			std = stdev(percent_change)
 			# generate much larger random number series with same broad characteristics 
-			simulated = [random.gauss(mn,std) for x in range(shots)]
+			simulated = [random.gauss(mean,std) for x in range(shots)]
 			# sort and pick 95% and 99%  - not distinguishing long/short risks here
 			simulated.sort(reverse=True)
 			var95 = simulated[int(len(simulated)*0.95)]
 			var99 = simulated[int(len(simulated)*0.99)]
-			var95_list.append(var95)
-			var99_list.append(var99)
-			dates.append(str(dt[i]))
-	elif t == "sell":
-		if sell[i] == 1: # if we’re interested in Sell signals
+			var_95_list.append(var95)
+			var_99_list.append(var99)
+			dates.append(str(date[i]))
+	if t == "buy":
+		if buy[i] == 1: # if we’re interested in Buy signals
 			close_data = close[i-minhistory:i]
-			pct_change = [(close_data[i] - close_data[i-1]) / close_data[i-1] for i in range(1,len(close_data))]
-			mn = mean(pct_change)
-			std = stdev(pct_change)
+			percent_change = [(close_data[i] - close_data[i-1]) / close_data[i-1] for i in range(1,len(close_data))]#Calculating percenage change as dataframe method pct_change can't be used
+			mean = mean(percent_change)
+			std = stdev(percent_change)
 			# generate much larger random number series with same broad characteristics 
-			simulated = [random.gauss(mn,std) for x in range(shots)]
+			simulated = [random.gauss(mean,std) for x in range(shots)]
 			# sort and pick 95% and 99%  - not distinguishing long/short risks here
 			simulated.sort(reverse=True)
 			var95 = simulated[int(len(simulated)*0.95)]
 			var99 = simulated[int(len(simulated)*0.99)]
-			var95_list.append(var95)
-			var99_list.append(var99)
-			dates.append(str(dt[i]))
+			var_95_list.append(var95)
+			var_99_list.append(var99)
+			dates.append(str(date[i]))
 
 output = {"dates" : dates,
-		"var95" : var95_list,
-		"var99" : var99_list
+		"var95" : var_95_list,
+		"var99" : var_99_list
 		}
 
-output = json.dumps(output)
+final_output = json.dumps(output)
 
 print("Content-Type: application/json")
 print()
-print(output)
-
+print(final_output)
-- 
GitLab