avatar of 发明者量化-小小梦 发明者量化-小小梦
focar em Mensagem privada
4
focar em
1271
Seguidores

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

Criado em: 2023-04-01 13:07:53, atualizado em: 2024-11-29 18:56:44
comments   5
hits   3079

[TOC]

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

Explore os novos recursos do FMZ Strategy Editor

Qual é a maior dificuldade para iniciantes em negociação quantitativa e negociação programática? Em termos gerais, existem vários.

  • Falta de conhecimento básico: incluindo conceitos básicos, regras de mercado, conhecimento de negociação, ideias estratégicas, etc.
  • Base de programação fraca: incluindo expressão lógica, design e escrita de programas, além de depuração e solução de problemas de programas.
  • Raciocínio lógico fraco: O processo de pensamento facilmente leva à confusão, e quanto mais você pensa, mais confuso fica.
  • Dificuldade no autoestudo: Quando surgem problemas, você não sabe por onde começar a resolvê-los e pode até não saber onde procurar o problema.

Com o desenvolvimento da tecnologia de IA, soluções para os problemas acima podem ser encontradas até certo ponto. Popular recentementeChat GPTEle pode ser usado como uma ferramenta para aprender, pesquisar e criar negociações quantitativas. Com a nova atualização do editor de estratégia na plataforma FMZ, o Chat GPT também foi conectado, o que melhorou muito a produtividade quantitativa. Vamos explorar isso juntos.Novos recursos do FMZ Strategy Editor

Use o Chat GPT para ajudar no design do código

Embora as funções do Chat GPT já sejam muito poderosas e seu nível de compreensão de questões levantadas por humanos já seja muito alto. Mas a resposta que ele dá ainda éCompletude da descrição do problemaPrecisão da descriçãoFatores como a entrada e saída do usuário são muito sensíveis. Se o cenário descrito ou o conteúdo da pergunta for impreciso, o Chat GPT ainda não pode dar uma resposta perfeita. Portanto, ao usá-lo para resolver alguns problemas, você precisa tentar expressá-lo correta e completamente.

Em seguida, usaremos a função Chat GPT do editor de estratégia da plataforma FMZ para resolver um problema de design de código. Faça login na plataforma FMZ e vá para uma página de edição de estratégia.

1. Como chamar ChatGPT

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

Use o menu do botão direito em um espaço em branco, selecione a opção ChatGPT e clique para chamarChat GPT,ouUse ⌘K para invocar ChatGPT

2. Sobre a maneira de fazer perguntas

Se eu for iniciante em negociação quantitativa agora, tenho um requisito: “Use a linha K de um minuto para sintetizar dados da linha K de qualquer período”. Como iniciante, minhas habilidades de programação são fracas e eu realmente não consigo escrever um algoritmo desses. No passado, eu só conseguia procurar informações e buscar ajuda de especialistas. Agora, com o Chat GPT, posso perguntar diretamente a ele a resposta. Claro, como mencionado acima, descreva diretamente esse requisito:“Use a linha K de um minuto para sintetizar dados da linha K de qualquer período”. É muito provável que o GPT não lhe dê uma resposta 100% utilizável, e você precisa descrever o problema da forma mais completa possível. Tomando esse requisito como exemplo, continuei ajustando minhas perguntas e perguntei muitas vezes antes de obter a resposta útil que eu queria. Então vamos descrever esse requisito um pouco mais completamente:

在FMZ平台上调用exchange.GetRecords(60)函数可以获取一分钟K线数据,数据结构是:
[{
    Time    : 毫秒时间戳,   // 周期的起始时间  
    Open    : 1000,              
    High    : 1500,              
    Low     : 900,               
    Close   : 1200,              
    Volume  : 1000000            
}, ...]
请设计一个算法,使用一分钟K线数据合成任意分钟的K线数据,对于可以整除60分钟的周期,需要从整点的0分开始统计,使用Javascript语言实现,
这个算法单独写成一个函数,测试在function main()函数中测试,使用$.PlotRecords(KLineData, "name")画图。

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

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

O ChatGPT começa a funcionar.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

Espere até terminar.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

às vezesChat GPTEnrole o código”Símbolo que indica em markdown que o conteúdo incluso é código. Então, apenas excluímos a primeira e a última linha. Porque a pergunta que fiz foi para usar$.PlotRecords(KLineData, “name”)`Desenho, então a estratégia deve referenciar a biblioteca de desenho de linha para desenhar. O desenho é para verificar se os dados da K-line sintetizados pelo código dado pelo Chat GPT estão corretos. Quanto ao que é a biblioteca de modelos, não entrarei em detalhes aqui. Você pode verificar a documentação da API do FMZ.Endereço da biblioteca de desenho de linha

Chat GPTO código fornecido pode ser backtestado diretamente. Eu configurei o período K-line padrão do sistema de backtesting para 5 minutos para comparar o gráfico K-line desenhado pelos dados K-line calculados pelo algoritmo fornecido pelo Chat GPT.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

3. Backtest do código fornecido pelo Chat GPT

Desenho do sistema de backtesting Desenho do algoritmo ChatGPT

À primeira vista, o algoritmo fornecido pelo ChatGPT para usar a linha K de 1 minuto para sintetizar a linha K de 5 minutos está correto.

4. Código completo escrito por ChatGPT

/*
合成任意分钟的K线数据
@param {Array} records - 一分钟K线数据
@param {Number} period - 合成的周期,单位为分钟
@return {Array} - 合成后的K线数据
*/
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); // 合成5分钟K线数据
  $.PlotRecords(kLineData, "KLineData");
}

Explique o código usando o Chat GPT

O ChatGPT integrado ao FMZ não só ajudará você a escrever código, mas também a explicar o código. Selecione o código que o ChatGPT acabou de escrever.composeKLineDataFunção, clique com o botão direito para abrir o menu:

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

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

O ChatGPT pode até dar sugestões de otimização e código otimizado.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa


Outros novos recursos adicionados ao editor

Esta atualização do editor FMZ adiciona o recurso ChatGPT. Ele otimiza e melhora ainda mais a experiência do usuário na escrita de programas online e adiciona muitas funções convenientes.

Ver combinações de teclas de atalho

Clique com o botão direito em um espaço em branco ou quando o código for selecionado para abrir um menu.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

Exibe combinações de teclas de atalho para várias funções.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa


Modificar nome da variável

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

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

Somente a imagem acima será modificadamainNomes de variáveis ​​em funçõesrecords


Modificar todo o conteúdo idêntico

Alterar todas as ocorrências, selecionar um nome de variável ou palavra e editar todos os mesmos conteúdos no texto ao mesmo tempo.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa


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

Seleção de formato, formata o código selecionado.

Formatar documento, formatar todos os códigos.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa


Ir para definição, referência

Vá para Definição, pule para a definição. Vá para Referências, pule para referências. Vá para Símbolo…, pule para o nome da variável, nome da função, etc.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa


Pré-visualização de definição, pré-visualização de referência

Definição de Peek, prévia da definição. Visualize a definição do código selecionado sem sair da linha de código atual. Dê uma olhada nas referências, visualize a referência, visualize as referências à linha de código atual em outras linhas de código sem sair da linha de código atual e avance rapidamente para entender melhor a lógica e a estrutura do código.

Explore os novos recursos do FMZ Strategy Editor: como o ChatGPT pode melhorar significativamente sua produtividade quantitativa