Kaique Mitsuo Silva Yamamoto
Mercado financeiroAutomação de EstratégiasTradingView / Pine ScriptBibliotecasBacktesting

MonthlyReturnsVsMarket

Biblioteca Pine Script para exibição de tabela mensal de P&L comparando a performance da estratégia contra um benchmark de mercado (ex: S&P 500, BTC).

Tipo: Biblioteca (library) Categoria: Backtesting Fonte: TradingView Script


Visão geral

MonthlyReturnsVsMarket exibe uma tabela visual de retornos mensais da estratégia comparados com um benchmark de mercado (ex: SPY, BTC, Ibovespa), permitindo identificar em quais meses a estratégia superou ou foi superada pelo mercado.


Como funciona

Estrutura da tabela

         Jan    Fev    Mar    ...    Dez    TOTAL
2024 ST  +3.2%  -1.4%  +5.1%  ...   +2.8%  +22.1%
2024 MK  +1.8%  +0.9%  +4.2%  ...   +1.1%  +18.5%
2024 ΔΔ  +1.4%  -2.3%  +0.9%  ...   +1.7%  +3.6%

2025 ST  +6.1%  ...
...

ST = Strategy (sua estratégia)
MK = Market (benchmark)
ΔΔ = Diferença (alpha)

Código de cores

CorSignificado
Verde intensoRetorno > +5%
Verde claroRetorno 0% a +5%
Vermelho claroRetorno -5% a 0%
Vermelho intensoRetorno < -5%

API / Funções

FunçãoParâmetrosRetornoDescrição
init()benchmarkTickerConfigura o benchmark (ex: "NASDAQ:QQQ")
update()strategyReturnsAtualiza retornos mensais
render()position, sizeExibe a tabela no gráfico
getAlpha()year, monthfloatAlpha gerado em um mês específico
annualizedReturn()floatRetorno anualizado da estratégia

Exemplo de uso

//@version=6
indicator("Monthly Returns vs Market", overlay=false)

import author/MonthlyReturnsVsMarket/1 as mr

// Configurar benchmark (SPY como proxy do S&P 500)
mr.init("AMEX:SPY")

// Calcular retorno mensal da estratégia
// (seu sistema de backtest fornece esse dado)
import author/BackTestLib/1 as bt
bt.init()

// ... [sua lógica de sinais] ...

// Retorno mensal da estratégia
monthlyReturn = bt.monthlyReturn()

// Atualizar dados mensais
mr.update(monthlyReturn)

// Renderizar tabela no fim dos dados históricos
if barstate.islastconfirmedhistory
    mr.render(position.top_right, size.small)

Integrações

ScriptComo combinar
BackTestLibFonte dos retornos mensais da estratégia
LapseBacktestingTableComplementar com Sharpe/Sortino anualizados
LibBacktestingDayRangeFiltrar análise para anos/períodos específicos

Limitações

LimitaçãoImpacto
Benchmark requer feed de dados do símboloSímbolo de benchmark deve estar disponível no TradingView
Tabela ocupa área considerável do gráficoPode ser necessário ajustar posição ou tamanho
Dados dependem da acurácia do backtestGIGO — lixo entra, lixo sai

Aviso Legal: Conteúdo educativo. Não constitui recomendação de investimento. Resultados passados não garantem resultados futuros.

On this page