import schedule import time import traceback from datetime import datetime, timedelta from discord_messaging import send_message from dotenv import load_dotenv from os import getenv from download_spx_quotes import download_quotes from run_backtest import run_backtest load_dotenv() def backtest_automation(): try: download_quotes() # TODO: Update backtest to eliminate the need for setting this to midnight. end_date = datetime.now().replace(hour = 0, minute = 0, second = 0, microsecond = 0) start_date = end_date - timedelta(days = 1) run_backtest(start_date, end_date) except: send_message('Backtest automation failed!', to_user_id = getenv('USER_ID')) traceback.print_exc() if __name__ == '__main__': schedule.every().day.at('03:00', 'America/Los_Angeles').do(backtest_automation) while True: schedule.run_pending() time.sleep(1)