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
|
from database.trades import trades
|
||||||
|
|
||||||
def average_slippage(date: datetime):
|
def average_slippage(date: datetime.date):
|
||||||
trade_records = trades(date)
|
trade_records = trades(date)
|
||||||
|
|
||||||
slippages = []
|
entry_slippages = []
|
||||||
|
exit_slippages = []
|
||||||
for spreads in trade_records['Spreads']:
|
for spreads in trade_records['Spreads']:
|
||||||
for spread in spreads:
|
for spread in spreads:
|
||||||
if 'Entry Slippage' in spread:
|
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_entry_slippage = sum(entry_slippages) / len(entry_slippages) if entry_slippages else None
|
||||||
average_slippage = sum(slippages) / len(slippages)
|
average_exit_slippage = sum(exit_slippages) / len(exit_slippages) if exit_slippages else None
|
||||||
return average_slippage
|
|
||||||
else:
|
return average_entry_slippage, average_exit_slippage
|
||||||
return None
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
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:
|
if entry_slippage is not None:
|
||||||
print(f'{target_date} Average Entry Slippage: {average_slippage}')
|
print(f'Average Entry Slippage: {entry_slippage}')
|
||||||
|
|
||||||
|
if exit_slippage is not None:
|
||||||
|
print(f'Average Exit Slippage: {exit_slippage}')
|
||||||
else:
|
else:
|
||||||
print(f'No trades found for {target_date}.')
|
print(f'No trades found for {target_date}.')
|
Loading…
Reference in New Issue
Block a user