TradeSummary#
API documentation for tradeexecutor.analysis.trade_analyser.TradeSummary Python class in Trading Strategy framework.
- class TradeSummary[source]#
Bases:
object
Some generic statistics over all the trades
Warning
Be very careful when editing or removing existing fields here as this can intefere with legacy data testing
TDOO: Cleam this up
- __init__(won, lost, zero_loss, stop_losses, undecided, realised_profit, open_value, uninvested_cash, initial_cash, extra_return, duration, average_winning_trade_profit_pc, average_losing_trade_loss_pc, biggest_winning_trade_pc, biggest_losing_trade_pc, average_duration_of_winning_trades, average_duration_of_losing_trades, time_bucket=None, total_trades=None, average_trade=None, median_trade=None, max_pos_cons=None, max_neg_cons=None, max_delta_neutral_cons=None, max_pullback=None, max_loss_risk=None, max_realised_loss=None, avg_realised_risk=None, average_delta_neutral_profit_pc=None, biggest_delta_neutral_pc=None, delta_neutral=0, take_profits=0, trade_volume=0.0, lp_fees_paid=0, lp_fees_average_pc=0, daily_returns=None, compounding_returns=None, winning_stop_losses=0, losing_stop_losses=0, winning_take_profits=0, losing_take_profits=0, median_win=None, median_loss=None, median_delta_neutral=None, sharpe_ratio=None, sortino_ratio=None, profit_factor=None, max_drawdown=None, max_runup=None, average_duration_of_delta_neutral_positions=None, average_duration_of_zero_loss_trades=None, average_duration_of_all_trades=None, unrealised_profit=None, average_interest_paid_usd=None, total_interest_paid_usd=None, median_interest_paid_usd=None, max_interest_paid_usd=None, min_interest_paid_usd=None, total_claimed_interest=None, average_duration_between_position_openings=None, average_position_frequency=None, average_duration_between_positions=0, average_duration_between_postions=0, time_in_market=None, time_in_market_volatile=None, start_at=None, end_at=None)#
- Parameters:
won (int) –
lost (int) –
zero_loss (int) –
stop_losses (int) –
undecided (int) –
realised_profit (float) –
open_value (float) –
uninvested_cash (float) –
initial_cash (float) –
extra_return (float) –
average_duration_of_winning_trades (timedelta) –
average_duration_of_losing_trades (timedelta) –
time_bucket (Optional[TimeBucket]) –
delta_neutral (int) –
take_profits (int) –
trade_volume (float) –
average_duration_of_delta_neutral_positions (Optional[timedelta]) –
average_duration_of_zero_loss_trades (Optional[timedelta]) –
average_duration_between_position_openings (Optional[timedelta]) –
average_duration_between_positions (int) –
average_duration_between_postions (int) –
- Return type:
None
Methods
__init__
(won, lost, zero_loss, stop_losses, ...)display
()Create human readable summary tables and display them in IPython notebook.
format_bars
(duration_timedelta)format_duration
(duration_timedelta)Format the summary dataframe for display in Jupyter notebook with clickable links.
from_dict
(kvs, *[, infer_missing])from_json
(s, *[, parse_float, parse_int, ...])Get metrics displayed on a equity curve benchmark tooltip.
help_links
()schema
(*[, infer_missing, only, exclude, ...])single_column_dfs
(*dfs)to_dataframe
([format_headings])Creates a human-readable Pandas dataframe summary table from the object.
to_dict
([encode_json])to_json
(*[, skipkeys, ensure_ascii, ...])Attributes
won
lost
zero_loss
stop_losses
undecided
realised_profit
Value at the open positinos at the end
Cash at hand at the end
initial_cash
extra_return
duration
average_winning_trade_profit_pc
average_losing_trade_loss_pc
biggest_winning_trade_pc
biggest_losing_trade_pc
average_duration_of_winning_trades
average_duration_of_losing_trades
time_bucket
total_positions
win_percent
lost_percent
delta_neutral_percent
return_percent
annualised_return_percent
all_stop_loss_percent
lost_stop_loss_percent
all_take_profit_percent
won_take_profit_percent
average_net_profit
end_value
total_trades
average_trade
median_trade
max_pos_cons
max_neg_cons
max_delta_neutral_cons
max_pullback
max_loss_risk
max_realised_loss
avg_realised_risk
average_delta_neutral_profit_pc
biggest_delta_neutral_pc
delta_neutral
take_profits
trade_volume
lp_fees_paid
lp_fees_average_pc
advanced users can use this property instead of the provided quantstats helper methods
compounding_returns
winning_stop_losses
losing_stop_losses
winning_take_profits
losing_take_profits
winning_stop_losses_percent
losing_stop_losses_percent
winning_take_profits_percent
losing_take_profits_percent
median_win
median_loss
median_delta_neutral
sharpe_ratio
sortino_ratio
profit_factor
max_drawdown
max_runup
average_duration_of_delta_neutral_positions
average_duration_of_zero_loss_trades
average_duration_of_all_trades
Profit in open positions at the end
Interest stats
total_interest_paid_usd
median_interest_paid_usd
max_interest_paid_usd
min_interest_paid_usd
total_claimed_interest
average_duration_between_position_openings
average_position_frequency
average_duration_between_positions
average_duration_between_postions
time_in_market
time_in_market_volatile
When the backtesting started
When the backtesting started
- daily_returns: Optional[Series]#
advanced users can use this property instead of the provided quantstats helper methods
- get_trading_core_metrics()[source]#
Get metrics displayed on a equity curve benchmark tooltip.
See :py:func:``tradeexecutor.analysis.grid_search._get_hover_template`.
- to_dataframe(format_headings=True)[source]#
Creates a human-readable Pandas dataframe summary table from the object.
- Return type:
DataFrame
- static format_summary_dataframe(df)[source]#
Format the summary dataframe for display in Jupyter notebook with clickable links.
- Parameters:
df (DataFrame) – The dataframe to format.
- Returns:
Formatted dataframe with clickable links.
- Return type:
DataFrame
- __init__(won, lost, zero_loss, stop_losses, undecided, realised_profit, open_value, uninvested_cash, initial_cash, extra_return, duration, average_winning_trade_profit_pc, average_losing_trade_loss_pc, biggest_winning_trade_pc, biggest_losing_trade_pc, average_duration_of_winning_trades, average_duration_of_losing_trades, time_bucket=None, total_trades=None, average_trade=None, median_trade=None, max_pos_cons=None, max_neg_cons=None, max_delta_neutral_cons=None, max_pullback=None, max_loss_risk=None, max_realised_loss=None, avg_realised_risk=None, average_delta_neutral_profit_pc=None, biggest_delta_neutral_pc=None, delta_neutral=0, take_profits=0, trade_volume=0.0, lp_fees_paid=0, lp_fees_average_pc=0, daily_returns=None, compounding_returns=None, winning_stop_losses=0, losing_stop_losses=0, winning_take_profits=0, losing_take_profits=0, median_win=None, median_loss=None, median_delta_neutral=None, sharpe_ratio=None, sortino_ratio=None, profit_factor=None, max_drawdown=None, max_runup=None, average_duration_of_delta_neutral_positions=None, average_duration_of_zero_loss_trades=None, average_duration_of_all_trades=None, unrealised_profit=None, average_interest_paid_usd=None, total_interest_paid_usd=None, median_interest_paid_usd=None, max_interest_paid_usd=None, min_interest_paid_usd=None, total_claimed_interest=None, average_duration_between_position_openings=None, average_position_frequency=None, average_duration_between_positions=0, average_duration_between_postions=0, time_in_market=None, time_in_market_volatile=None, start_at=None, end_at=None)#
- Parameters:
won (int) –
lost (int) –
zero_loss (int) –
stop_losses (int) –
undecided (int) –
realised_profit (float) –
open_value (float) –
uninvested_cash (float) –
initial_cash (float) –
extra_return (float) –
average_duration_of_winning_trades (timedelta) –
average_duration_of_losing_trades (timedelta) –
time_bucket (Optional[TimeBucket]) –
delta_neutral (int) –
take_profits (int) –
trade_volume (float) –
average_duration_of_delta_neutral_positions (Optional[timedelta]) –
average_duration_of_zero_loss_trades (Optional[timedelta]) –
average_duration_between_position_openings (Optional[timedelta]) –
average_duration_between_positions (int) –
average_duration_between_postions (int) –
- Return type:
None