aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/new_index_series.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/python/new_index_series.py b/python/new_index_series.py
index 879228fe..7c2aea0d 100644
--- a/python/new_index_series.py
+++ b/python/new_index_series.py
@@ -1,6 +1,5 @@
from serenitas.analytics.bbg_helpers import init_bbg_session, retrieve_data
from serenitas.analytics.dates import roll_date
-from psycopg2.extras import execute_values
import datetime
import pandas as pd
@@ -37,20 +36,24 @@ def new_basket_id(
name = bbg_name(index_type, series, version=version)
data = retrieve_data(session, [name], ["CDS_RED_PAIR_CODE"])
red = data[name]["CDS_RED_PAIR_CODE"]
- sql_str = (
- "INSERT INTO index_version(index, series, version, redindexcode) "
- "VALUES(%s, %s, %s, %s) RETURNING basketid"
+ sql_series = (
+ "INSERT INTO index_series(index, series) VALUES(%s, %s) RETURNING index_id"
+ )
+ sql_version = (
+ "INSERT INTO index_factors(index_id, version, redindexcode) "
+ "VALUES(%s, %s, %s) RETURNING basketid"
)
with conn.cursor() as c:
- c.execute(sql_str, (index_type, series, version, red))
+ c.execute(sql_series, (index_type, series))
+ (index_id,) = c.fetchone()
+ c.execute(sql_version, (index_id, version, red))
(basket_id,) = c.fetchone()
maturities = [mat_5yr.replace(year=mat_5yr.year + off) for off in [-2, 0, 2, 5]]
with conn.cursor() as c:
- execute_values(
- c,
- "INSERT INTO index_maturity VALUES %s",
+ c.executemany(
+ "INSERT INTO index_maturities(index_id, tenor, maturity, coupon) VALUES (%s, %s, %s, %s)",
[
- (index_type, series, t, m, coupon)
+ (index_id, t, m, coupon)
for t, m in zip(["3yr", "5yr", "7yr", "10yr"], maturities)
],
)