Backtest Configs
This is the configs your backtesting used.
Config Term | Value |
---|---|
{{key}} | {{value | cut_if_too_long(50) }} |
PnL Curve & Performance Metrics

This data is stored in Analyzer.df_returns
Strategy Performance Metrics
These are calculated using ACTIVE return of your portfolio. When calculating sharpe ratio, risk-free rate is assumed to be 0.
Term | Value |
---|---|
{{key}} | {{value | round_if_float(1) }} |
Strategy Risk Metrics
Term | Value |
---|---|
{{key}} | {{value | round_if_float(3) }} |
Daily PnL Metrics
Term | Value |
---|---|
{{key}} | {{value | round_if_float(3) }} |
Tail 5 Daily PnL
Term | Value |
---|---|
{{key}} | {{value | round_if_float(3) }} |
Top 5 Daily PnL
Term | Value |
---|---|
{{key}} | {{value | round_if_float(3) }} |
Alpha Decomposition
Industry Total Alpha and Overweight
Daily Trading & Holding PnL
Trading PnL = (close price - fill price) * position change
Holding PnL = (close price - pre-close price) * initial position

This data is stored in Analyzer.df_pnl
Brinson Attribution

This data is stored in Analyzer.df_brinson
Visualization for Selected Security
{% for symbol in selected_securities %}
Daily PnL for Selected Security
{% for symbol in selected_securities %} {{ symbol }}{{ df_daily[symbol].to_html(classes="table table-striped", border=0) }}
{% endfor %} {% endif %} {% if rebalance_positions is not none %}
Table of Position on Re-balance Days
{% for date, df in rebalance_positions.items() %}
This data is stored in Analyzer.rebalance_positions
Alpha Weight Contribution
Table of Alpha contribution on top 40% weight. Total {{ alpha_weight_traded_stocks }} stocks were bought.
Alpha Decay
Sort the stock by average weight from top to bottom, then aggregate the alpha contribution by every 5 stocks.
Alpha Decay Scaled by Weight
In each group, scale the alpha contribution by aggregate weight
Cumulative Alpha and Weight
Calculate cumulative weight and alpha contribution after sort the stock by average weight from top to bottom.
Industry Overwight
{% for image in industry_overweight_images %}Total Alpha Decomposition by Month
Industry alpha Decomposition by Month
Sold Alpha Decay
Table of Daily Position
{{ daily_position.to_html(classes="table table-striped", border=0) }}This data is stored in Analyzer.daily_position
Table of Records of Position Changes
{% for date, df in position_change.items() %} {{ date }}market value = {{ account[date]['market_value'] / 1000.0 | round(0) }}k, cash = {{ account[date]['cash'] / 1000.0 | round(0) }}k,
{{ df.to_html(classes="table table-striped", border=0) }} {% endfor %}
This data is stored in Analyzer.position_change