Software Investor

Portfólio de estratégias no Micro E-mini Russell 2000

Quatro estratégias sistemáticas operando em conjunto no M2K, gráfico de 10 minutos. 3.316 operações simuladas em 7,4 anos, com posição zerada no fim da semana.

7.110 ptsHistórico
2 mil4 mil6 mil2020202120222023202420252026
7.110 ptsResultado acumulado
3.316Trades
12,9xResultado / drawdown máx.
552 ptsDrawdown máximo
1,33Fator de lucro
61%Trades vencedores
73%Meses positivos
13Maior sequência de perdas

Carteira contra o M2K

Resultado acumulado em pontos da carteira, com um contrato por setup (4 contratos no total), contra a série bruta do M2K contínuo (sem ajuste) multiplicada por 4 para ter a mesma exposição.

Carteira 7.110 pts · DD máx. 552 ptsM2K ×4 4.836 pts · DD máx. 3.169 pts
2020202120222023202420252026-2.5002.5005.000

Performance por setup

Resultado acumulado de cada uma das quatro estratégias. Clique em um setup para destacá-lo.

2020202120222023202420252026Setup 01 · Compra: 900 ptsSetup 02 · Compra: 2.589 ptsSetup 03 · Compra: 1.838 ptsSetup 04 · Compra: 1.783 pts5001.0001.5002.0002.500

Estatísticas por setup

Mesmo período e mesma ordem do gráfico acima.

SetupLadoTradesResultado (pts)Drawdown máx. (pts)Resultado / DDFator de lucroAcertoMédia por trade (pts)
Setup 01Compra7489001038,8x1,4977%1,2
Setup 02Compra15142.5894216,1x1,2054%1,7
Setup 03Compra5241.8382088,8x1,5657%3,5
Setup 04Compra5301.7832168,2x1,5458%3,4

Resultado por ano

Em pontos de índice, com todas as estratégias somadas.

AnoTradesResultado (pts)Drawdown máx. (pts)Acerto
201923815517460%
20204341.36423265%
20214911.38239564%
202252365531760%
202345530354154%
202446882934359%
20254341.09736860%
2026*2731.32619260%

* ano em andamento

Resultado trimestre a trimestre

26 de 30 trimestres fecharam positivos.

T2/19: 34 ptsT3/19: 70 ptsT4/19: 51 ptsT1/20: 210 ptsT2/20: 424 ptsT3/20: 203 ptsT4/20: 527 ptsT1/21: 951 ptsT2/21: 235 ptsT3/21: 163 ptsT4/21: 32 ptsT1/22: 281 ptsT2/22: 30 ptsT3/22: 208 ptsT4/22: 136 ptsT1/23: -69 ptsT2/23: 294 ptsT3/23: -35 ptsT4/23: 113 ptsT1/24: 286 ptsT2/24: 90 ptsT3/24: 155 ptsT4/24: 297 ptsT1/25: 216 ptsT2/25: 480 ptsT3/25: 423 ptsT4/25: -22 ptsT1/26: 655 ptsT2/26: 745 ptsT3/26: -74 ptsT2/19T2/20T2/21T2/22T2/23T2/24T2/25T2/26

Resultado mês a mês

65 de 89 meses fecharam positivos. Passe o mouse sobre uma barra para ver o valor.

Mai/19: -17 ptsJun/19: 51 ptsJul/19: 33 ptsAgo/19: -75 ptsSet/19: 113 ptsOut/19: -28 ptsNov/19: 48 ptsDez/19: 31 ptsJan/20: 75 ptsFev/20: -160 ptsMar/20: 295 ptsAbr/20: 332 ptsMai/20: 68 ptsJun/20: 24 ptsJul/20: 28 ptsAgo/20: 41 ptsSet/20: 134 ptsOut/20: 32 ptsNov/20: 219 ptsDez/20: 276 ptsJan/21: 371 ptsFev/21: 283 ptsMar/21: 297 ptsAbr/21: -134 ptsMai/21: 119 ptsJun/21: 251 ptsJul/21: 89 ptsAgo/21: -11 ptsSet/21: 85 ptsOut/21: 108 ptsNov/21: -49 ptsDez/21: -27 ptsJan/22: -131 ptsFev/22: 307 ptsMar/22: 106 ptsAbr/22: -78 ptsMai/22: 299 ptsJun/22: -191 ptsJul/22: 124 ptsAgo/22: -42 ptsSet/22: 126 ptsOut/22: 222 ptsNov/22: 124 ptsDez/22: -210 ptsJan/23: 174 ptsFev/23: -98 ptsMar/23: -145 ptsAbr/23: -12 ptsMai/23: 100 ptsJun/23: 206 ptsJul/23: 162 ptsAgo/23: 20 ptsSet/23: -217 ptsOut/23: -248 ptsNov/23: 144 ptsDez/23: 218 ptsJan/24: 21 ptsFev/24: 191 ptsMar/24: 75 ptsAbr/24: -69 ptsMai/24: 104 ptsJun/24: 55 ptsJul/24: 105 ptsAgo/24: 36 ptsSet/24: 14 ptsOut/24: -21 ptsNov/24: 243 ptsDez/24: 76 ptsJan/25: 210 ptsFev/25: 86 ptsMar/25: -80 ptsAbr/25: 206 ptsMai/25: 142 ptsJun/25: 133 ptsJul/25: 13 ptsAgo/25: 194 ptsSet/25: 216 ptsOut/25: 1 ptsNov/25: 97 ptsDez/25: -120 ptsJan/26: 130 ptsFev/26: 269 ptsMar/26: 256 ptsAbr/26: 365 ptsMai/26: 273 ptsJun/26: 107 ptsJul/26: -6 ptsAgo/26: 38 ptsSet/26: -105 ptsMai/19Mai/20Mai/21Mai/22Mai/23Mai/24Mai/25Mai/26

Mapa mensal

Em pontos. Verde é mês positivo, vermelho é negativo.

JanFevMarAbrMaiJunJulAgoSetOutNovDezAno
2019-175133-75113-284831155
202075-16029533268242841134322192761.364
2021371283297-13411925189-1185108-49-271.382
2022-131307106-78299-191124-42126222124-210655
2023174-98-145-1210020616220-217-248144218303
20242119175-69104551053614-2124376829
202521086-8020614213313194216197-1201.097
2026130269256365273107-638-1051.326

Resultado por operação

Média de 2,1 pts por trade, cerca de 447 trades por ano.

0-58 pts+54 pts

Código-fonte de uma estratégia

Um exemplo para auditoria técnica: uma estratégia de pesquisa, fora do portfólio e com desempenho mais modesto que o das quatro acima. É Python puro, sem bibliotecas, e roda sobre qualquer CSV de barras de 10 minutos do M2K. Cada operação da lista pode ser conferida contra os seus dados.

05/2019 a 01/2023

1.231 pts
Operações
326
Maior queda
568 pts
Operações positivas
43%

01/2023 a 09/2026

554 pts
Operações
274
Maior queda
348 pts
Operações positivas
44%
# python m2k.py   (CSV: time,open,high,low,close,contract,roll)
F="M2K_M10.csv"
a,b,c,d=.03,.015,90,768
L=open(F).read().splitlines()
H=L[0].split(",")
I=[H.index(k) for k in("time","high","low","close","contract","roll")]
B=[]
for s in L[1:]:
    r=s.split(",")
    t,h,l,x,k,z=[r[i] for i in I]
    B.append((t,float(h),float(l),float(x),k,z=="True"))
N=len(B)
def q(t):
    y,m,e=int(t[:4]),int(t[5:7]),int(t[8:10])
    if m<3:y-=1
    return (y+y//4-y//100+y//400+[0,3,2,5,0,3,5,1,4,6,2,4][m-1]+e)%7+1
G={};R={}
for x in B:
    e=x[0][:10]
    u=G.setdefault(e,[0,1e18])
    u[0]=max(u[0],x[1]);u[1]=min(u[1],x[2])
    R[e]=R.get(e,False) or x[5]
K=list(G)
Y={K[i]:G[K[i-1]] for i in range(1,len(K))}
W=[q(x[0]) for x in B]
V=[0]*N
for i in range(1,N):
    V[i]=V[i-1]+(W[i]<W[i-1] or B[i][4]!=B[i-1][4])
n=S=0;z=-1;i=0
while i<N-1:
    t,h,l,x,k,_=B[i]
    m=int(t[11:13])*60+int(t[14:16])
    p=(W[i]-1)*1440+m
    f=i==N-1 or V[i+1]!=V[i]
    if t[:10] not in Y or R[t[:10]] or p>=8400 or p<1380 or f or(W[i]==6 and m+10>=1170)or t[:10]==z:i+=1;continue
    u,v=Y[t[:10]][0],Y[t[:10]][1]
    if u<=v or not(x-v)/(u-v)*100>c or int(t[11:13])>=12:i+=1;continue
    z=t[:10];g=x*(1-a);s=x*(1+b);j=i+1;w=B[j][3]
    while j<N:
        if V[j]!=V[i]:j-=1;w=B[j][3];break
        T=B[j]
        if T[2]<=g and T[1]>=s:raise SystemExit(T[0])
        if T[2]<=g:w=g;break
        if T[1]>=s:w=s;break
        w=T[3]
        if j==N-1 or V[j+1]!=V[j] or(W[j]==6 and int(T[0][11:13])*60+int(T[0][14:16])+10>=1170)or j-i>=d:break
        j+=1
    print("%s;%.1f;%.1f;%.1f"%(t,x,w,x-w))
    n+=1;S+=x-w;i=j
print(n,round(S))

Resultado em pontos, 1 contrato, antes de custos. A simulação das estratégias do portfólio segue a mesma mecânica de entrada, alvo, stop e saída; algumas têm variações (como stop móvel) que não aparecem neste exemplo. As regras e os parâmetros das quatro estratégias seguem confidenciais.

Quer conversar?

Apresento o trabalho em detalhes para quem tiver interesse.

Contato