How to get trades dataframe contain last trade that is still active?
Expected Behavior
Hello, I have a strategy for trade. After trade with backtesting library, I have some trades list in a dataframe called trades. but the problem is closing active trades. I mean when my strategy open one or more trades at the last candles, while they are still active, the library close all of them and append them to trades dataframe. When you comment the code that close the last trades, active trades will not show in dataframe. Is there any way to get active trades in this dataframe or in another variable?
I have recently published a solution based on a backtesting package, which along with stats and stats._trades also provides a last_day_result dictionary containing data for the last day.
This dictionary includes the following:
all_columns = [
"current_position_num_stocks",
"all_current_trades",
"today_special_situation_msg",
"current_position_size",
"desired_size",
"desired_size_msg",
"today_action",
]
See https://github.com/s-kust/python-backtesting-template/blob/main/strategy/run_backtest_for_ticker.py - here you run the backtest
Here - https://github.com/s-kust/python-backtesting-template/blob/main/utils/strategy_exec/last_day.py - the last_day_result dictionary is filled
Finalizing open trades on the last bar was made optional in https://github.com/kernc/backtesting.py/pull/393 (to be released shortly).
After a backtest run, you can always access open trades via the strategy instance: stats["_strategy"].trades, and append them to the df or something.