options-automation/slippage_analysis.py

33 lines
1.1 KiB
Python
Raw Normal View History

import datetime
from database.trades import trades
def average_slippage(date: datetime.date):
trade_records = trades(date)
entry_slippages = []
exit_slippages = []
for spreads in trade_records['Spreads']:
for spread in spreads:
if 'Entry Slippage' in spread:
entry_slippages.append(spread['Entry Slippage'])
if 'Exit Slippage' in spread:
exit_slippages.append(spread['Exit Slippage'])
average_entry_slippage = sum(entry_slippages) / len(entry_slippages) if entry_slippages else None
average_exit_slippage = sum(exit_slippages) / len(exit_slippages) if exit_slippages else None
return average_entry_slippage, average_exit_slippage
2024-02-24 13:38:44 +00:00
if __name__ == '__main__':
target_date = datetime.date(2024, 2, 27)
entry_slippage, exit_slippage = average_slippage(target_date)
if entry_slippage is not None:
print(f'Average Entry Slippage: {entry_slippage}')
if exit_slippage is not None:
print(f'Average Exit Slippage: {exit_slippage}')
else:
2024-02-24 13:38:44 +00:00
print(f'No trades found for {target_date}.')