https://aglorithmicmind.medium.com/building-a-backtesting-system-in-python-with-object-oriented-programming-2ae6677f90fe