from report_ops.sma import IsoselSMA, BowdstSMA import datetime from serenitas.analytics.dates import prev_business_day import logging logger = logging.getLogger(__name__) if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument( "date", nargs="?", type=datetime.date.fromisoformat, default=prev_business_day(datetime.date.today()), help="work date", ) args = parser.parse_args() for sma_cls in ( IsoselSMA, BowdstSMA, ): sma = sma_cls(args.date) try: sma.email_positions() except ValueError as e: logger.warning(e)