aboutsummaryrefslogtreecommitdiffstats
path: root/python/mark_backtest_underpar.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/mark_backtest_underpar.py')
-rw-r--r--python/mark_backtest_underpar.py11
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)