diff options
| -rw-r--r-- | python/position.py | 4 | ||||
| -rw-r--r-- | sql/dawn.sql | 6 |
2 files changed, 4 insertions, 6 deletions
diff --git a/python/position.py b/python/position.py index f3d79909..3bb6b67b 100644 --- a/python/position.py +++ b/python/position.py @@ -24,8 +24,7 @@ def get_list( ) else: positions = pd.read_sql_table("securities", engine) - positions.identifier = positions.figi - positions["bbg_id"] = positions.identifier + " " + positions.bbg_type + positions["bbg_id"] = positions.figi + " " + positions.bbg_type positions.set_index("bbg_id", inplace=True) return positions @@ -92,7 +91,6 @@ def update_securities(engine, session, workdate): data = data[ data.CPN_ASOF_DT.isnull() | (data.CPN_ASOF_DT <= pd.Timestamp(workdate)) ] - m = securities.merge(data, left_index=True, right_index=True) conn = engine.raw_connection() with conn.cursor() as c: diff --git a/sql/dawn.sql b/sql/dawn.sql index 82c5994d..1c373cb6 100644 --- a/sql/dawn.sql +++ b/sql/dawn.sql @@ -876,7 +876,7 @@ CREATE OR REPLACE function list_positions(p_date date, RETURNS TABLE(identifier varchar(12), description varchar(32), notional float, strategy bond_strat, curr_cpn float, start_accrued_date date, last_settle_date date, principal_payment float, accrued_payment float, currency currency, daycount day_count, - bbg_type bbg_type, cusip varchar(9)) AS $$ + bbg_type bbg_type, figi varchar(12)) AS $$ DECLARE sqlquery text; DECLARE asset_opt text; DECLARE unsettled_opt text; @@ -896,9 +896,9 @@ BEGIN principal_payment, accrued_payment, sum(faceamount*(2*buysell::int-1) ) OVER (PARTITION BY bond_trades.identifier) notional FROM bond_trades WHERE trade_date<=$1 AND fund=$3) - SELECT DISTINCT ON (temp.identifier) securities.figi, securities.description, notional, folder, + SELECT DISTINCT ON (identifier) securities.identifier, securities.description, notional, folder, securities.coupon, start_accrued_date, settle_date, temp.principal_payment, - temp.accrued_payment, securities.currency, securities.day_count, securities.bbg_type, securities.cusip + temp.accrued_payment, securities.currency, securities.day_count, securities.bbg_type, securities.figi FROM temp LEFT JOIN securities USING (identifier) WHERE (temp.notional>0 '||unsettled_opt||') AND paid_down>$1 '||asset_opt ||' ORDER BY identifier, settle_date desc'; |
