Explore as novas funções do editor de estratégia FMZ: Como o ChatGPT melhora significativamente a sua produtividade quantitativa

Autora:Lydia., Criado: 2023-04-03 13:32:37, Atualizado: 2023-09-18 19:59:09

img

Explore as novas funções do editor de estratégia FMZ: Como o ChatGPT melhora significativamente a sua produtividade quantitativa

Para os iniciantes em negociação quantitativa e programática, quais são as maiores dificuldades de aprendizagem?

  • Deficiência de conhecimentos básicos: incluindo conceitos básicos, regras de mercado, conhecimentos comerciais, pensamento estratégico, etc.
  • Pobre base de programação: incluindo expressão lógica, design e escrita de programas, depuração de programas e correção de erros.
  • Pensamento lógico fraco: o processo de pensar pode causar confusão facilmente, e quanto mais você pensa, mais confuso você se torna.
  • Dificuldades de estudo individual: Quando se depara com problemas, é difícil saber por onde começar a resolvê-los, e a direção da busca de problemas pode nem mesmo ser clara.

Com o desenvolvimento da tecnologia de IA, podem ser encontradas soluções para estes problemas até certo ponto.ChatGPTA plataforma FMZ é uma ferramenta de aprendizagem, pesquisa e criação quantitativa. Com a nova atualização para o editor de estratégia e integração com o ChatGPT, melhora a produtividade da quantificação.As novas funções do editor de estratégia FMZJuntos!

Use o ChatGPT para ajudar no design de código

Embora as capacidades atuais do ChatGPT já sejam muito poderosas, e possa compreender muito bem as perguntas humanas, as respostas que fornece ainda são altamente sensíveis a fatores comoa exatidão e a exatidão da descrição da pergunta. Se o cenário descrito ou o conteúdo da pergunta não for preciso, o ChatGPT pode não ser capaz de fornecer uma resposta perfeita. Portanto, ao usá-lo para resolver alguns problemas, é necessário tentar expressá-los corretamente e completamente.

Em seguida, usaremos a função ChatGPT do editor de estratégia da plataforma FMZ para resolver um problema de design de código.

1. Invocar o ChatGPT

img

Clique com o botão direito no espaço em branco, selecione a opção ChatGPT e clique para chamarChatGPT, ouUse Ctrl+K para chamar o ChatGPT.

2. A técnica de fazer perguntas

Se eu sou um iniciante de negociação quantitativa agora, eu tenho um requisito:

Use a linha K de um minuto para sintetizar qualquer data da linha K de período.

Como iniciante, minha habilidade de programação é pobre, e eu realmente não sei como escrever um algoritmo assim. No passado, eu só podia procurar informações e pedir ajuda a especialistas. Agora, com o ChatGPT, posso pedir respostas diretamente.Usar dados de linha K de um minuto para sintetizar quaisquer dados de linha K de período. É improvável que o GPT lhe dê uma resposta 100% utilizável, então você ainda precisa tentar o seu melhor para descrever o problema completamente.

Então vamos tornar esta descrição de requisitos um pouco mais completa:

 > On the FMZ platform, calling the exchange.GetRecords(60) function can obtain one-minute K-line data, and the data structure is: [{
 > Time : Millisecond timestamp, // Start time of the period
 > Open : 1000,
 > High : 1500,
 > Low : 900,
 > Close : 1200,
 > Volume : 1000000
 > }, ...]
 > Please design an algorithm that uses one-minute K-line data to synthesize any minute's K-line data. For periods that can be divided by 60 minutes, start counting from the whole point of 0 minutes. Implement it in Javascript language, write this algorithm as a separate function, test it in the function main() and use $.PlotRecords(KLineData, "name") for drawing.

Depois de chamar o ChatGPT, você pode preencher o conteúdo da pergunta otimizada mencionada acima.

img

ChatGPT começa a funcionar.

img

Espera que termine de escrever.

img

Às vezes...ChatGPTadicionaimgEntão nós só precisamos remover a primeira e a última linha. já que eu pedi para usar$.PlotRecords(KLineData, "name")Para desenhar, a estratégia precisa fazer referência a uma biblioteca de desenhos para desenhar. Em relação ao que é uma biblioteca de modelos, não vou elaborar aqui; você pode consultar a documentação da API do FMZ para mais informações,Endereço da Biblioteca de Plano.

O código fornecido porChatGPTEu defino o período de linha K padrão do sistema de backtesting como 5 minutos, que é usado para comparação com gráficos de linha K extraídos de dados de linha K calculados pelo algoritmo Chat GPTs.

img

3. Código de teste de backtest dado pelo ChatGPT

img

img

Preliminarmente, parece que o algoritmo dado pelo ChatGPT para sintetizar K-line de 5 minutos de K-line de 1 minuto é correto.

Código completo escrito pelo ChatGPT:

/*
Synthesize arbitrary minute K-line data
@param {Array} records - One-minute K-line data
@param {Number} period - Synthetic period, unit in minutes
@return {Array} - Synthesized K-line data
*/
function composeKLineData(records, period) {
  var result = [];
  var index = 0;
  var open = records[0].Open;
  var high = records[0].High;
  var low = records[0].Low;
  var close = records[0].Close;
  var volume = records[0].Volume;
  var time = records[0].Time - records[0].Time % (period * 60 * 1000);
  for (var i = 1; i < records.length; i++) {
    var record = records[i];
    if (record.Time < time + period * 60 * 1000) {
      high = Math.max(high, record.High);
      low = Math.min(low, record.Low);
      close = record.Close;
      volume += record.Volume;
    } else {
      result[index] = {
        Time: time,
        Open: open,
        High: high,
        Low: low,
        Close: close,
        Volume: volume
      };
      index++;
      open = record.Open;
      high = record.High;
      low = record.Low;
      close = record.Close;
      volume = record.Volume;
      time = record.Time - record.Time % (period * 60 * 1000);
    }
  }
  result[index] = {
    Time: time,
    Open: open,
    High: high,
    Low: low,
    Close: close,
    Volume: volume
  };
  return result;
}

function main() {
  var records = exchange.GetRecords(60);
  var kLineData = composeKLineData(records, 5); // Synthesize 5-minute K-line data
  $.PlotRecords(kLineData, "KLineData");
}

Use o ChatGPT para explicar código

FMZs integrado ChatGPT não só ajuda a escrever código, mas também ajuda a explicar o código.composeKLineDatafunção no código apenas escrito por ChatGPT, clique com o botão direito para mostrar o menu:

img

Use o ChatGPT para dar sugestões e otimizar o código

Mesmo o ChatGPT pode fornecer sugestões de otimização e código otimizado.

img

Outras funções adicionadas ao editor

A atualização do editor FMZ, além de adicionar a função ChatGPT, também otimiza e melhora a experiência de programação online, adicionando muitas funções convenientes.

Ver combinações de atalhos

Clique com o botão direito no espaço em branco ou ao selecionar código para mostrar o menu.

img

Mostra várias combinações de teclas de atalho.

img

Modificar o nome da variável

Renomear símbolo para modificar o nome da variável local.

img img

Só mudou o nome da variável.recordsemmainfunção da imagem acima.

Modificar todo o mesmo conteúdo

Altere Todas as ocorrências, selecione um nome de variável, palavra e edite todo o mesmo conteúdo no texto simultaneamente.

img img

Formatação (otimização do código, formato de alinhamento automático)

Formatar Seleção, formatar o código selecionado.

Formatar documento, formatar todo o código.

img

Ir para Definição, referência

Vá para Definição: vá para Definição. Ir para Referências: Ir para Referências. Ir para Symbol...: Ir para nomes de variáveis, nomes de funções, etc.

img

Peek Definição, Peek Referências

Peek Definition: Definition preview, ver a definição do código selecionado sem sair da linha atual de código. Peek References: Preview de citação, ver as referências à linha de código atual em outras linhas de código sem sair da linha de código atual, pode ir rapidamente, a fim de entender melhor a lógica e a estrutura do código.

img


Relacionados

Mais.