diff options
Diffstat (limited to 'python/mark_backtest_underpar.py')
| -rw-r--r-- | python/mark_backtest_underpar.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/python/mark_backtest_underpar.py b/python/mark_backtest_underpar.py index 982a8886..a7d72c2b 100644 --- a/python/mark_backtest_underpar.py +++ b/python/mark_backtest_underpar.py @@ -1,5 +1,4 @@ import pandas as pd -from db import dbengine import matplotlib import numpy as np import matplotlib.pyplot as plt @@ -7,17 +6,19 @@ import statsmodels.api as sm from statsmodels.formula.api import gls import seaborn as sb +from db import serenitas_engine, dawn_engine, DataError + import globeop_reports as ops def get_mark_df(asset_class = 'Subprime'): #It used to be >1000 but as of 12/17/2018 changed it to 3000 #Filter marks >3000 where the marks are weird... df_external_marks = pd.read_sql_query("select * from external_marks_mapped where mark < 3000" - , dbengine('dawndb')) + , dawn_engine) df_trades = pd.DataFrame() for date in df_external_marks.date.unique(): df_temp= pd.read_sql_query("select description, identifier, usd_market_value/price*100 as curr_ntl from risk_positions(%s, %s) where price >0 and length(identifier) = 9 " - , dbengine('dawndb'), params = [date, asset_class]) + , dawn_engine, params = [date, asset_class]) df_temp['date'] = date df_trades = df_trades.append(df_temp) df = df_trades.merge(df_external_marks).dropna() @@ -112,11 +113,11 @@ def alt_nav_impact(): #return df.iloc[-1]/df.iloc[-1]['endbooknav'] def back_test(begindate = '2013-01-01', enddate = '2018-01-01', sell_price_threshold = 200): - df = pd.read_sql_query("SELECT * FROM external_marks_mapped WHERE source IS NOT NULL", dbengine('dawndb'), + df = pd.read_sql_query("SELECT * FROM external_marks_mapped WHERE source IS NOT NULL", dawn_engine, parse_dates=['date']) df_wide = (pd.pivot_table(df, 'mark', ['identifier', 'date'], 'source').reset_index().sort_values('date')) df_trades = pd.read_sql_query("select trade_date, identifier, price, buysell from bonds", - dbengine('dawndb'), parse_dates=['trade_date']) + dawn_engine, parse_dates=['trade_date']) df_trades.sort_values('trade_date', inplace = True) df_sell_wide = pd.merge_asof(df_trades[df_trades.buysell == False], df_wide, left_on='trade_date', right_on='date', by='identifier').drop('date', 1) |
