aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/markit/rates.py4
-rw-r--r--python/yieldcurve.py7
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__":