TradesGenerator#

class qf_lib.analysis.trade_analysis.trades_generator.TradesGenerator[source]#

Bases: object

Class responsible for generating Trade objects from information provided in the form of Transactions or BacktestPositions.

create_trades_from_backtest_positions(positions: BacktestPosition | Sequence[BacktestPosition], portfolio_values: QFSeries | None = None) Trade | Sequence[Trade][source]#

Generates trades from BacktestPositions.

Parameters:
  • positions (BacktestPosition, Sequence[BacktestPosition]) – Position or positions that will be used to generated the trades

  • portfolio_values (Optional[QFSeries]) – Series containing portfolio values at different point in time. It is optional and if provided, the percentage pnl value is set in the Trade.

Returns:

Generated Trade (in case of one BacktestPosition) or a sequence of Trades

Return type:

Trade, Sequence[Trade]

create_trades_from_transactions(transactions: Sequence, portfolio_values: QFSeries | None = None) Sequence[Trade][source]#

Generates trades based on a series of Transactions.

Parameters:
  • transactions (Sequence) – Sequence of transactions, which should be parsed

  • portfolio_values (Optional[QFSeries]) – Series containing portfolio values at different point in time. It is optional and if provided, the percentage pnl value is set in the Trade.

Returns:

trades – List containing trades information, sorted by the time of their creation

Return type:

Sequence[Trade]