TradeAnalysis#

tradeexecutor.analysis.trade_analyser.TradeAnalysis Python class in Trading Strategy framework.

class TradeAnalysis[source]#

Bases: object

Analysis of trades in a portfolio.

__init__(portfolio, asset_histories=<factory>)#
Parameters:
Return type:

None

Methods

__init__(portfolio[, asset_histories])

calculate_summary_statistics([time_bucket, ...])

Calculate some statistics how our trades went.

create_timeline()

Create a timeline feed how we traded over a course of time.

get_all_positions()

Return open and closed positions over all traded assets.

get_first_opened_at()

get_last_closed_at()

get_max_consective(positions)

May be used in calculate_summary_statistics

get_open_positions()

Return open and closed positions over all traded assets.

get_timeline_stats()

create ordered timeline of trades for stats that need it

Attributes

portfolio

asset_histories

How a particular asset traded.

asset_histories: Dict[object, AssetTradeHistory]#

How a particular asset traded. Asset id -> Asset history mapping

get_all_positions()[source]#

Return open and closed positions over all traded assets.

Return type:

Iterable[Tuple[int, TradePosition]]

get_open_positions()[source]#

Return open and closed positions over all traded assets.

Return type:

Iterable[Tuple[int, TradePosition]]

calculate_summary_statistics(time_bucket=None, state=None)[source]#

Calculate some statistics how our trades went.

Parameters:

time_bucket (Optional[TimeBucket]) – Optional, used to display average duration as ‘number of bars’ instead of ‘number of days’.

Returns:

TradeSummary instance

Return type:

TradeSummary

create_timeline()[source]#

Create a timeline feed how we traded over a course of time.

Note: We assume each position has only one enter and exit event, not position increases over the lifetime.

Returns:

DataFrame with timestamp and timeline_event columns

Return type:

DataFrame

get_timeline_stats()[source]#

create ordered timeline of trades for stats that need it

static get_max_consective(positions)[source]#

May be used in calculate_summary_statistics

Parameters:

positions (List[TradePosition]) –

Return type:

tuple[int, int, int] | tuple[None, None, None]

An list of trading positions, ordered by opened_at time. Note, must be ordered to be correct.

__init__(portfolio, asset_histories=<factory>)#
Parameters:
Return type:

None