Outros sites Medialivre
Caldeirão da Bolsa

Criar sistema comunitário

Espaço dedicado a todo o tipo de troca de impressões sobre os mercados financeiros e ao que possa condicionar o desempenho dos mesmos.

por pataniscas de frango » 30/1/2004 21:22

Olá Janus,

Certíssimo, não tinha entendido o teu raciocínio. Hei-de testar no DJI. Imagino que dê resultados positivos mas nada brilhantes, já que o sistema apenas negoceia boas oportunidades, e com apenas 30 empresas as oportunidades não serão muitas. O trade médio também deve ser pequenito, veremos.

Uso a versão desktop, a versão on-line creio ser muito limitada, nunca a experimentei.

abraço,
pdf
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

por janus » 30/1/2004 10:59

"negociar empresas como as do Dow Jones, penso que uma estratégia de trend-following será mais indicada"

Sistemas tendenciais funcionam melhor com volatilidade reduzida. Neste caso de um sistema com autocorrelação negativa, se funciona bem num cabaz reduzido e com pouca volatilidade então deverá funcionar bem em qualquer tipo de cabaz com condições semelhantes. Não queremos estar investidos em Parmalat's pois não?...

Testar um cabaz do Dow Jones no WLD é fácil. Está a usar a versão desktop ou a versão online?
Avatar do Utilizador
 
Mensagens: 80
Registado: 29/11/2003 17:30
Localização: Lisboa

por pataniscas de frango » 30/1/2004 0:08

Olá Janus,

Uma boa forma de evitar o uso de stops será escolher uma carteira com poucos títulos e com boa qualidade (por exemplo um "book value" elevado ou um "altman z-score" elevado). Testa a estratégia num cabaz com os títulos do índice Dow Jones (que não pondera os títulos por market cap mas sim por preço). Se funcionar neste cabaz então tens alguma coisa...

Sugeres que escolha à partida apenas acções com essas boas caracteristicas fundamentais ou que as seleccione de forma dinâmica? A segunda hipotese por agora está excluida pois infelizmente não teria forma de fazer essa simulação...
Com este sistema anti-trend, as empresas que dão melhores resultados penso que serão as mais voláteis e em particular as tecnológicas como são as do Nasdaq. Para negociar empresas como as do Dow Jones, penso que uma estratégia de trend-following será mais indicada, e aí a questão dos stops será diferente. Imagino que ajudem a limitar o Drawdown (coisa que neste sistema não acontece) mas que também prejudique a rentabilidade. Como diz o Cem e como também já tive oportunidade de comprovar em alguns testes.

A base de dados não é problema. O problema é o software. Não é fácil de construir algo de raiz sem recorrer a cálculo matricial porque são precisas 3 variáveis para identificar se um indicador fundamental permite explicar o comportamento futuro de um activo: 1) o título, 2) o período, 3) o valor. Talvez a minha dificuldade tenha a ver com o pouco tempo que dediquei a este problema (estou mais concentrado em estratégias de curto prazo).

Para mim a base de dados é o problema principal, pois não a tenho :)
Quanto à forma de testar, a minha abordagem, e muito provavelmente será um pouco tosca, seria a de verificar as diferenças estatisticas das rentabilidades futuras de um cabaz de acções com certas caracteristicas fundamentais, face à média. Se essa diferença estatistica for significativa, então o indicador fundamental testado teria capacidade predictiva.
Na prática estes testes implicariam algo do género:
-Ter ficheiros individuais para cada acção com a evolução temporal de um único indicador fundamental. Um ficheiro por cada indicador por cada acção. Organizado por datas tal como um ficheiro de cotações ASCII ou CSV.
-Antes de cada simulação, ler os ficheiros relativos ao indicador fundamental a testar. Um por cada acção do portofolio a testar.
- Durante a simulação, os dados do indicador fundamental seriam acedidos da mesma forma que os os dados Open, High, Low, Close e Volume.
Isto seria perfeitamente possível de ser feito com o WLD já que tem uma linguagem suficientemente poderosa. Faltando talvez apontadores reais. Mas ele funciona com "Series" que andam lá perto além de suportar arrays também.

Nunca uso os dados estatisticos destas ferramentas para validar os resultados. Exporto todos os trades para um ficheiro de texto, e a compilação de resultados quase nunca bate certo.

OK. No WLD faço algo parecido em alguns casos, calculo eu os valores mas usando a linguagem do WLD. E isto porque preciso de exportar os resultados das simulações de forma automática e ele ainda não dá acesso a todos os valores de performance de dentro do script. No entanto os resultados que obtenho são iguais aos do software.
No TS a experiência foi mais frustrante e acabei por também calcular os meus valores de performance, não me lembro se batiam certo com os oficiais...

pdf
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

por janus » 29/1/2004 21:13

pat,

Não te aconselho a usares stops neste tipo de sistema. Na pratica trata-se de uma estratégia de Buy & Hold.

Uma boa forma de evitar o uso de stops será escolher uma carteira com poucos títulos e com boa qualidade (por exemplo um "book value" elevado ou um "altman z-score" elevado). Testa a estratégia num cabaz com os títulos do índice Dow Jones (que não pondera os títulos por market cap mas sim por preço). Se funcionar neste cabaz então tens alguma coisa...

"O Larry Williams diz no seu livro “The secret of selecting stocks for immediate and substancial gains” que os únicos fundamentais que encontrou que afectram significativamente o desempenho futuro de uma empresa são o “stock yield” e o “growth rate”/”payout time”..."

Existem outros factores fundamentais que permitem "explicar" o comportamento futuro de um cabaz de títulos. O problema é que os resultados só são tangíveis quando se utilizam abordagens market neutral e a maior parte dos investidores não consegue efectuar operações de securities lending.

Depois temos o problema dos sectores; alguns são mais afectados por umas variáveis fundamentais do que outros. Por exemplo, o PEG permite identificar títulos com potencial no sector financeiro, mas no sector tecnológico é um autêntico desastre.


" Não conheço nenhum software que possibilite testar sistemas mecanicos com base em fundamentais de forma directa, mas tal como dizia ao Ming, basta ter uma base de dados com os fundamentais em formato txt e ter um software de simulação com uma linguagem flexível, que permita ler e processar um ficheiro de texto. O WLD é perfeitamente capaz disso, a única dificuldade grave que vejo é conseguir a base de dados..."

A base de dados não é problema. O problema é o software. Não é fácil de construir algo de raiz sem recorrer a cálculo matricial porque são precisas 3 variáveis para identificar se um indicador fundamental permite explicar o comportamento futuro de um activo: 1) o título, 2) o período, 3) o valor. Talvez a minha dificuldade tenha a ver com o pouco tempo que dediquei a este problema (estou mais concentrado em estratégias de curto prazo).

"Cheguei a namorar o SmartQuant numa altura em que estava fascinado por estratégias de market-neutral (ainda estou fascinado eheh). Mas parecia muito complicado e entretanto passou a comercial como disseste Já trabalhaste com este software? Se sim podes dizer-me que vantagens tem em relação ao WLD?"

Tanto o WLD como o TS têm problemas quando se trata de colocar uma determinada estratégia em prática. Imagine que tem de monitorizar 100 títulos em real time, e acompanhar mais de 10 execuções simultâneamente. Qualquer plataforma em C++ é versátil o suficiente para permitir integração com outros sistemas ou folhas de cálculo, e permitir uma grande automatização de todo o processo de investimento.

"Podes explicar melhor o que queres dizer com as estatisticas do WLD e TS terem erros graves?"

Nunca uso os dados estatisticos destas ferramentas para validar os resultados. Exporto todos os trades para um ficheiro de texto, e a compilação de resultados quase nunca bate certo.
Avatar do Utilizador
 
Mensagens: 80
Registado: 29/11/2003 17:30
Localização: Lisboa

por Mechanic » 29/1/2004 0:34

Os clubes de investidores estão perfeitamente enquadrados por legislação em vigor, que lhes garante tb alguns beneficios fiscais, face ao investidor "solitário".
Mechanic
 

por pataniscas de frango » 28/1/2004 19:09

Olá Ertai,
Eu não sei dizer... mas também gostava de saber mais sobre o assunto.
pdf
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

Pergunta

por Ertai » 28/1/2004 18:27

Queria fazer uma pergunta aqui quanto a legalidade de um possível Fundo de Investimento criado por investidores..


Por exemplo, seria legal, ou o que teria de fazer para que tal fosse legal, para poder juntar-me com uns amigos e formar-mos uma espécie de equipa de investimento?

Existe algum impedimento legal? Teria benefícios fiscais relativamente a se cada investidor investisse por si mesmo ?

Abraços
Avatar do Utilizador
 
Mensagens: 2140
Registado: 11/5/2003 12:11
Localização: Lisboa

Periodo do RSI...

por pataniscas de frango » 28/1/2004 14:34

Olá,
Mais uma fornada de pãezinhos quentinhos... :)

Testei o sistema com diferentes periodos de RSI, que é usado para escolher as acções mais sobrevendidas. Até aqui o periodo tinha sido sempre de 14. E apesar de dar bons resultados, se baixarmos esse periodo, os resultados ficam bem melhores.
Testei também combinações de RSI de vários periodos suavizado com uma média móvel exponencial de vários periodos, e que deram resultados muito bons.

À primeira vista, os resultados são muito melhores porque temos um limite de 30 no RSI para abrir um trade novo (Se a empresa com o RSI mais baixo for superior a 30, não é aberto qualquer trade). E visto que um RSI com menor periodo é mais reactivo, vem mais facilmente abaixo de 30 e consequentemente são gerados muitos mais trades.
O segredo parece ser esse, conseguir que os nossos 4 'slots' disponíveis para trades, estejam preenchidos o mais possível.
Creio que os valores destas simulações já se aproximam do máximo possível com este sistema. (38.5 % anualizado com uma alavancagem que na prática é inferior a 1).

Um cálculo interessante que se pode fazer para saber até que ponto se aproveitam as 4 trades máximas é este:

(Total_trades / max_trades_simulataneas) / (total_dias / bars_held) * 100

Que para o caso da simulação do NAS100 com RSI com periodo de 6 suavizado com uma MM de 3 dias é:

= (1,526 / 4) / (11 anos * 250 dias / 6.13) * 100

= 381.5 / 2750 / 6.13 * 100

= 85.04% (aproximadamente)

Que é a percentagem de 'ocupação' de trades. Sendo o máximo de 100% obviamente.
Diminuindo o número máximo de trades de 4 para 3, deveremos conseguir aumentar este número, com o risco de aumentar o drawdown. Poderemos também aumentar o limite de 30 do RSI para abrir trades, mas isso iria provavelmente dimunuir a qualidade dos trades e diminuir o trade médio... Efim, é preciso algum equilíbrio.

De qualquer maneira o sistema parece levar algum jeito, faltando ainda testar alguns parametros basicos.

pdf
Anexos
rsi_per.gif
rsi_per.gif (20.87 KiB) Visualizado 1750 vezes
rsi_mm_per.gif
rsi_mm_per.gif (23.72 KiB) Visualizado 1737 vezes
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

por Kopas » 27/1/2004 15:44

Boas Pataniscas,

Quanto aos Stops, penso que as tuas conclusões estão correctíssimas, já me aconteceu milhentas vezes, e na falta de uma maior eficiência das entradas (que se calhar tb será difícil melhorar) o sistema já estará numa fase final.

Um abraço,
Kopas
Avatar do Utilizador
 
Mensagens: 264
Registado: 5/11/2002 0:44
Localização: Faro

O problema dos STOPS...

por pataniscas de frango » 27/1/2004 14:12

Olá,

Estive a olhar para a possibilidade de usar stops neste sistema, mas a coisa não é tão simples como pode parecer... Intiuitivamente tendemos a pensar que um stop vai limitar o prejuizo de um trade e assim só pode ser algo bom, mas esquecemos que ao fazer isso estamos a fechar trades com prejuizo que poderiam recuperar e dar lucro!... Convem por isso usar stops largos para permitir algum espaço, mas mesmo assim mantem-se o problema... na maior parte dos casos vamos fechar o trade mesmo antes de ele começar a recuperar :?
O mais incrível é que além de diminuir a rentabilidade, aumenta o drawdown máximo! :shock:

Outra questão complicada é que, neste sistema, compra-se as acções com menor RSI, ora se vamos fechar um trade com stop loss, ele provavelmente terá um RSI muito baixo e quase de certeza essa empresa será comprada novamente num novo trade... e então mais valia não gastar as comissões!
Bom, esta ultima situação resolve-se deixando passar N dias depois de fechar um trade numa determinada empresa, até voltar a comprar essa empresa. Parece boa ideia, só que os resultados não são nada bons, quer se use stops ou não...

Parece que o que dá melhores resultados é mesmo acreditar que uma empresa muito sobrevendida no curto-prazo tem muitas hipoteses de recuperar, e aceitar algumas facas lançadas como inevitável, gerir os estragos provocados por esses trades bastante perdedores e seguir em frente!

Será? Talvez me esteja a escapar alguma coisa...

Entretanto descobri uma forma de limitar os estragos das "facas caidoras" que talvez dê bons resultados. Trata-se de ao 2º, 3º ou 4º dia do trade. verificar se ele está positivo ou negativo, e se estiver negavivo fechá-lo!


Esperava fazer algumas simulações com stops mas os resultados são tão piores que nem vale a pena, a menos que alguem tenha por aí uma boa sugestão para esta questão.

pdf
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

Filtros de volatilidade

por pataniscas de frango » 26/1/2004 14:42

Fiz alguns testes filtrando as empresas segundo a volatilidade das empresas, mais com o objectivo de perceber ou confirmar que empresas dão melhores resultados com este sistema. Ideia sugerida pelo Kopas e pelo Janus.
Para medir a volatilidade usei uma média do TrueRange em percentagem do close. Ou seja, o valor acaba por ser mais ou menos a percentagem média de variação diaria da empresa... Se o valor for 3, quererá dizer que em média a empresa varia 3% por dia.

Dividi os trades em 2 grupos, aqueles em que as empresas têm uma volatilidade inferior a 3.5% e as que têm uma volatilidade superior a 3.5%.
Os resultados foram piores em qualquer dos casos, porque como elimino muitos trades, mesmo que o trade médio seja melhor, a rentabilidade total baixa porque há muito menos trades...

De notar que como o SP100 tem empresas bem menos voláteis que o NAS100, a maior parte dos trades é em empresas com volatilidade menor que 3.5% e no NAS100 a maior parte dos trades são em empresas com volatilidade superior a 3.5%.

Ora, trades com empresas mais voláteis tende a dar melhores resultados, pelo menos em termos do trade médio e da percentagem de acertos. O que não podemos fazer no sistema é eliminar demasiados trades apenas por serem em empresas pouco voláteis, porque senão lá se vai a rentabilidade final... A melhor solução talvez seja eliminar só as empresas com volatilidades muito baixas. Testei usar um filtro para apenas negociar empresas com volatilidade maior que 2.5% e de facto deu melhores resultados no NAS100. Já no SP100 não compensa porque continua a filtrar demasiados trades...

Fiz uma última experiência que foi filtrar trades com empresas demasiado voláteis (malucas) e ver que resultados dá... Filtrei empresas com uma variação média diária superior a 10% ! E os resultados foram interessantes no NAS100, porque manteve a rentabilidade praticamente na mesma, mas diminuiu consideravelmente o drawdown máximo (feito em 2001).
Também pode acontecer que esta diminuição seja casual, que por sorte um ou dois trades que provocavam muito DD tenham ficado de fora...

pdf
Anexos
filtros_volat.gif
filtros_volat.gif (17.11 KiB) Visualizado 1833 vezes
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

por pataniscas de frango » 26/1/2004 13:55

Olá Kopas,
Deixa lá ver se sai alguma coisa de jeito no final :)
Boa sugestão a tua, vou testá-la mas não para já. Porque mesmo que dê melhores resultados, palpita-me que as melhorias serão poucas, e mais vale testar agora coisas mais fundamentais nesta fase, como o periodo do RSI, o numero máximo de dias dos trades, o numero máximo de trades, stops, etc. Faz mais sentido testar a saida ideal mais para o fim, para afinar o sistema. Como os testes demoram um bocadinho, tenho de usar alguma estratégia...

Olá Pata-Hari,
Esperemos que compense o trabalho... De qualquer maneira está a dar-me gozo fazer isto :)
Se no final o sistema for interessante, planeio arranjar uma forma de todos o poderem usar com o metastock. Provavelmente usando o "The Explorer" para gerar uma lista de valores de RSI e outros indicadores de todos os tickers, e depois deverá ser só ordenar e escolher as melhores empresas. Deverá ser preciso ter uma folha excel com o registo dos trades, dia de entrada e coisas assim. Mas espero que seja relativamente simples, vamos ver.

pdf
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

por Pata-Hari » 26/1/2004 12:54

Eu também ainda não disse nada, mas acho isto uma ideia muito engraçada, pataniscas. E gabo-te a pachorra e a boa vontade para estares a dividir o trabalho connosco. Vamos lá ver se depois se consegue traduzir isto para o meta que é a ferramenta mais usada pelo pessoal, penso eu.
Avatar do Utilizador
Administrador Fórum
 
Mensagens: 20972
Registado: 25/10/2002 17:02
Localização: Lisboa

por Kopas » 26/1/2004 12:39

Oi Pataniscas,

Antes de mais aqui ficam os meus parabéns por esta tua iniciativa e pela trabalheira que isto deve estar a dar.
Deixo-te apenas uma sugestão quanto às saídas, em vez de fixares o ATR ao ponto de entrada, experimenta ajustá-lo ao nº barras que estás na trade (que será um valor variável), ou seja: BarsSinceEntry* Factor*ATR

Um abraço,
Kopas
Avatar do Utilizador
 
Mensagens: 264
Registado: 5/11/2002 0:44
Localização: Faro

Saidas Limit

por pataniscas de frango » 25/1/2004 20:26

Olá,
Fiz mais umas simulações testando várias saídas com ordens limit colocadas acima da entrada a valores diferentes, primeiro testei com valores fixos, 6%, 8%, 10% e 12% (10% já tinha testado). E depois em função da volatilidade usando o ATR (Average True Range). Testei 1xATR, 1.5xATR, 2xATR, 2.5xATR e 3xATR.

Os resultados são mistos, no NASDAQ funciona um pouco melhor a saida ATR, no SP100 funciona um pouco melhor a saida com uma percentagem fixa... Por agora não vou testar mais hipoteses de saida, faltam muitos outros parametros com mais impacto potencial nos resultados... Possivelmente passarei a usar como default uma saida limit 1.5 x ATR acima da entrada.
Começa a ser difícil optimizar para o SP100 e NAS100 ao mesmo tempo, porque as acções têm caracteristicas diferentes e o que funciona melhor num mercado, não funciona no outro... De qualquer maneira já deu para ver que um sistema essencialmente anti-trend como este funciona melhor em acções muito voláteis, e o NAS100 será o lugar ideal para o usar. Se bem que poderá ter bons resultados no SP500 se usar um filtro de volatilidade. Mais à frente veremos se funciona bem ou não.

A seguir planeio testar alguns filtros de volatilidade, mas apenas para orientação e não tanto para optimizar.
Se tiverem ideias e sugestões já sabem, vão dizendo.
pdf
Anexos
saida_limit_percent.gif
saida_limit_percent.gif (13.39 KiB) Visualizado 1948 vezes
saida_limit_ATR_.gif
saida_limit_ATR_.gif (15.84 KiB) Visualizado 1943 vezes
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

resultados...

por pataniscas de frango » 24/1/2004 9:30

Estes são os resultados das simulações feitas até agora, assim fica mais claro.
pdf
Anexos
result.gif
result.gif (13.75 KiB) Visualizado 2020 vezes
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

Simulação

por pataniscas de frango » 23/1/2004 23:16

Dois esclarecimentos:

:arrow: O sistema actualmente aceita até 4 trades simultaneas, mas a alavancagem máxima é de apenas 1, ou seja, cada trade é feito com 1/4 do capital.
:arrow: Até agora as simulações foram feitas com o capital usado em cada trade ajustado à volatilidade da acção... isto foi um erro meu porque gostava de ter começado por não fazer qualquer ajuste e só mais tarde tentar ajustar. A filosofia desse ajuste é a que está neste post: http://www.caldeiraodebolsa.com/forum/v ... php?t=9582


Vou então repetir a simulação original (com comissões) mas sem ajuste de capital, cada trade é feito exactamente com o mesmo capital, independentemente de a acção ser muito ou pouco volátil, variar 1% por dia ou 10% por dia:

Código: Selecionar todos
   NP anual %   NP   Max DD   Max DD%   Trades   Avg Trade   Win %   Bars held   NP% adj
SP100   22.78   25,054   3,035   30.35   784   1.28%   59.82%   6.17   18.76
NAS100   43.85   48,234   3,504   35.04   712   2.72%   59.97%   6.79   31.29


Os resultados sem ajuste parecem muito melhores, para surpresa minha, aumentou o NP e o DD, mas aumentou mais o NP, pelo que compensaria.
Nota: adicionei um valor no fim "NP % ajustado anualizado" que é o rendimento anual se ajustassemos a exposição para gerar um DD máximo de 25%... que é uma boa forma de ter uma noção do potencial final do sistema, em termos de NP e DD.


Usando a boa sugestão do NunoFaustino, substitui o fecho quando o RSI ultrapassa os 45, por uma ordem limite de venda, 10% acima da abertura, e os resultados foram estes:

Sem ajuste de volatilidade:
Código: Selecionar todos
Sem ajuste de volatilidade:
   NP anual %   NP   Max DD   Max DD%   Trades   Avg Trade   Win %   Bars held   NP% adj
SP100   15.47   17,018   1,799   17.99   790   1.34%   60.25%   7.20   21.50
NAS100   18.97   20,865   1,536   15.36   785   2.92%   64.97%   5.73   30.87


Código: Selecionar todos
Com ajuste de volatilidade:
   NP anual %   NP   Max DD   Max DD%   Trades   Avg Trade   Win %   Bars held   NP% adj
SP100   23.84   26,229   3,586   35.86   790   1.34%   60.25%   7.20   16.62
NAS100   52.12   57,337   7,733   77.33   785   2.92%   64.97%   5.73   16.85


Resulta muito bem na opção com volatilidade ajustada mas menos bem na opção sem ajuste.

Bom, começam a ser muitas simulações e se calhar começa a ficar confuso... Tentando resumir, pôr uma ordem limite num valor fixo acima da abertura, parece resultar melhor, embora tenha gerado muito DD na opção sem ajuste do capital investido. Melhor que fechar o trade X% acima, talvez seja usar o ATR para defenir um valor de fecho mais flexível e adaptado a cada acção...

Mas já se vê qualquer coisa, um lucro de 30% para um DD máximo de 25% não é muito mau...

O próximo teste planeado é fechar os trades com uma ordem limit num valor calculado com a volatilidade ATR. E também a sugestão do Janus de ver que empresas dão melhores resultados, muito ou pouco voláteis... pelos optimos resultados no nasdaq100 face ao sp100 já se adivinha.

pdf
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

por pataniscas de frango » 23/1/2004 22:38

Kopas,
Testei a tua ideia de apenas negociar acções com um TrueRange inferior à média, mas, apesar de os trades terem sido muito bons, foram pouquissimos, menos de 10% do habitual, isto porque o sistema compra acções que cairam, e é difícil cair sem aumentar a volatilidade :)
O que quero testar a seguir e como sugeriu o Janus, é filtrar acções muito ou pouco volateis, e ver se é possivel eliminar parte dos trades menos bons.

Janus,
Eu poderia filtrar as acções com “if price > 2 then begin {trading system}” mas de que serve eliminar uma acção da simulação, que na base de dados cota a $1.00 mas que na realidade cotava talvez a $30? O ajuste que é feito às cotações históricas devido aos splits, não nos deixa saber a quanto cotava na altura. Olha o caso da Intel: http://finance.yahoo.com/q/hp?s=INTC&a= ... f=1992&g=d
Em 1992, cotava a $60 mas na base de dados está a menos de $2! Só me apercebi deste problema há pouco tempo...

pdf
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

Re: simulação com comissões

por janus » 23/1/2004 16:28

"O primeiro filtro que sugeriste em relação ao range, seria para evitar empresas em queda? É mais uma coisa a testar... "

o filtro indicado é de volatilidade: será que o sistema funciona melhor em situações de volatilidade elevada ou reduzida?

"Se percebi bem, o outro filtro que sugeres é evitar empresas a cotar a valores baixos, tipo $2, é isso? Pois, uma grande limitação deste tipo de simulações é que não temos acesso à cotação real de há 5 ou 10 anos, visto que houve inumeros splits... Resolver isso daria muito trabalho"

if price > 2 then begin {trading system}
Avatar do Utilizador
 
Mensagens: 80
Registado: 29/11/2003 17:30
Localização: Lisboa

por Kopas » 23/1/2004 16:15

Oi Pataniscas,
Yep, o problema do Max DD/trade médio é característico deste tipo de sistemas, sendo mt complicado achar um ponto de equilibro.

Quanto ao filtro dos ranges, eu tenho-o usado com bastante sucesso em alguns tipos de estratégias, tem como objectivo não negociar papeis que tenham tido um range “anormalmente” elevado na última barra disponível, tb poderás balizá-lo e/ou acrescentares um factor de optimização(range*Factor).
A experiência que tenho (tb não é muita) é que os filtros baseados na volatilidade, ou entradas e saídas indexadas à mesma dão excelentes resultados.

Quanto à questão das cotações, é isso mm.

Um abraço,
Kopas
Avatar do Utilizador
 
Mensagens: 264
Registado: 5/11/2002 0:44
Localização: Faro

simulação com comissões

por pataniscas de frango » 23/1/2004 14:19

Olá Kopas,
Tens razão quanto a essa relação entre o trade médio e o DD, mas em grande parte é uma caracteristica do tipo de sistema, da filosofia anti-trend. talvez outros filtros e um stop-loss ajudem, aos poucos vou testando as sugestões do pessoal e veremos o que dá.
O primeiro filtro que sugeriste em relação ao range, seria para evitar empresas em queda? É mais uma coisa a testar... Se percebi bem, o outro filtro que sugeres é evitar empresas a cotar a valores baixos, tipo $2, é isso? Pois, uma grande limitação deste tipo de simulações é que não temos acesso à cotação real de há 5 ou 10 anos, visto que houve inumeros splits... Resolver isso daria muito trabalho :(


Olá Camisa Roxa,
Para muita gente essa combinação é ideal, até porque é muito difícil programar a análise das cotações que nós humanos conseguimos fazer, só eventualmente com redes neuronais... Mas para mim não funciona usar a minha subjectividade, sou pouco consistente e os resultados são bastante maus, por isso só me ajeito mesmo com um sistema 100% mecanico :|
Uma vantagem de a estratégia não depender da nossa análise, é que os computadores podem analizar ou processar milhares de empresas por dia, e encontrar muito mais hipoteses de negocio que nós alguma vez conseguiriamos...


Voltei a fazer a mesma simulação de ontem mas com uma comissão de 0.3% (0.15% + 0.15%) e usando um capital de 10,000 dolars. Passei a simulação do SP500 porque demora uma eternidade... Fica também um gráfico com um trade concreto, mostrando também o RSI. Assim fica-se com uma imagem mais real do que o sistema anda a fazer.


Simulação:
:arrow: Capital investido constante = $10,000.
:arrow: Comissões de 0.3% (0.15 + 0.15). Sem Slippage.
:arrow: Abre até um máximo de 4 trades simultaneas.
:arrow: Compra na abertura do dia seguinte.
:arrow: Compra as empresas com menor RSI (14 dias), mas apenas se a tendência de medio/longo prazo fôr ascendente.
:arrow: Fecha o trade se o RSI ultrapassar os 45, na abertura do dia seguinte.
:arrow: Fecha o trade na abertura do oitavo dia.
:arrow: Não existem stops.
:arrow: Não é feito reinvestimento.


Código: Selecionar todos
   NP anual %   NP   Max DD   Max DD%   Trades   Avg Trade   Win %   Bars held
SP100   14.13   15,542    2,048   20.48   784   1.28%   59.82%   6.88
NAS100   16.89   18,580    1,540   15.40   712   2.72%   59.97%   6.79



pdf
Anexos
AAPL_95.gif
AAPL_95.gif (14.06 KiB) Visualizado 1849 vezes
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

por Camisa Roxa » 23/1/2004 11:58

pataniscas de frango: uso um indicador (mais ou menos secreto) para gerar buy signs, depois faço uma triagem em que geralmente elimino cerca de 50% só de olhar para os gráficos

Os restantes acabam na carteira virtual

Os stop losses também resultam apenas de passar os olhos pelo gráfico e verificar se o padrão de alta ainda se mantém ou se foi quebrado

O backtesting do sistema não o posso fazer obviamente num programa porque não é mecânico por isso faço-o on the spot em real time que ainda é a melhor forma de testar sistemas :)
Avatar do Utilizador
 
Mensagens: 2475
Registado: 5/11/2002 11:27
Localização: Leiria

por Kopas » 22/1/2004 23:59

Pataniscas,
Quanto ao slipage estou de acordo contigo, em média o saldo seria zero.

Tive a ver o report e achei os valores bastante saudáveis acompanhados com um curva de capital sem grandes sobressaltos e, com uma distribuição de resultados bastante aceitáveis.
O único senão à primeira vista é o max DD em relação ao trade médio, que talvez só se solucionaria com a inclusão de um stop loss, ou duma optimização dos parâmetros, é uma questão de testar para ver se não prejudica muito o sistema em termos de rentabilidade no intuito de um maior equilíbrio.

Uma outra hipótese seria a introdução de um novo filtro, eu tenho tido bons resultados com condições deste tipo:

If range< average(range, período)[1] then GO

Já tentaste por um filtro que só negoceia papeis com um valor superior a X?

Bom, isto há milhentas de coisa se pode tentar, convém é não cair na tentação de um excesso de parâmetrização.

Ps: Tb saso as cotações da yahoo através do Databull :( .

Um abraço,
kopas
Avatar do Utilizador
 
Mensagens: 264
Registado: 5/11/2002 0:44
Localização: Faro

por pataniscas de frango » 22/1/2004 22:10

Deixo as imagens da curva do NetProfit e dos valores de performance, da simulação no SP100.

A simulação no Nasdaq100 parece bastante boa, com um trade médio bem saudável de 3%, as estratégias anti-trend dão-se bem com empresas voláteis.
Esquecí-me de dizer que não usei comissões ou slippage... Aproveito para perguntar o que acham de incluir slippage nos testes. Se fossemos negociar este sistema, nuns trades comprar-se-ia mais abaixo e em outros mais acima, e os slippages tenderiam a anular-se, ou acham que não?

pdf.
Anexos
NP_sp100_4_30_0_8_no_45.gif
NP_sp100_4_30_0_8_no_45.gif (14.58 KiB) Visualizado 1971 vezes
perf_sp100_4_30_0_8_no_45.gif
perf_sp100_4_30_0_8_no_45.gif (9.8 KiB) Visualizado 1966 vezes
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

1ª Simulação... o início

por pataniscas de frango » 22/1/2004 21:55

Bom, já fiz algumas simulações com a ideia de base do menor RSI e os resultados não são nada maus, o problema é que as variaveis de configuração são tantas que é complicado saber por que caminho ir... Este sistema está talvez na linha que divide as estratégias trend following e anti-trend, bem mais para a anti-trend visto comprar as empresas mais desvalorizadas, na espectativa de que recuperem no curto-prazo. Comprar apenas aquelas com tendência ascendente ajuda mas é muito menos importante para os resultados.

Ora, já deu para perceber que aumentar o tempo máximo de cada trade, diminui o numero de trades e aumenta o trade médio, como seria de esperar, mas também diminui a rentabilidade e aumenta o drawdown! Interessante não acham?
A rentabilidade máxima parece acontecer quando temos as ações apenas 1 dia! Mas o trade médio baixa muito... É a filosofia das panquecas, dar só uma dentada rápida na parte mais saborosa e deitar o resto fora porque estão sempre novas a sair e mais quentinhas, não as comemos todas mas engordamos mais :)
Penso que este comportamento aparentemente estranho, de a rentabilidade aumentar bastante se reduzirmos o tempo máximo do trade, acontece porque o sistema usa as melhores oportunidades em cada momento, em vez de tentar tirar o melhor partido de cada acção. E em média, compensará mais abrir um novo trade numa empresa muito sobrevendida do que aguentar uma empresa que já se valorizou um pouco.

Talvez seja boa ideia achar um equilibrio entre a rentabilidade, o trade médio e o DD máximo.

Antes de mostrar os primeiros resultados, uma palavrinha acerca das bases de dados que usei... mais uma vez andei às voltas com isto, queria ter usado dados desde 1985 até 2003 mas os dados do yahoo vão ficando malucos à medida que se recua no tempo, por causa do ajuste de dividendos (errados) que eles fazem (provoca gap-up’s), e isso iria inflaccionar os resultados. Como o MLDownloader se recusa a importar dados do WallStreetCity e não tenho outras fontes, usarei por agora dados ajustados do yahoo só desde 1992. Mais tarde terei de conseguir testar o sistema no crash de 1987.
Usarei 3 portofolios para os testes, Nasdaq 100, S&P 100 e S&P 500. Mais tarde poderemos tentar portofolios mais exoticos...

Testei o seguinte sistema:
-Abre até um máximo de 4 trades simultaneas.
-Compra na abertura do dia seguinte.
-Compra as empresas com menor RSI (14 dias), mas apenas se o angulo da regressão linear de 250 dias fôr positivo - tendência ascendente. (função “LinRegSlope” do metastock).
-Fecha o trade se o RSI ultrapassar os 45, na abertura do dia seguinte.
-Fecha o trade na abertura do oitavo dia.
-Não existem stops.


Aqui ficam os resultados:
Código: Selecionar todos
     NP anual %     NP         Max DD   Trades  Avg Trade  Win %  Bars held
SP100   18.41   20,246,745   1,957,672   784   1.59%   61.61%   6.88
NAS100   19.24   21,167,551   1,484,107   712   3.02%   61.10%   6.79
SP500   26.92   29,615,813   2,011,074   1,407   1.27%   59.35%   7.10

pdf.
Avatar do Utilizador
 
Mensagens: 136
Registado: 27/9/2003 1:40

AnteriorPróximo

Quem está ligado:
Utilizadores a ver este Fórum: aaugustobb_69, Bing [Bot], Google [Bot], HFCA, trilhos2006 e 277 visitantes