Le processus et la réflexion pour développer une stratégie de quantification

Auteur:Le petit rêve, Créé: 2016-08-29 17:44:47, Mis à jour: 2019-08-01 09:52:18

Le processus et la réflexion pour développer une stratégie de quantification

Lorsque l'inventeur commence à écrire des stratégies à la quantité, peut-être comme beaucoup de nouveaux utilisateurs. Il y a donc une condition de rigueur: il faut la programmation la plus élémentaire.Porte de transfertL'article n'est pas long, il est riche en contenu, il suffit d'écrire une stratégie.

  • Nous avons commencé à parler de ce qui se passait: Qu'est-ce que le processus de développement d'une stratégie? Les étapes approximatives sont les suivantes:img

Vous voyez, la programmation n'est qu'une partie du processus. Mais c'est une partie importante.

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

Une stratégie nécessite probablement les étapes ci-dessus. Les tests répétitifs occupent une grande partie du cycle et le codage n'en est qu'une petite partie.

  • L'expérience:

    • 1, j'ai aussi été torturé en écrivant ma première stratégie. Et généralement, ne vous attendez pas à ce que je l'écrive complètement la première fois. Il est préférable de lire des codes simples, d'écrire des annotations à ces codes et de comprendre le rôle de chaque ligne.
    • 2° Imiter des stratégies simples et des codes.
    • 3° Sérieusement, c'est une nécessité. ¤ La négligence est un désastre. ¤
    • 4, patience, le BUG m'a maltraité des milliers de fois, je l'attends comme mon premier amour!
    • 5, à l'étape primaire, utilisez des commentaires, utilisez des fonctions pour l'exportation d'informations (API), en tant qu'inventeur, utilisez la fonction Log (Log) ; vous pouvez écrire ainsi Log (Log s'exécute jusqu'ici, marquer A); insérez cela dans la structure logique de votre code, pour savoir quand un programme entre dans un processus avec cette fonction Log.
    • 6 - N'ayez pas peur!

Plus de