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(positions)

Generates trades from BacktestPositions.

create_trades_from_transactions(transactions)

Generates trades based on a series of Transactions.

create_trades_from_backtest_positions(positions: Union[BacktestPosition, Sequence[BacktestPosition]], portfolio_values: Optional[QFSeries] = None) Union[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: Optional[QFSeries] = 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]