QSTrader v0.3.0 Released

QSTrader is now available on the Python Package Index as v0.3.0

We are pleased to announce a new version of our open source backtesting framework QSTrader to version 0.3.0

What's Changed?

The full list of changes can be viewed in either the CHANGELOG file or in the github releases page.

Since our last release we have been busy making updates to the code base to support the new version of Numpy 2.0.0. If you are following our installation guide you will see that we recommend installing QSTrader into a virtual environment. By encapuslating QSTrader and its dependencies inside their own environment you should be able to install the latest version of QSTrader without affecting the package versions of your underlying system. However, should you wish to use an earlier Numpy version please note that QSTrader 0.2.9 is the last release to support Numpy versions between 1.26 and 1.26.4.

In addition to the changes relating to the newest version of Numpy we have also fixed a bug in the ExecutionHandler to ensure that an execution order is created in the event of a single submission with no further rebalancing. To improve backtest realism we have also added some logic to the rebalance buy_and_hold method. This checks whether the rebalance day is a business day and should it fall on a weekend, updates the date to the next buisness day.

We have also updated the get_target_allocations method in the BacktestTradingSession class. We explicitly convert the burn_in_dt from a Pandas Timestamp to a Datetime Date object. This bug prevented the generation of target allocations for strategies that require a burn in period.

What's next?

Our immediate goals are to continue to increase test coverage, fix any bugs found by the community and move towards even more realistic equities backtesting simulation.

As always, if you have any questions about QSTrader please feel free to email us at support@quantstart.com.