TradeSummary#
API documentation for tradeexecutor.analysis.trade_analyser.TradeSummary Python class in Trading Strategy framework.
- class TradeSummary[source]#
Bases:
objectSome 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, trade_volume_wo_vault=0.0, trade_volume_taxed=0.0, token_tax_paid=0.0, lp_fees_paid=0, lp_fees_paid_wo_vault=0, lp_fees_average_pc=0, lp_fees_average_pc_wo_vault=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) –
trade_volume_wo_vault (float) –
trade_volume_taxed (float) –
token_tax_paid (float) –
daily_returns (Optional[Series]) –
compounding_returns (Optional[Series]) –
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
wonlostzero_lossstop_lossesundecidedrealised_profitValue at the open positinos at the end
Cash at hand at the end
initial_cashextra_returndurationaverage_winning_trade_profit_pcaverage_losing_trade_loss_pcbiggest_winning_trade_pcbiggest_losing_trade_pcaverage_duration_of_winning_tradesaverage_duration_of_losing_tradestime_buckettotal_positionswin_percentlost_percentdelta_neutral_percentreturn_percentannualised_return_percentall_stop_loss_percentlost_stop_loss_percentall_take_profit_percentwon_take_profit_percentaverage_net_profitend_valuetotal_tradesaverage_trademedian_trademax_pos_consmax_neg_consmax_delta_neutral_consmax_pullbackmax_loss_riskmax_realised_lossavg_realised_riskaverage_delta_neutral_profit_pcbiggest_delta_neutral_pcdelta_neutraltake_profitstrade_volumetrade_volume_wo_vaulttrade_volume_taxedtoken_tax_paidlp_fees_paidlp_fees_paid_wo_vaultlp_fees_average_pclp_fees_average_pc_wo_vaultadvanced users can use this property instead of the provided quantstats helper methods
compounding_returnswinning_stop_losseslosing_stop_losseswinning_take_profitslosing_take_profitswinning_stop_losses_percentlosing_stop_losses_percentwinning_take_profits_percentlosing_take_profits_percentmedian_winmedian_lossmedian_delta_neutralsharpe_ratiosortino_ratioprofit_factormax_drawdownmax_runupaverage_duration_of_delta_neutral_positionsaverage_duration_of_zero_loss_tradesaverage_duration_of_all_tradesProfit in open positions at the end
Interest stats
total_interest_paid_usdmedian_interest_paid_usdmax_interest_paid_usdmin_interest_paid_usdtotal_claimed_interestaverage_duration_between_position_openingsaverage_position_frequencyaverage_duration_between_positionsaverage_duration_between_postionstime_in_markettime_in_market_volatileWhen 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, trade_volume_wo_vault=0.0, trade_volume_taxed=0.0, token_tax_paid=0.0, lp_fees_paid=0, lp_fees_paid_wo_vault=0, lp_fees_average_pc=0, lp_fees_average_pc_wo_vault=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) –
trade_volume_wo_vault (float) –
trade_volume_taxed (float) –
token_tax_paid (float) –
daily_returns (Optional[Series]) –
compounding_returns (Optional[Series]) –
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