Prozess und Denken bei der Entwicklung einer Quantifizierungsstrategie

Schriftsteller:Kleine Träume, Erstellt: 2016-08-29 17:44:47, Aktualisiert: 2019-08-01 09:52:18

Prozess und Denken bei der Entwicklung einer Quantifizierungsstrategie

Wenn man anfängt, Strategien zu schreiben, kann man wie viele Neueinsteiger anfangen. Es fühlt sich einfach so an. Schreiben und Dichten sind zwei Konzepte. Es gibt also eine harte Bedingung: man muss die einfachste Programmierung haben.ÜbertragungstorDer Artikel ist nicht lang, aber reichhaltig und ausreichend, um eine Strategie zu schreiben.

  • Hier geht es weiter zum Thema: Wie sieht der Entwicklungsprozess einer Strategie aus? Die Grundeinstellungen sind:img

Sieh mal! Programmieren ist nur ein Teil davon.

- 1、建模:
    我的理解是,你的想法应该是一个靠谱的好主意(我想没人愿意付出大量精力去验证一个错误的IDEA)。所以这个好主意不是胡思乱想出来的。是通过观察市场现象、行为。数据分析,数学分析等一些科学的方法设计出的完善的逻辑、数学模型。并且要通过论证。
- 2、编程:
    这个过程就如同拿到设计图纸后造车一样。当然实际写的时候会遇到各种在 模型中 没有想到的问题,需要反复调整。经过这个过程你会深刻的体会到: “想的简单”这几个字,也会知道 策略 和 策略源码 之间的距离。
- 3、回测:
    必不可少的一步。此刻不管策略代码作者多自信,这个时候的策略代码也只是残次品。 还要经过 “回测” 这个大熔炉 锤炼。回测是在历史数据中,舒舒服服的测试。主要验证程序的基本逻辑,基本功能,验证策略的基本正确性、可行性。这个过程往往会发现一批明显的BUG。
- 4、实时行情的模拟交易:
    在明显的问题通过回测检验,排除后。回测结果接近预期的设计(至少是策略有可行性)。开始让策略程序接受实时行情模拟交易的考验。这个阶段依然会发现不少问题,这些问题更加隐秘、难以查找。所以该阶段DeBug需要认真。找错误是个基本功。(甚至我个人感觉DeBug功力比写代码还重要)。如果这方面经验不足、粗心大意,会导致一个BUG,没处理对(甚至没找到,但是误改了别的地方),进而产生更多的BUG,这种情况我经历过,说体验就两个字:“抓狂!”。
- 5、实盘测试
    终于迎来最残酷的实盘测试,策略程序要经得住实盘各种问题的摧残(网络异常,超时,交易细节问题,响应速度,容错机制 等等)。 有些问题藏得非常之深。要经过长时间的实盘测试才能体现出来。找出这些问题的根源也是需要一番功夫的。

Eine Strategie erfordert vermutlich die folgenden Schritte. Wiederholungstests nehmen den größten Teil des gesamten Zyklus ein, und die Codierung ist nur ein kleiner Teil.

  • Erfahrungen:

    • 1. Ich bin auch nicht leicht gequält, wenn ich die erste Strategie schreibe. Und ich möchte normalerweise nicht erwarten, dass ich die erste Zeit vollständig schreiben kann. Es ist am besten, zuerst ein paar einfache Codes zu lesen, ihnen eine Anmerkung zu schreiben und die Rolle jeder Zeile zu verstehen.
    • 2. Ein paar einfache Strategiekodes imitieren.
    • 3. Ernsthaft, das ist notwendig.
    • 4. Geduld, BUG hat mich hundertmal verletzt, ich warte auf BUG wie auf meine erste Liebe!
    • 5. Verwenden Sie in der Anfangsstufe eine gute Anmerkung, eine gute Ausgabe der Funktion (API), in der Quantifizierung des Erfinders eine gute Funktion (Log)). Die Funktion kann so geschrieben werden: Log (Log läuft hier, markiert A); Fügen Sie dies in die logische Struktur Ihres Codes ein, um zu wissen, wann ein Programm in einen Prozess mit dieser Log-Funktion eintritt.
    • 6. Keine Angst! Machen Sie es!

Mehr