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.

Methods

create_trades_from_backtest_positions(…)

Generates trades from BacktestPositions.

create_trades_from_transactions(…)

Generates trades based on a series of Transactions.

create_trades_from_backtest_positions(positions: Union[qf_lib.backtesting.portfolio.backtest_position.BacktestPosition, Sequence[qf_lib.backtesting.portfolio.backtest_position.BacktestPosition]], portfolio_values: Optional[qf_lib.containers.series.qf_series.QFSeries] = None) → Union[qf_lib.backtesting.portfolio.trade.Trade, Sequence[qf_lib.backtesting.portfolio.trade.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: Optional[qf_lib.containers.series.qf_series.QFSeries] = None) → Sequence[qf_lib.backtesting.portfolio.trade.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]