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
def test_FmtAlignTable_wrong_param(): pbtf.FmtAlignTable(TEST_STRING)
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