M Língua Estratégia de comércio de tartarugas implementações ((V 1.0)

Autora:Sonhos pequenos, Data: 29-12-2018 09:07:24
Tags:Comércio de tartarugasMyLanguage

História

Em 1994, Covel pegou numa edição do Financial World e leu um artigo intitulado "Os melhores jogadores de Wall Street". Entre investidores famosos como George Soros e Julian Robertson,Covel notou um nome que ele não reconheceu no 25o lugar na lista: R. Jerry Parker,que afirmou que ele foi treinado como um "Turtle" por Richard Dennis (outro nome que Covel não reconheceu).

Sinopse

Richard Dennis ganhou mais de 200 milhões de dólares como comerciante. depois de ter um debate com seu parceiro, William Eckhardt, sobre se o comércio é aprendido ou um talento inato, eles propuseram uma experiência em que passariam duas semanas a treinar novatos na ciência do trading e depois dar-lhes cada um um milhão de dólares para investir. levou para uma fazenda de criação de tartarugas em Cingapura, afirmando, Vamos cultivar comerciantes assim como eles cultivam tartarugas.

Apesar de cada um dos 1000 candidatos ter passado por um rigoroso processo de candidatura concebido para testar a sua inteligência, capacidade de gestão de riscos e competências matemáticas, a composição dos candidatos não é a mesma. As Tartarugas escolhidas diferiram muito; incluíram um mestre de blackjack nascido na Tchecoslováquia, um designer de jogos de Dungeons and Dragons, um contador evangélico, um MBA de Harvard, Os Turtles ganhariam mais de 150 milhões de dólares em quatro anos.

Regras comerciais:

Na captura de sinais de tendência, a Lei de Negociação da Tartaruga usa um indicador técnico muito importante, o canal Donchian. Mas é um pouco diferente em termos de cálculos específicos.

Richard Donchian inventou este indicador. Ele consiste em três curvas de cores diferentes. O indicador usa o preço mais alto dentro do período (geralmente 20, alguns sistemas de plataforma configurações podem ser alteradas, alguns não podem ser definidos) E o preço mais baixo para mostrar a volatilidade do preço do mercado, quando o canal é estreito, significa que a volatilidade do mercado é O volume de mercado é relativamente pequeno, caso contrário, a largura do canal significa que a volatilidade do mercado é relativamente grande.

Quando o preço atravessa a faixa superior do canal, trata-se de um possível sinal de compra; pelo contrário, trata-se de um possível sinal de venda ao atravessar a faixa inferior.

Os métodos de cálculo do canal de Donchi são os seguintes:

O preço máximo de um preço de n dias é o valor máximo de um preço de n dias.

O valor mínimo do preço mais baixo de n dias

Trilha média = (trilha superior + trilha inferior) / 2

No âmbito da análise multifatorial no sector financeiro, esta estratégia prevê a evolução dos preços após o avanço, baseando-se na hipótese de validade do A eficácia deste fator foi de facto rigorosamente verificada e complementada pelo modelo de três factores Fama-Francês, que é amplamente utilizado em mercados financeiros.

É claro que podemos otimizar e usar indicadores mais razoáveis de ruptura de tendência.

Então, uma vez que o fator de impulso é um fator que tem sido público e amplamente utilizado, então por que a Lei do Comércio de Tartarugas pode se destacar da multidão? Regras de negociação definem um conjunto de regras muito rigorosas para o controle de posição e stop-loss.

    1. A unidade básica da posição N

    O princípio da regra da tartaruga consiste em definir uma pequena unidade (Unit) de modo a que a flutuação de valor esperada da posição corresponda a 1% do total dos activos líquidos. Se a instituição não comprar os activos desta pequena unidade, o valor de mercado da posição nesse dia não mudará mais de 1% do total dos activos líquidos.

    Então, como você define essa pequena unidade? Como você estima as flutuações de valor que essa pequena unidade pode trazer? A estratégia da tartaruga utiliza um método de média estatística da volatilidade histórica dos preços.

    TrueRange = Max ((High−Low, High−PreClose, PreClose−Low)

    N = (a soma dos valores de N dos 19 dias anteriores + o TrueRange no momento) / 20

    Entre eles, Alto indica o preço mais alto do dia, Baixo indica o preço mais baixo do dia, e PreClose indica o preço de fechamento do dia anterior. A definição de que o valor de N pode efectivamente expressar adequadamente as recentes flutuações do preço do activo.

    Assim, uma unidade deve ser calculada da seguinte forma:

    A unidade = (1%*Total_net) /N, Total_net é o valor líquido total dos ativos

    Pode-se ver que a volatilidade dos preços dos activos de uma unidade = 1% do total dos activos líquidos

    1. Quando abrir uma posição

    A ação de abrir uma posição vem da geração de um sinal de ruptura de tendência. Se o preço atual cair abaixo da faixa inferior, ele gerará um sinal de posição curta (o mercado de criptomoedas é suportado pela venda curta!)

    Tamanho inicial da construção = 1 unidade

    1. Quando é a posição de adição?

    Se a posição de detenção for uma posição longa e o preço do activo tiver aumentado 0,5 N em relação à última posição de detenção (ou posição de adição), adicionar uma unidade de posição longa;

    Se a posição de detenção for uma posição curta e o preço do ativo tiver caído 0,5 N em relação à última posição (ou posição de adição), adicionar uma unidade de posição curta.

    Vimos que a Estratégia da Tartaruga é na verdade uma estratégia de perseguir para cima e para baixo.

    1. Como fazer o stop loss dinâmico

    Se a posição de detenção for uma posição longa e o preço do ativo cair 2N em função da última posição de detenção (ou da posição de adição), então, dar um stop loss para todas as posições;

    Se a posição de detenção for uma posição curta e o preço do activo tiver aumentado 2N em relação à última posição de detenção (ou posição de adição), a posição inteira deve ser encerrada.

    Naturalmente, o usuário pode personalizar o plano de stop loss dinâmico, como uma queda de 0,5N para iniciar posição parcial de fechamento, em vez de esperar por um declínio de 2N após uma corrida para fechar o O que é que a Comissão está a fazer?

    1. Como fazer lucro, pode personalizar a dinâmica de lucro?

    Na Regra da Tartaruga, o sinal Take Profit é gerado assim:

    Se a posição de detenção for uma posição longa e o preço do ativo corrente cair abaixo da linha inferior do décimo canal de Donchian, todas as posições são fechadas;

    Se a posição de detenção for uma posição curta e o preço do ativo atual subir acima da linha superior do 10o canal Donchian, todas as posições serão fechadas.

    Naturalmente, os utilizadores podem personalizar o plano de lucro dinâmico, como quando o total de ativos líquidos / ativos líquidos iniciais > 1,5, basta tirar o lucro.

Vantagem

A maior vantagem da Lei do Comércio de Tartarugas é ajudar-nos a estabelecer um método eficaz de controlo do tamanho da posição.

Desvantagem

O sistema de negociação de tartarugas tem um problema comum com a estratégia de rastreamento de tendências, que é a retirada do lucro flutuante. O mercado de câmbio está a crescer muito rapidamente, devido a uma queda súbita.

Chega de conversas, vamos fazer isso acontecer!

Língua M

Após 6 anos de desenvolvimento, absorveu feedback de centenas de milhares de usuários. plataforma de desenvolvimento de modelos programáticos amplamente utilizada na China.

A linguagem M defende o conceito de programação de blocos de construção, que encapsula algoritmos complexos em funções individuais e adota o modo de construção de small Embora a gramática seja simples, também pode suportar aplicações financeiras lógicas e complexas com uma estrutura de dados programática especial e uma rica biblioteca de funções estatísticas financeiras.

A biblioteca de funções da linguagem M é atualizada com frequência, e novas funções podem ser adicionadas a qualquer momento de acordo com os novos requisitos do cliente para suportar o novo A partir de agora, o programa terá de ser desenvolvido de forma a permitir que o utilizador possa desenvolver ideias e novas aplicações.

O FMZ Quant não só realizou o intérprete da gramática da linguagem M, mas também melhorou sua capacidade de misturar programação com linguagem de alto nível, como JavaScript.

Por exemplo:

// aqui você pode chamar qualquer função API do FMZ Quant scope.TEST = função ((obj) { Retorno do valor obj.val * 100; - Não. Preço de encerramento: C;

O preço de fechamento é ampliado 100 vezes: TEST©;

O preço de fechamento anterior é ampliado 100 vezes: TEST(REF(C, 1)); // O mouse se move para a linha backtest K e o valor da variável é exibido.

img
img


(*backtest
start: 2018-11-01 00:00:00
end: 2018-12-19 00:00:00
period: 1d
exchanges: [{"eid":"Futures_BitMEX","currency":"XBT_USD"}]
args: [["ContractType","XBTUSD",126961]]
*)

// this demonstration mainly uses the Turtle Trading Rules to demonstrate the method of writing "position management, maximum position control and other fund management".
// only the demonstration key content statement is annotated, other statements please consult customer service
//This model is only used to demonstrate the use of this strategy, and enters the market accordingly, at your own risk.

TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));// True volatility
ATR:MA(TR,26); // Find a simple moving average of the true amplitude in 26 cycles, shown in the figure
ZOOM:=IFELSE(ISCONTRACT('@Futures_(?!CTP).*'), CLOSE, 1); // Compatible with cryptocurrency futures as margin
LOT:=((MONEYTOT*0.01*ZOOM)/(UNIT*ATR))*ZOOM;// Calculate the number of one hand based on 1% of equity
TC..IFELSE(ISCONTRACT('@Futures.*'), INTPART(LOT), LOT); // Compatible futures and spot ISCONTRACT starts with @ to indicate matching exchange name, support
MTC..4*TC; // Total position
HH^^HV(H,20); // Attached to the main image display
LL^^LV(L,20); // Attached to the main image display
CROSSUP(C,HH)&&ISLASTBK=0&&ISLASTSK=0&&BARPOS>=26,BK(TC);// The latest price exceeds the highest value of 20 cycles, the first time to buy long, the quality is TC hands
CROSSDOWN(C,LL)&&ISLASTBK=0&&ISLASTSK=0,SK(TC); // The latest price fell below the lowest value of 20 cycles, the first time to sell short, the quality is TC hands 
C>=BKPRICE+0.5*ATR&&BKVOL<MTC&&ISLASTBK,BK(TC);// The price has increased by 0.5 times ATR on the basis of the last holding position, and when the number of hands does not exceed 4 times of TC, buy long the adding position of TC hands
C<=SKPRICE-0.5*ATR&&SKVOL<MTC&&ISLASTSK,SK(TC);// The price fell 0.5 times ATR on the basis of the last holding position, and when the number of hands does not exceed 4 times of TC, sell short the adding position of TC hand.
C<=(BKPRICE-2*ATR)&&BKVOL>0,SP(BKVOL);// The latest price is less than the opening price minus 2 times of ATR, stop loss and close position
C>=(SKPRICE+2*ATR)&&SKVOL>0,BP(SKVOL); // The latest price is greater than the opening price plus 2 times of ATR, stop loss and close position
CROSSUP(H,HV(H,10))&&SKVOL>0,BP(SKVOL);// The highest price up-cross the highest price of 10 cycles, closing the position
CROSSDOWN(L,LV(L,10))&&BKVOL>0,SP(BKVOL); // The lowest price down-cross the lowest price of 10 cycles, closing position
TRADE_AGAIN(10);

Relacionados

Mais.