diff options
Diffstat (limited to 'tranches_insight/tranches_insight.py')
| -rw-r--r-- | tranches_insight/tranches_insight.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/tranches_insight/tranches_insight.py b/tranches_insight/tranches_insight.py index 1c6b2991..5ffb0383 100644 --- a/tranches_insight/tranches_insight.py +++ b/tranches_insight/tranches_insight.py @@ -2,6 +2,7 @@ from flask import Flask, render_template, jsonify, request, g import os, csv, yaml import datetime import psycopg2 +import pdb app = Flask(__name__) @@ -33,25 +34,28 @@ def close_connection(exception): db.close() @app.route("/_data") -def get_corr(): +def get_risk_number(): 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("SELECT date, skew from risk_numbers WHERE index=%s and series=%s" \ - "and tenor=%s ORDER BY date", (index.upper(), series, tenor)) - data = [["%s/%s/%s" % (date.year, date.month, date.day)] + skew[:-1] for date, skew in c] - return jsonify(labels=["Date"] + ["{0} Corr".format(a) for a in attach[1:-1]], data=data) + 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("/") def main(): with open(os.path.join(basedir, "code", "etc", "runs.yml")) as fh: runs = yaml.load(fh) - index_list = [[name[:2], name[2:], tenor] for name, tenor in zip(runs['name'], runs['tenor'])] - return render_template("index.html", index_list=index_list) + series_list = sorted(list(set([int(name[2:]) for name in runs['name']]))) + return render_template("index.html", series=series_list) if __name__ == "__main__": app.run(debug=True) |
