Update slippage analysis with exit slippage if any trades were stopped out on the specified date
This commit is contained in:
parent
da58e44dda
commit
57b446924e
@ -2,27 +2,32 @@ import datetime
|
||||
|
||||
from database.trades import trades
|
||||
|
||||
def average_slippage(date: datetime):
|
||||
def average_slippage(date: datetime.date):
|
||||
trade_records = trades(date)
|
||||
|
||||
slippages = []
|
||||
entry_slippages = []
|
||||
exit_slippages = []
|
||||
for spreads in trade_records['Spreads']:
|
||||
for spread in spreads:
|
||||
if 'Entry Slippage' in spread:
|
||||
slippages.append(spread['Entry Slippage'])
|
||||
entry_slippages.append(spread['Entry Slippage'])
|
||||
if 'Exit Slippage' in spread:
|
||||
exit_slippages.append(spread['Exit Slippage'])
|
||||
|
||||
if slippages:
|
||||
average_slippage = sum(slippages) / len(slippages)
|
||||
return average_slippage
|
||||
else:
|
||||
return None
|
||||
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
|
||||
|
||||
if __name__ == '__main__':
|
||||
target_date = datetime.date(2024, 2, 23)
|
||||
target_date = datetime.date(2024, 2, 27)
|
||||
|
||||
average_slippage = average_slippage(target_date)
|
||||
entry_slippage, exit_slippage = average_slippage(target_date)
|
||||
|
||||
if average_slippage is not None:
|
||||
print(f'{target_date} Average Entry Slippage: {average_slippage}')
|
||||
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:
|
||||
print(f'No trades found for {target_date}.')
|
Loading…
Reference in New Issue
Block a user