diff --git a/val_sim.py b/val_sim.py
index d0f74c6aad9e846d4a5185b3f20d62cefdb92efc..8fb2cb858fcc450a94cc36cd8d87b746443d0f9e 100644
--- a/val_sim.py
+++ b/val_sim.py
@@ -1,12 +1,12 @@
 #!/usr/bin/python3
-import json
-import sys
 
-# Read input from stdin
-input_data = sys.stdin.read()
-event = json.loads(input_data)
+import math, random, sys, json
+from statistics import mean, stdev
+
+
+event = json.loads(sys.stdin.read())
+
 
-# Extract the values from the event dictionary
 dt = eval(event['key1'])
 close = eval(event['key2'])
 buy = eval(event['key3'])
@@ -14,18 +14,51 @@ sell = eval(event['key4'])
 h = int(event['key5'])
 d = int(event['key6'])
 t = event['key7']
+minhistory = h
+shots = d
+var95_list = []
+var99_list = []
+dates = []
+
+for i in range(minhistory, len(close)):
+	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)
+			# generate much larger random number series with same broad characteristics 
+			simulated = [random.gauss(mn,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
+			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)
+			# generate much larger random number series with same broad characteristics 
+			simulated = [random.gauss(mn,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]))
+
+output = {"dates" : dates,
+		"var95" : var95_list,
+		"var99" : var99_list
+		}
+
+output = json.dumps(output)
 
-# Prepare the output with the received input values
-output = {
-    "dates": dt,
-    "close": close,
-    "buy": buy,
-    "sell": sell,
-    "h": h,
-    "d": d,
-    "t": t
-}
-
-# Print result as JSON
-print("Content-Type: application/json\n")
-return output
+print("Content-Type: application/json")
+print()
+print(output)