Skip to content
Snippets Groups Projects
Commit 1ee3e21a authored by Sivaramalingam, Janani (PG/T - Comp Sci & Elec Eng)'s avatar Sivaramalingam, Janani (PG/T - Comp Sci & Elec Eng)
Browse files

Update val_sim.py

parent 549d2c03
No related branches found
No related tags found
No related merge requests found
#The below code was referenced and modified as per the requirement from the code provided on course work desciption document.
#The handling of the input from the GAE(codes from line 9 to 18) are adopted from Python3 documentation https://docs.python.org/3/library/
#!/usr/bin/python3
import math, random, sys, json
from statistics import mean, stdev
event = json.loads(sys.stdin.read())
import json
import sys
# Read input from stdin
input_data = sys.stdin.read()
event = json.loads(input_data)
# Extract the values from the event dictionary
dt = eval(event['key1'])
close = eval(event['key2'])
buy = eval(event['key3'])
......@@ -16,44 +13,18 @@ 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:
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))]
mean = mean(pct_change)
std = stdev(pct_change)
simulated = [random.gauss(mean,std) for x in range(shots)]
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:
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))]
mean = mean(pct_change)
std = stdev(pct_change)
simulated = [random.gauss(mean,std) for x in range(shots)]
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")
print(json.dumps(output))
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