diff options
Diffstat (limited to 'risk_insight/insight.py')
| -rw-r--r-- | risk_insight/insight.py | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/risk_insight/insight.py b/risk_insight/insight.py deleted file mode 100644 index e422470d..00000000 --- a/risk_insight/insight.py +++ /dev/null @@ -1,92 +0,0 @@ -from flask import Flask, render_template, jsonify, request, g -import os, csv, yaml -import datetime -import psycopg2 -import pdb - -app = Flask(__name__) - -basedir = "/home/share/CorpCDOs" - -def get_attach_from_name(index_type, series): - if index_type.lower() == "ig": - if series == 9: - attach = [0, 3, 7, 10, 15, 30, 100] - else: - attach = [0, 3, 7, 15, 100] - elif index_type.lower() == "hy": - attach = [0, 15, 25, 35, 100] - elif index_type.lower() == "xo": - attach = [0, 10, 20, 35, 100] - elif index_type.lower() == "eu": - if series == 9: - attach = [0, 3, 6, 9, 12, 22, 100] - else: - attach = [0, 3, 6, 12, 100] - return attach - -def get_db(): - db = getattr(g, '_database', None) - if db is None: - db = g._database = psycopg2.connect(database="serenitasdb", - user="serenitas_user", - password="Serenitas1", - host="debian") - return db - -@app.teardown_appcontext -def close_connection(exception): - db = getattr(g, '_database', None) - if db is not None: - db.close() - -@app.route("/_data_tranches") -def get_risk_numbers(): - index = request.args.get("i") - series = request.args.get("s", 0, int) - tenor = request.args.get("t") - greek = request.args.get("g") - data = [] - db = get_db() - attach = get_attach_from_name(index, series) - sqlstr = "SELECT date, \"{0}\" from risk_numbers WHERE index=%s and series=%s" \ - " and tenor=%s ORDER BY date".format(greek) - with db.cursor() as c: - c.execute(sqlstr, (index.upper(), series, tenor)) - data = [["%s/%s/%s" % (date.year, date.month, date.day)] + val for date, val in c] - return jsonify(labels=["Date"] + ["{0}-{1} {2}".format(l, u, greek) for l, u in zip(attach[:-1], attach[1:])], - data=data) - -@app.route("/_data_indices") -def get_indices_quotes(): - index = request.args.get("i") - series = request.args.get("s", 0, int) - tenor = request.args.get("t") - data = [] - db = get_db() - sqlstr = "SELECT date, closeprice, modelprice, adjcloseprice, adjmodelprice " \ - "from index_quotes WHERE index=%s and series=%s " \ - "and tenor=%s ORDER BY date" - with db.cursor() as c: - c.execute(sqlstr, (index.upper(), series, tenor)) - data = [["%s/%s/%s" % (date.year, date.month, date.day)] + val for date, *val in c] - return jsonify(labels=["Date", "Close", "FV", "AdjClose", "AdjFV"], - data=data) - -@app.route("/tranches.html") -def tranches(): - with open(os.path.join(basedir, "code", "etc", "runs.yml")) as fh: - runs = yaml.load(fh) - series_list = sorted(list(set([int(name[2:]) for name in runs['name']]))) - return render_template("tranches.html", series=series_list) - -@app.route("/indices.html") -def indices(): - return render_template("indices.html", series=[9, 10, 11, 13, 15, 17, 19, 21, 22, 23]) - -@app.route("/") -def main(): - return render_template("index.html") - -if __name__ == "__main__": - app.run(debug=True) |
