对于量化交易、程序化交易初学者学习入门最大的困难是什么?一般来说有这么几条。
基础知识欠缺:包括基础概念、市场规则、交易知识、策略思路等。
编程基础薄弱:包括逻辑表达、程序设计编写、程序调试排错。
逻辑思维薄弱:思考的过程容易造成混乱,越思考越混乱。
自学困难:出问题无从下手解决,可能连问题搜索的方向都不清楚。
随着AI技术的发展,以上这些问题在一定程度上可以找到解决方案。最近大火的Chat GPT就可以用来作为量化交易学习、研究、创作的工具。随着FMZ平台对于策略编辑器的一次全新升级,同时也接入了Chat GPT,使得大幅提升了量化生产力,接下来就让我们一起来探索FMZ策略编辑器的新功能!
目前虽然Chat GPT的功能已经十分强大,对于人类提出的问题理解程度已经非常的高。但是它给出的答案依然对于问题描述的完整程度、描述的准确性等因素十分敏感,如果描述的场景、问题内容等不准确,Chat GPT还是无法给出十分完美的答案。所以在使用它解决一些问题时需要尽量表述正确、完整。
接下来我们就使用FMZ平台策略编辑器的Chat GPT功能解决一个代码设计问题,登录FMZ平台,在某个策略编辑页面。
在空白处使用右键菜单,选择ChatGPT选项并点击,可以唤出Chat GPT
,或者使用⌘K唤出ChatGPT。
假如我现在是一个量化交易初学者,我有一个需求:“使用一分钟K线合成任意周期K线数据”。作为初学者我编程能力薄弱,实在是不会写这样的算法,以前只能查找资料、找大神求助,现在有了Chat GPT就可以直接问它要答案。当然就如上文所说,直接描述这个需求:“使用一分钟K线合成任意周期K线数据”。GPT大概率是给不到你一个100%可用的答案的,还需要尽量把问题描述完善。就以这个需求例子来说,小编我不断调整我的问题,问了好多次才得到可用的并且我想要的答案。那么我们就把这个需求描述的更加完善一点:
唤出ChatGPT后,就可以把以上优化过的提问内容填写进去。
ChatGPT就开始干活了。
等它写完。
有时候Chat GPT
给代码包裹了```符号,这个是在markdown中表示包裹住的内容是代码。所以我们删除掉第一行和最后一行就行了。因为我给它提出的问题中要求使用$.PlotRecords(KLineData, "name")
画图,所以策略要引用画线类库才能画图,画图是为了验证Chat GPT给出的代码合成出的K线数据是否正确。
关于什么是模板类库,这里不再赘述,可以查询FMZ的API文档,画线类库地址
Chat GPT
给出的这个代码是直接可以回测的,我把回测系统的默认K线周期设置为5分钟,用来对比Chat GPT给出的算法计算出的K线数据画出的K线图。
初步看来ChatGPT给出的算法使用1分钟K线合成5分钟K线是正确的。
FMZ上集成的ChatGPT不仅会帮你写代码,而且还会帮你解释代码。选中刚才ChatGPT写出的代码中的composeKLineData
函数,点击右键弹出菜单:
甚至ChatGPT还可以给出优化建议,优化后的代码。