
216
|
第
6
章
def close_out(self, bar):
''' Closing out a long or short position.
'''
date, price = self.get_date_price(bar)
self.amount += self.units * price
self.units = 0
self.trades += 1
if self.verbose:
print(f'{date} | inventory {self.units} units at {price:.2f}')
print('=' * 55)
print('Final balance [$] {:.2f}'.format(self.amount))
perf = ((self.amount - self.initial_amount) /
self.initial_amount * 100)
print('Net Performance [%] {:.2f}'.format(perf))
print('Trades Executed [#] {:.2f}'.format(self.trades))
print('=' * 55)
if __name__ == '__main__':
bb = BacktestBase('AAPL.O', ...