Beispiel #1
0
def test_FmtAlignTable():
    fmt = pbtf.FmtAlignTable('center')
    res = fmt._create_table_level_css()
    assert pbtf.CSS_MARGIN_LEFT in res and pbtf.CSS_MARGIN_RIGHT in res

    fmt = pbtf.FmtAlignTable('right')
    res = fmt._create_table_level_css()
    assert pbtf.CSS_MARGIN_LEFT in res

    fmt = pbtf.FmtAlignTable('left')
    res = fmt._create_table_level_css()
    assert pbtf.CSS_MARGIN_RIGHT in res
    def get_weights_html(self):
        fmt_pct = tf.FmtPercent(1, apply_to_header_and_index=False)
        fmt_align = tf.FmtAlignTable("left")
        fmt_background = tf.FmtStripeBackground(
            first_color=tf.colors.LIGHT_GREY,
            second_color=tf.colors.WHITE,
            header_color=tf.colors.BLACK)

        targetweights = Block(self.InputList[3],
                              formatters=[fmt_pct, fmt_align, fmt_background],
                              use_default_formatters=False)._repr_html_()
        targetweights = {'targetweights_table': targetweights}
        effectiveweights = Block(
            self.InputList[4],
            formatters=[fmt_pct, fmt_align, fmt_background],
            use_default_formatters=False)._repr_html_()
        effectiveweights = {'effectiveweights_table': effectiveweights}
        return targetweights, effectiveweights
Beispiel #3
0
def test_FmtAlignTable_wrong_param():
    pbtf.FmtAlignTable(TEST_STRING)
Beispiel #4
0
def test_FmtAlignTable(apply_to_header_and_index):
    fmt = pbtf.FmtAlignTable(
        'center', apply_to_header_and_index=apply_to_header_and_index)
    assert fmt.apply_to_header_and_index == apply_to_header_and_index
    def get_performance_stats_html(self):

        pct_rows = [('P&L', 'Total return'), ('P&L', 'Annual return'),
                    ('P&L', 'Annual return (asset mode)'),
                    ('Risk-adjusted return based on Drawdown',
                     'Max percentage drawdown')]
        dec_rows = [
            ('P&L', 'Starting cash'),
            ('P&L', 'End value'),
            ('Risk-adjusted return based on Drawdown', 'Max money drawdown'),
            # Distribution
            ('Distribution moments', 'Returns volatility'),
            ('Distribution moments', 'Returns skewness'),
            ('Distribution moments', 'Returns kurtosis'),
            # Risk-adjusted return based on Volatility
            ('Risk-adjusted return based on Volatility', 'Treynor ratio'),
            ('Risk-adjusted return based on Volatility', 'Sharpe ratio'),
            ('Risk-adjusted return based on Volatility', 'Information ratio'),
            # Risk-adjusted return based on Value at Risk
            ('Risk-adjusted return based on Value at Risk', 'VaR'),
            ('Risk-adjusted return based on Value at Risk',
             'Expected Shortfall'),
            ('Risk-adjusted return based on Value at Risk', 'Excess var'),
            ('Risk-adjusted return based on Value at Risk',
             'Conditional sharpe ratio'),
            # Risk-adjusted return based on Lower Partial Moments
            ('Risk-adjusted return based on Lower Partial Moments',
             'Omega ratio'),
            ('Risk-adjusted return based on Lower Partial Moments',
             'Sortino ratio'),
            ('Risk-adjusted return based on Lower Partial Moments',
             'Kappa three ratio'),
            ('Risk-adjusted return based on Lower Partial Moments',
             'Gain loss ratio'),
            ('Risk-adjusted return based on Lower Partial Moments',
             'Upside potential ratio'),
            # Risk-adjusted return based on Drawdown
            ('Risk-adjusted return based on Drawdown', 'Calmar ratio')
        ]

        fmt_pct = tf.FmtPercent(1,
                                rows=pct_rows,
                                apply_to_header_and_index=False)
        fmt_dec = tf.FmtDecimals(2,
                                 rows=dec_rows,
                                 apply_to_header_and_index=False)
        fmt_align = tf.FmtAlignTable("left")
        fmt_background = tf.FmtStripeBackground(
            first_color=tf.colors.LIGHT_GREY,
            second_color=tf.colors.WHITE,
            header_color=tf.colors.BLACK)
        fmt_multiindex = tf.FmtExpandMultiIndex(operator=tf.OP_NONE)

        perf_data = Block(self.InputList[2],
                          formatters=[
                              fmt_multiindex, fmt_pct, fmt_dec, fmt_align,
                              fmt_background
                          ],
                          use_default_formatters=False)._repr_html_()
        perf_data = {'performance_table': perf_data}
        return perf_data