diff options
| -rw-r--r-- | python/markit/rates.py | 4 | ||||
| -rw-r--r-- | python/yieldcurve.py | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/python/markit/rates.py b/python/markit/rates.py index 7d96bbb4..6fff3860 100644 --- a/python/markit/rates.py +++ b/python/markit/rates.py @@ -1,6 +1,7 @@ from db import dbconn import datetime from io import BytesIO +import lz4 import os import pandas as pd import requests @@ -37,7 +38,8 @@ def downloadMarkitIRData(download_date=datetime.date.today(), jp_yc = ql_to_jp(ql_yc) sql_str = "INSERT INTO {}_curves VALUES(%s, %s) ON CONFLICT DO NOTHING".format(currency) with conn.cursor() as c: - c.execute(sql_str, (MarkitData['effectiveasof'], jp_yc.__getstate__())) + c.execute(sql_str, (MarkitData['effectiveasof'], + lz4.block.compress(jp_yc.__getstate__()))) instruments = MarkitData['deposits'] + MarkitData['swaps'] names = ",".join(['"{}"'.format(r[0]) for r in instruments]) values = ",".join(["%s"] * (len(instruments) + 1)) # +1 for effective_date diff --git a/python/yieldcurve.py b/python/yieldcurve.py index 65ef71bf..3eb8bf95 100644 --- a/python/yieldcurve.py +++ b/python/yieldcurve.py @@ -1,6 +1,7 @@ from contextlib import closing from itertools import islice import datetime +import lz4 import os import pandas as pd from quantlib.settings import Settings @@ -33,10 +34,10 @@ def get_curves(currency="USD", date=None): c.execute(sql_str, (date,)) if c: curve, = c.fetchone() - return YieldCurve.from_bytes(curve) + return YieldCurve.from_bytes(lz4.block.decompress(curve)) else: c.execute(sql_str) - return {d: YieldCurve.from_bytes(curve) + return {d: YieldCurve.from_bytes(lz4.block.decompress(curve)) for d, curve in c} _USD_curves = get_curves("USD") @@ -199,7 +200,7 @@ def build_curves(currency="USD"): 0, calendar, valid_deps + valid_swaps, Actual365Fixed()) jp_yc = ql_to_jp(ql_yc) with conn.cursor() as c: - c.execute(sql_str, (effective_date, jp_yc.__getstate__())) + c.execute(sql_str, (effective_date, lz4.block.compress(jp_yc.__getstate__()))) conn.commit() if __name__=="__main__": |
