from database.backtest import backtest_results from database.procedures import backtest_profit, most_recent_trade_date from database.trades import trades from datetime import datetime symbol = 'SPX' strategy = '10 Delta Iron Condor' trade_date = most_recent_trade_date() print(f'Trade Date: {trade_date}') trade_data = trades(trade_date) traded_entry_times = set() for _, trade in trade_data.iterrows(): entry_time = str(trade["Entry Time"])[-8:] print(f'Entry Time: {entry_time}') traded_entry_times.add(entry_time) spreads = trade['Spreads'] for spread in spreads: legs = spread['Legs'] open_price = spread['Open'] # Assuming the first leg is always short and the second is long. short_leg = legs[0] long_leg = legs[1] print(f' Short Strike: {short_leg["Strike"]}, Type: {short_leg["Type"]}') print(f' Long Strike: {long_leg["Strike"]}, Type: {long_leg["Type"]}') print(f' Opening Price: {open_price}') backtest_data = backtest_results(symbol, strategy, trade_date) for _, backtest in backtest_data.iterrows(): entry_time = str(backtest["Entry Time"])[-8:] if entry_time in traded_entry_times: print(f'Backtest Entry Time: {entry_time}') spreads = backtest['Spreads'] for spread in spreads: legs = spread['Legs'] open_price = spread['Open'] short_leg = legs[0] long_leg = legs[1] print(f' Backtest Short Strike: {short_leg["Strike"]}, Type: {short_leg["Type"]}') print(f' Backtest Long Strike: {long_leg["Strike"]}, Type: {long_leg["Type"]}') print(f' Backtest Opening Price: {open_price}') print(f'Backtest Profit: {backtest_profit(datetime.combine(trade_date, datetime.min.time()))}')