Outros sites Medialivre
Caldeirão da Bolsa

proposta para position sizing...

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 D1as » 7/5/2003 20:02

Avatar do Utilizador
 
Mensagens: 743
Registado: 7/11/2002 19:47

por Pata-Hari » 30/4/2003 10:27

Avatar do Utilizador
Administrador Fórum
 
Mensagens: 20972
Registado: 25/10/2002 17:02
Localização: Lisboa

por Visitante » 30/4/2003 10:20

onde é que se pode encontrar o PDF dos turtles?
Visitante
 

Notas

por Red » 27/4/2003 23:06

Em consequência de o Cem ter chamado à atenção para a forma como calculava o ATR, fui investigar a forma como são calculadas as médias móveis exponenciais e o ATR, apesar de ainda não ter esclarecido tudo, fica aqui o que já constatei:

:arrow: No PDF dos turtles, na página 14, eles mostram a formula para o cálculo de N. Esse N eles afirmam ser a média móvel exponencial de 20 dias do TR. No entanto a fórmula que lá está é da média móvel exponencial de 40 dias do TR!

:arrow: No Metastock (e no Wealth-Lab), o ATR de 20 dias apresenta o valor da média móvel exponencial de 40 dias do TR.

A conclusão parece ser que, o ATR é calculado com uma média móvel exponencial do TR, mas com o periodo multiplicado por 2. No entanto o que leio não é isso. Estou um bocado confuso... Alguem consegue esclarecer isto?

De qualquer forma, para quem pretender usar esta abordagem, aquilo que é importante é usar um indicador de volatilidade com a sensibilidade que melhor convier, mais ou menos reactivo, ATR com um periodo menor ou maior.

red.
Avatar do Utilizador
 
Mensagens: 392
Registado: 6/11/2002 15:42

por Red » 27/4/2003 22:25

Kopas, pois, se não há coisas que não consigas fazer no TS, não vale muito a pena mudar por mudar, ou estar a complicar. O ideal é concentrar o máximo de coisas num só programa... *suspiro* :)
abraço,
red
Avatar do Utilizador
 
Mensagens: 392
Registado: 6/11/2002 15:42

por Kopas » 27/4/2003 20:29

Aqui vai o Link

http://www.wealth-lab.com/

Cumprimentos,

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

por tutosat » 27/4/2003 20:13

q programa é esse o WL?
Mais uma colherada no Caldeirão...
 
Mensagens: 533
Registado: 7/11/2002 23:19

por Kopas » 27/4/2003 19:46

Red,
Obrigado pela resposta, tive a dar uma olhadela pelo site da Wl, mas não tive coragem de sacar a trial, pois já sei que não vou descansar enquanto não descascar :? a programação da plataforma.
Axo que por enquanto vou me concentrar na TS, senão não faço mais nada que é aprender linguagens de programação.

Um abraço e vai dando noticias dos progessos da WL :) .

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

por Visitante » 27/4/2003 18:08

Kopas:
Passei a usar o WL mais ou menos por substituição do TS porque com ele consigo fazer várias coisas que não consigo nem com o TS nem com o metastock.

Mas na verdade não conheço muito bem o WL, apenas o comecei a usar por desespero de não conseguir fazer certas coisas nos outros, e aos poucos fui-o adoptando cada vez mais. Ele é essencialmente feito para desenvolvimento e teste de sistemas, e como permite muita liberdade e tem uma linguagem aceitavel, permite imensa coisa, é uma questão de ter a ideia e descobrir como a implementar...

O que acho mais valioso é permitir a simulação de um sistema num portofolio. Ele permite-me criar uma lista de 100 tickers (pode importar directamente do yahoo ou de uma série de fontes), e correr um sistema simultaneamente nesses 100 tickers, e ver os resultados. Isto é o que de facto acontece quando aplicamos um sistema na vida real.
Usei-o também para encontrar pares de acções correlacionados, para "pairs trading", comprando uma e vendendo a outra.

Para quem tiver alguma facilidade em programar, o WL é sem dúvida uma alegria, comparado com o TS e muito mais com o metastock.

Em termos de relatórios de backtesting parece-me ter algumas faltas, mas provavelmente ainda não explorei tudo. De qualquer forma é fácil fazer os nossos proprios relatórios... e exportá-los para um ficheiro, por exemplo.

Uma coisa de que não gosto é de uma certa falta de consistência, pois pelo que percebi existe um sujeito que está por detrás do WL e que o desenvolve e actualiza permanentemente, e que vai discutindo o software num forum muito activo que existe na homepage. E regularmente introduz novas funcionalidades e novas funções na linguagem. Por um lado isto é optimo, mas tem esta consequencia de não ser tão consistente.
Por outro lado, já sofri muito por causa de bugs do TS...

Muito útil também são os sistemas já feitos pelo criador e por muitos utilizadores e que estão disponiveis na HP, e que podem servir para ideias e como base dos nossos proprios sistemas.
No forum podem-se tirar imensas dúvidas mesmo apenas pesquisando para tras, que é muito importante para quem começa. Tem-me servido de muito.

Espero ter respondido..

abraço,
red
Visitante
 

WL

por Kopas » 27/4/2003 14:17

Caro Red,
Já à muito que eu não utlizo o MS, pelo menos para programar, prefiro de longe a TS.

Seria pedir muito se pudesse enumerar algumas das vantagens da WL(não conheço a plataforma) em realação à TS, em termos de programação e mais propriamente no backtesting.

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

por arnie » 26/4/2003 17:44

O problema é existir varias formas de escrever o mesmo.

Andei a fazer uma pesquisa pela net e encontrei uma outra formula para o TR:

(H - L + Abs(H - Ref(C,-1)) + Abs(L - Ref(C,-1)) )/2

Red, não me leves por maus caminhos :wink:

Agora que começo a me entender tanto com a linguagem do MS como com a do TS não vou mudar para o WL. Daqui a pouco não faço mais nada do que andar a estudar programação :? :wink:


Um abraço
arnie
 
Mensagens: 3094
Registado: 4/11/2002 23:09
Localização: Viras à esq, segues em frente, viras à dir, segues em frente e viras novamente à dir. CHEGASTE

Arnie,

por Red » 26/4/2003 16:38

é que estás a usar uma fórmula para o TR diferente, normalmente é o máximo de 3 hipoteses:
1. High - Low
2. High - CLose de ontem
3. Close de ontem - Low

que é para acautelar os gaps (dai o TRUE acho eu eheh)... a formula que uso no meta é esta:

Max(H-L, Max(H-Ref(C,-1),Ref(C,-1)-L));

(dá-me 13.91 no meta, actualizaste cotações?)

sobre andares dividido entre o metastock e o tradestation.... também eu andava, até encontrar o WL :P Garanto que não ganho comissão!

e fui agora espreitar.. lá nos menus vejo um "enable Live Feed" e "Esignal" ...

um abraço,
red
Avatar do Utilizador
 
Mensagens: 392
Registado: 6/11/2002 15:42

por arnie » 26/4/2003 15:43

Red

tenho aqui uma pergunta para ti

porque razão o tradestation dá o valor do TR (true range) diferente do metastock?

No metastock, o S&P dá-me um valor de 13.61 mas no tradestation dá uma valor de 13.91
Sabes explicar qual a razão?

Eu até para tirar as duvidas, não usei a função (TrueRange) do tradestation e escrevi a mesma formula que escrevi no meta e o resultado é o mesmo, uma diferença de 0.30 pts.

Deixo aqui as duas formulas para ser mais facil experimentares:

Metastock

HIGH - Ref(CLOSE,-1) + (Ref(CLOSE,-1) - LOW);


TradeStation

Vars: TR (0);

TR= (high - Close[1]) + (Close[1] - low);

Plot1( TR, "TrueRange");


ou

Plot1(TrueRange, "TrueRange");



No entanto existem dias em que ambos dão os mesmos valores, por exemplo, dia 04-04 ou dia 28-03. É estranho ver a mesma formula dar resultados diferentes em alguns dias.

um abraço
arnie
 
Mensagens: 3094
Registado: 4/11/2002 23:09
Localização: Viras à esq, segues em frente, viras à dir, segues em frente e viras novamente à dir. CHEGASTE

por Red » 26/4/2003 13:39

arnie: olá :) usei a "Weighted" porque queria acima de tudo suavizar, não é tão importante que seja muito reactiva, no fim não é assim tão importante qual delas usas... E apenas interessa para o ATR%, pois na formula final não está lá a fazer nada! que podia ficar:
Código: Selecionar todos
capital:=Input("capital por trade",1,9999,500);

capital
/(ATR(20) * 100)
*4 ;


Pata: é só uma hipotese, há outras abordagens, importante é perceberes e sentires-te confortavel com esse método :)

abraços,
red
Avatar do Utilizador
 
Mensagens: 392
Registado: 6/11/2002 15:42

por Pata-Hari » 26/4/2003 13:19

Red, excelente! tinha lido o link dos turtle traders mas não tinha ensaiado sequer tentar "formatar" a ideia. E tu fazes a papinha toda dando o indicador feitinho e programado em linguagem meta e tudo, OBRIGADO! Já o tenho no meta e vou passar a ter em conta. Ainda tenho é que estudar isto melhor...

OBRIGADO!
Avatar do Utilizador
Administrador Fórum
 
Mensagens: 20972
Registado: 25/10/2002 17:02
Localização: Lisboa

Bom dia, Cem

por Red » 26/4/2003 12:45

e obrigado pelas tuas palavras.

Antes de mais, não tive a preocupação de reproduzir o método que os turtles usam no position sizing, mas sim expor a adaptação prática a que eu cheguei... Já antes usava o ATR dividido pelo close para ter valor da volatilidade percentual, e ao ler o sistema deles, gostei da filosofia e resolvi adoptar o método, de maneira que isto é uma versão minha, com as falhas inerentes...

Quanto à média móvel pesada de 9 dias, ela serve essecialmente para calcular o ATR percentual, resolvi dividir o ATR pela MM e não pelo close, para suavizar um pouco, podia perfeitamente ter outro periodo. Essa parte é minha e não dos turtles.
Na fórmula final que dei, as duas referências à MMW9 podem ser apagadas já que está a multiplicar e a dividir :shock: ! Mas como fiz a coisa por passos e para ficar compreensível, é importante calcular o ATR% e para isso é preciso a MM do close.

Quanto ao ATR e à média móvel do TR, deixaste-me cheio de dúvidas e fui fazer uns testes, porque eu tinha a ideia de o ATR(n) ser precisamente a média móvel exponencial de n dias do TR... Aliás no PDF dos turtles eles dizem textualmente que é isso.
Comparei então 3 coisas no metastock:
a) ATR(20)
b) média móvel exponencial de 20 dias do TR. ( mov(TR,20,E) )
c) a formula que eles têm para o N. (com PREV)

E, para meu espanto, o a) e o c) são precisamente iguais, e o b) dá o mesmo valor se calculado com um periodo de 39 dias! Talvez me possas explicar o porquê disto porque fiquei baralhado e estou demasiado ensonado para pensar... :?
Quanto ao meu valor parece que até estava igual ao N, apesar de não ser propriamente a minha intenção, apenas é importante ter uma medida da volatilidade, cheguei mesmo a pensar usar um periodo mais longo de 30 ou 40 dias para dar uma indicação mais estável da volatilidade média.

Quanto à questão do Money Management, eu tentei não entrar por aí e deixar isso em aberto, porque apesar de ter tudo a ver, este método de ajustar posições vale por si e pode ser usado numa série de esquemas diferentes de MM. Os 2% que referi são tirados da cartola apenas para dar um exemplo concreto.
Também gostei do controlo que os turtles fazem ou faziam dos trades simultaneos, para não terem situaçoes desequilibradas de exposição, bastante simples mas deve provocar logo um bom resultado...

Para uma estratégia de negociar acções usando esta formula para ajustar as posições, pode ser qualquer uma... por exemplo uma do género da dos turtles, de quebra de canal, mas aproveitando apenas as mais apetitosas (que estejam em trend e dêm lucro com esta estratégia), usar 10% do capital em cada trade de acordo com a formula. E limitar a exposição máxima a 300% do capital (30 negócios simulataneos). E talvez ainda limitar a relação entre exposição long / exposição short a valores entre 0.6 - 1.67 (10 para 6 ou 6 para 10). Que poderia ser refinado usando a correlação entre as empresas...
Na prática, o melhor é fazer uma simulação do sistema num portofólio de empresas, o mais real possível, e ajustar as regras até termos uma boa relaçãoa entre rentabilidade e drawdown. Pelo menos eu sinto-me atraido por essa abordagem, que achas?

um abraço e bom fim de semana,
red
Avatar do Utilizador
 
Mensagens: 392
Registado: 6/11/2002 15:42

por arnie » 26/4/2003 12:21

Red

explica porque razão utilizas uma MM ponderada e não uma MM exponencial.

um abraço
arnie
 
Mensagens: 3094
Registado: 4/11/2002 23:09
Localização: Viras à esq, segues em frente, viras à dir, segues em frente e viras novamente à dir. CHEGASTE

Caro Red:

por Cem » 26/4/2003 1:01

Parabéns pelo teu artigo.
O que tu escreveste é de uma grande importância a nível do risco a assumir como estratégia de defesa de uma carteira, em termos genéricos concordo em absoluto que a volatilidade é uma dessas premissas de partida a ter sempre em conta.
Parece quase um sacrilégio violar um dos segredos mais importantes que deram milhões a ganhar nos anos 80 e 90, mas a fórmula dos "turtles" era um desses tabus que agora andam a ser revelados á boca cheia.
Eu tive também a curiosidade de pesquisar essas fórmulas e curiosamente, no grau de risco da carteira, o cálculo de N que mede a exposição ao risco, traduzi tudo para Metastock mas não encontrei uma data de detalhes que usaste no teu exemplo. Provavelmnete usámos fontes de pesquisa diferentes.
No meu caso nada encontrei acerca acerca daquela média que desencantaste do fecho das 9 sessões. O que eu retive como essencial na fórmula do cálculo da volatilidade foi a média exponencial de 20 sessões do True Range, o que é ligeiramente diferente do ATR(20)...
Mas se calhar aquilo vai tudo dar a valores muito semelhantes, como diria o Guterres é só fazer as contas.
De resto acho que escolheste 2 exemplos de acções felizes, embora creia que as fórmulas estejam mais vocacionadas para futuros alavancados de commodities.
Já agora, o facto de dividires tudo em fracções de 2% significa que usavas os 100% do capital disponível por 50 acções do mesmo mercado ou de mercados diferentes? A parte que achei mais inovadora e interessante na estratégia dos turtles nem sequer foi o sistema de trading em si nem o facto de avaliarem o risco da carteira através das volatilidades isoladas dos activos que a compunham, mas sim o facto de terem regras de fraccionamento das "units" de cada 1% do capital consoante o tipo de mercados e a sua correlação, usando sempre percentagens variáveis do capital total consoante o risco envolvido. Lá vamos parar outra vez à história de activos de arbitragem...
Um abraço e mais uma vez os parabéns pelo artigo, é muito instrutivo como princípio geral de defesa de uma carteira.
Cem
 
Mensagens: 715
Registado: 18/4/2003 1:58

nota

por Red » 25/4/2003 21:11

a formula está calibrada para acções do SP500 (que serve para a europa), para uso em indices convem calibrar com a volatilidade média desses indices. Alterar o "4" que aparece na fórmula.
red
Avatar do Utilizador
 
Mensagens: 392
Registado: 6/11/2002 15:42

proposta para position sizing...

por Red » 25/4/2003 20:38

Esta é uma forma de fazer position sizing (determinar a exposição em cada trade) que comecei a usar e deixo aqui para quem interessar ou quem quiser comentar... Basicamente foi adaptada do sistema “Turtle” que está na internet e parece-me um bom método, e é certamente melhor que nada – investir sempre o mesmo em cada trade!

A principal utilidade é ajustar o tamanho das posições em função da volatilidade de cada activo, acção ou indice, de forma a formatar o risco num determinado valor que nos interessa.
Não faz muito sentido ter a mesma exposição em duas acções, em que uma delas tem o triplo da volatilidade. Se tivermos como referencia usar 2% do capital em cada trade, mais vale investir menos de 2% na mais volatil e mais de 2% na menos volátil...

Um exemplo de duas acções com volatilidades bem diferentes, a Procter & Gamble (ticker PG) muito pouco volátil:

Imagem





E a Tellabs (ticker TLAB), muito mais volátil:

Imagem


Para medir a volatilidade usei o Average True Range de 20 dias dividido pela média móvel ponderada de 9 dias do close, multiplicado por 100, e obtem-se um valor uniformizado entre todas as acções. É o indicador de cima nos gráficos. E dá mais ou menos a variação diaria máxima da acção em percentagem:

ATR% = ATR20 / MMW9 * 100



Como é feito o calculo do numero de acções a investir?
Quanto mais volátil fôr a empresa ou índice, menos acções ou contratos se deverão comprar ou vender, e vice-versa. Antes de mais temos de definir o montante que estamos dispostos a investir em cada trade, consoante a nossa estratégia e money management, por exemplo 2% do capital, se tivermos 25000$, daria 500$ por trade (dollars já que são acções americanas).

Mas quando dizermos que queremos investir 500$ por trade, é em média, para acções medianamente voláteis, e é aqui que entra a formula para adaptar estes 500$ consoante a volatilidade da acção.

Se fizermos a média da volatilidade das acções so SP500 ou das principais praças europeias, medida pelo ATR%, obtemos um valor entre os 3.5% e 4.5%, que arredondei para 4%.
Dessa forma os 500$ seriam investidos numa acção com volatilidade de 4% medida pelo ATR%. Será mais capital se a acção for menos volatil que os 4% e menos capital se a acção for mais volátil que os 4%.

Para cada trade, a formula que dá o numero de acções ou contratos a comprar ou vender é:

Numero de acções ou contratos = [Capital medio por trade] / ATR% x 4 / MMW9


Que nos exemplos que tinha dado fica assim:
a) Procter & Gamble:
- Capital medio a investir por cada trade : 500$ (2% do capital)
- Volatilidade (ATR%) : 1.51%
- Nº de acções dado pela formula : 14.74 (15)
- Capital real nesta trade : 15 x 89.87 = 1348.05 $ (close como valor de entrada)


b) Tellabs:
- Capital medio a investir por cada trade : 500$ (2% do capital)
- Volatilidade (ATR%) : 6.74%
- Nº de acções dado pela formula : 50.78 (51)
- Capital real nesta trade : 51 x 5.92 = 301.92 $ (close como valor de entrada)


Como resultado da formula, na PG urariamos 4.5 vezes mais capital do que na TLAB, já que é 4.5 vezes menos volátil.

Na prática:
Usando o metastock, basta colocar o indicador que contem a fórmula e indicar o capital médio que pretendemos usar em cada trade (exemplo 500$), e o indicador mostra o numero de acções aconselhado.
Para quem quiser experimentar, basta criar um novo indicador no “Indicator Building” e copiar o código:

Código: Selecionar todos
capital:=Input("capital por trade",1,9999,500);

capital
/(ATR(20) / Mov(C,9,W) * 100)
*4
/Mov(C,9,W);



Nota: para activos em que 1 ponto do activo não equivale a 1 dollar ou 1 euro (Futuros), é necessário normalizar, dividindo a fórmula pelo número de dollars ou euros por ponto do activo.

Espero não me ter enganado em nada, não sei se ficou muito confuso, espero que dêm opiniões...

Abraços,
red
Avatar do Utilizador
 
Mensagens: 392
Registado: 6/11/2002 15:42


Quem está ligado:
Utilizadores a ver este Fórum: junas, Majestic-12 [Bot], Pmart 1, Shimazaki_2 e 139 visitantes