Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Erstellt in: 2023-04-01 13:07:53, aktualisiert am: 2024-11-29 18:56:44
comments   5
hits   2485

[TOC]

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Entdecken Sie die neuen Funktionen des FMZ Strategie-Editors

Was ist die größte Schwierigkeit für Anfänger im quantitativen Handel und im programmatischen Handel? Generell gibt es mehrere.

  • Fehlendes Grundwissen: einschließlich grundlegender Konzepte, Marktregeln, Handelskenntnisse, strategischer Ideen usw.
  • Schwache Programmiergrundlagen: einschließlich logischer Ausdrücke, Programmentwurf und -erstellung sowie Programmdebugging und -fehlerbehebung.
  • Schwaches logisches Denken: Der Denkprozess führt leicht zur Verwirrung und je mehr Sie nachdenken, desto verwirrter werden Sie.
  • Schwierigkeiten beim Selbststudium: Wenn Probleme auftauchen, wissen Sie nicht, wo Sie mit der Lösung beginnen sollen, und wissen möglicherweise nicht einmal, wo Sie nach dem Problem suchen sollen.

Mit der Entwicklung der KI-Technologie können bis zu einem gewissen Grad Lösungen für die oben genannten Probleme gefunden werden. Kürzlich beliebtChat GPTEs kann als Werkzeug zum Erlernen, Erforschen und Erstellen von quantitativem Handel verwendet werden. Mit dem neuen Upgrade des Strategieeditors auf der FMZ-Plattform wurde auch Chat GPT verbunden, was die quantitative Produktivität erheblich verbessert hat. Lassen Sie es uns gemeinsam erkunden.Neue Features im FMZ Strategie Editor

Verwenden Sie Chat GPT zur Unterstützung beim Code-Design

Allerdings sind die Funktionen von Chat GPT bereits sehr leistungsstark und sein Verständnis für menschliche Fragen ist bereits sehr hoch. Aber die Antwort, die es gibt, ist immer nochVollständigkeit der ProblembeschreibungGenauigkeit der BeschreibungFaktoren wie die Eingabe und Ausgabe des Benutzers sind sehr empfindlich. Wenn das beschriebene Szenario oder der Frageninhalt ungenau ist, kann Chat GPT immer noch keine perfekte Antwort geben. Daher müssen Sie versuchen, es richtig und vollständig auszudrücken, wenn Sie es zur Lösung einiger Probleme verwenden.

Als Nächstes verwenden wir die Chat-GPT-Funktion des Strategieeditors der FMZ-Plattform, um ein Codedesignproblem zu lösen. Melden Sie sich bei der FMZ-Plattform an und rufen Sie eine Strategiebearbeitungsseite auf.

1. So rufen Sie ChatGPT auf

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Klicken Sie mit der rechten Maustaste auf ein leeres Feld, wählen Sie die Option ChatGPT und klicken Sie aufChat GPT,oderVerwenden Sie ⌘K, um ChatGPT aufzurufen

2. Über die Art und Weise, Fragen zu stellen

Wenn ich jetzt ein Anfänger im quantitativen Handel bin, habe ich eine Anforderung: „Verwenden Sie eine einminütige K-Linie, um K-Liniendaten eines beliebigen Zeitraums zu synthetisieren.“ Als Anfänger sind meine Programmierkenntnisse schwach und ich kann einen solchen Algorithmus wirklich nicht schreiben. Früher konnte ich nur nach Informationen suchen und Experten um Hilfe bitten. Jetzt kann ich mit Chat GPT direkt nach der Antwort fragen. Beschreiben Sie diese Anforderung natürlich, wie oben erwähnt, direkt:„Verwenden Sie eine einminütige K-Linie, um K-Liniendaten eines beliebigen Zeitraums zu synthetisieren“. Es ist sehr wahrscheinlich, dass GPT Ihnen keine 100 % brauchbare Antwort gibt, und Sie müssen das Problem so vollständig wie möglich beschreiben. Am Beispiel dieser Anforderung habe ich meine Fragen immer wieder angepasst und viele Male nachgefragt, bevor ich die gewünschte brauchbare Antwort erhielt. Lassen Sie uns diese Anforderung dann etwas genauer beschreiben:

在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")画图。

Nachdem Sie ChatGPT aufgerufen haben, können Sie oben den optimierten Frageninhalt eingeben.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

ChatGPT beginnt zu arbeiten.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Warten Sie, bis es fertig ist.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

ManchmalChat GPTUmschließen des Codes”Symbol, das in Markdown angibt, dass der eingeschlossene Inhalt Code ist. Also löschen wir einfach die erste und die letzte Zeile. Denn die Frage, die ich gestellt habe, war$.PlotRecords(KLineData, “name”)`Zeichnen, daher muss die Strategie zum Zeichnen auf die Linienzeichnungsbibliothek verweisen. Beim Zeichnen wird überprüft, ob die mit dem von Chat GPT angegebenen Code synthetisierten K-Liniendaten korrekt sind. Was die Vorlagenbibliothek ist, werde ich hier nicht näher erläutern. Sie können die API-Dokumentation von FMZ einsehen.Adresse der Strichzeichnungsbibliothek

Chat GPTDer angegebene Code kann direkt einem Backtesting unterzogen werden. Ich habe die Standard-K-Line-Periode des Backtesting-Systems auf 5 Minuten eingestellt, um das K-Line-Diagramm zu vergleichen, das von den K-Line-Daten gezeichnet wird, die vom von Chat GPT bereitgestellten Algorithmus berechnet wurden.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

3. Backtest des von Chat GPT bereitgestellten Codes

Backtesting-Systemzeichnung Zeichnung des ChatGPT-Algorithmus

Auf den ersten Blick ist der von ChatGPT bereitgestellte Algorithmus zur Verwendung einer 1-Minuten-K-Linie zur Synthese einer 5-Minuten-K-Linie korrekt.

4. Vollständiger Code von 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");
}

Code mit Chat GPT erklären

Das in FMZ integrierte ChatGPT hilft Ihnen nicht nur beim Schreiben von Code, sondern auch dabei, den Code zu erklären. Wählen Sie den Code aus, den ChatGPT gerade geschrieben hat.composeKLineDataFunktion, Rechtsklick, um das Menü aufzurufen:

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Verwenden Sie Chat GPT, um Vorschläge zu machen und Code zu optimieren

ChatGPT kann sogar Optimierungsvorschläge und optimierten Code liefern.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann


Weitere neue Funktionen, die dem Editor hinzugefügt wurden

Dieses FMZ-Editor-Update fügt die ChatGPT-Funktion hinzu. Es optimiert und verbessert das Benutzererlebnis beim Online-Programmieren weiter und fügt viele praktische Funktionen hinzu.

Tastenkombinationen anzeigen

Klicken Sie mit der rechten Maustaste in einen leeren Bereich oder wenn der Code ausgewählt ist, um ein Menü einzublenden.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Zeigt Tastenkombinationen für verschiedene Funktionen an.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann


Variablennamen ändern

Symbol umbenennen, den lokalen Variablennamen ändern.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Nur das obige Bild wird geändertmainVariablennamen in Funktionenrecords


Alle identischen Inhalte ändern

Alle Vorkommen ändern, einen Variablennamen oder ein Wort auswählen und alle gleichen Inhalte im Text gleichzeitig bearbeiten.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann


Formatierung (Codeverschönerung, automatisches Ausrichtungsformat)

Formatauswahl, formatiert den ausgewählten Code.

Dokument formatieren, alle Codes formatieren.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann


Zur Definition, Referenz springen

Gehen Sie zu „Definition“, um zur Definition zu springen. Gehen Sie zu Referenzen, springen Sie zu Referenzen. Gehe zu Symbol…, springe zum Variablennamen, Funktionsnamen usw.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann


Definitionsvorschau, Referenzvorschau

Peek Definition, Definitionsvorschau. Zeigen Sie die Definition des ausgewählten Codes an, ohne die aktuelle Codezeile zu verlassen. Peek References, Referenzvorschau, zeigen Sie die Verweise auf die aktuelle Codezeile in anderen Codezeilen an, ohne die aktuelle Codezeile zu verlassen, und springen Sie schnell, um die Codelogik und -struktur besser zu verstehen.

Entdecken Sie die neuen Funktionen des FMZ Strategy Editors: Wie ChatGPT Ihre quantitative Produktivität deutlich steigern kann