aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/markit/__main__.py75
1 files changed, 38 insertions, 37 deletions
diff --git a/python/markit/__main__.py b/python/markit/__main__.py
index cfe6e510..48db1c0c 100644
--- a/python/markit/__main__.py
+++ b/python/markit/__main__.py
@@ -11,78 +11,79 @@ from .rates import downloadMarkitIRData
from .import_quotes import insert_cds, insert_index, insert_tranche
from sqlalchemy import create_engine
from .utils import default_date
+from utils import SerenitasFileHandler
from utils.db import dbconn
# parse arguments
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group(required=True)
-group.add_argument("-l", "--loans", action="store_true",
- help="download markit loan data")
-group.add_argument("-c", "--cds", action="store_true",
- help="download markit cds data")
-group.add_argument("-r", "--rates", action="store_true",
- help="download markit IR data")
-parser.add_argument("-i", "--insert-only", action="store_true",
- help="do not re-download data")
-parser.add_argument('workdate', nargs='?',
- type=lambda s: pd.datetime.strptime(s, "%Y-%m-%d").date())
+group.add_argument(
+ "-l", "--loans", action="store_true", help="download markit loan data"
+)
+group.add_argument("-c", "--cds", action="store_true", help="download markit cds data")
+group.add_argument("-r", "--rates", action="store_true", help="download markit IR data")
+parser.add_argument(
+ "-i", "--insert-only", action="store_true", help="do not re-download data"
+)
+parser.add_argument(
+ "workdate", nargs="?", type=lambda s: pd.datetime.strptime(s, "%Y-%m-%d").date()
+)
args = parser.parse_args()
historical = True
-if args.workdate is None:
+if args.workdate is None and not arg.rates:
historical = False
workdate = default_date()
+elif arg.rates:
+ workdate = datetime.date.today()
else:
workdate = args.workdate
if args.loans:
- log_file = os.path.join(os.environ['LOG_DIR'], 'markit_loans.log')
+ fh = SerenitasFileHandler("markit_loans.log")
elif args.cds:
- log_file = os.path.join(os.environ['LOG_DIR'], 'markit_cds.log')
+ fh = SerenitasFileHandler("markit_cds.log")
elif args.rates:
- log_file = os.path.join(os.environ['LOG_DIR'], 'markit_rates.log')
+ fh = SerenitasFileHandler("markit_rates.log")
# set up logging
-logger = logging.getLogger('markit')
-fh = logging.FileHandler(filename=log_file)
-formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
-fh.setFormatter(formatter)
+logger = logging.getLogger("markit")
logger.addHandler(fh)
logger.setLevel(logging.INFO)
if args.loans:
- payload = {'LEGALENTITY': 'lmcg',
- 'USERNAME': 'serecapuser',
- 'PASSWORD': 'Welcome1'}
+ payload = {"LEGALENTITY": "lmcg", "USERNAME": "serecapuser", "PASSWORD": "Welcome1"}
download_facility(workdate, payload)
- logger.info('facility downloaded')
+ logger.info("facility downloaded")
insert_facility(workdate)
- logger.info('facility inserted')
- payload.update({'RELATIVEVERSION': np.busday_count(default_date(), workdate)})
+ logger.info("facility inserted")
+ payload.update({"RELATIVEVERSION": np.busday_count(default_date(), workdate)})
download_marks(workdate, payload)
- logger.info('marks downloaded')
- payload.pop('RELATIVEVERSION')
+ logger.info("marks downloaded")
+ payload.pop("RELATIVEVERSION")
update_facility(workdate, payload)
- logger.info('facility updated')
+ logger.info("facility updated")
elif args.cds:
- payload = {'user': 'GuillaumeHorel',
- 'password': 'password',
- 'version': '5',
- 'format': 'csv',
- 'report': 'FIXED_COUPON',
- 'date': workdate.strftime("%Y%m%d"),
- 'type': 'CDS'}
+ payload = {
+ "user": "GuillaumeHorel",
+ "password": "password",
+ "version": "5",
+ "format": "csv",
+ "report": "FIXED_COUPON",
+ "date": workdate.strftime("%Y%m%d"),
+ "type": "CDS",
+ }
if not args.insert_only:
download_cds_data(payload)
- payload.update({'type': 'CredIndex', 'version': 4})
+ payload.update({"type": "CredIndex", "version": 4})
download_composite_data(payload, historical)
- serenitasdb = dbconn('serenitasdb')
+ serenitasdb = dbconn("serenitasdb")
insert_cds(serenitasdb, workdate)
serenitasdb.close()
if not args.insert_only:
- engine = create_engine('postgresql://serenitas_user@debian/serenitasdb')
+ engine = create_engine("postgresql://serenitas_user@debian/serenitasdb")
insert_index(engine, workdate)
insert_tranche(engine, workdate)