Loading ...

当FMZ遇到ChatGPT,记一次使用AI来辅助学习量化交易的尝试

Author: 雨幕, Created: 2022-12-25 12:17:25, Updated: 2022-12-25 12:21:46

当FMZ遇到ChatGPT,记一次使用AI来辅助学习量化交易的尝试

ChatGPT

最近ChatGPT可谓是非常火,网路上已经有各种应用到实际场景中的视频。简单介绍一下什么是ChatGPT,ChatGPT是由OpenAI开发的一款语言模型。不同以往的人工智能,ChatGPT有非常强大的语言理解能力。关于ChatGPT的介绍,注册,使用在网络上有很多视频,这里我就不再赘述。

当FMZ遇到ChatGPT

在量化交易学习领域,一直以来初学者是非常头痛入门阶段的难度。因为大部分入门者是0基础,对于代码不论是从语法知识还是思考逻辑上都有欠缺,所以会感觉学习起来非常困难。

OK,接下来文章就不是小编我写的了,我们来展示一点开胃小菜。

part1

当 FMZ 遇到 ChatGPT,记一次使用 AI 来辅助学习量化交易的尝试

作为一名初学者,我一直在寻找有效的学习量化交易的方法。在网上搜索后,我发现了 FMZ 和 ChatGPT 这两个平台。于是我决定尝试使用它们来加深对量化交易的理解。

首先,我在 FMZ 上学习了如何使用 PINE 脚本编写交易策略。在该平台上,我找到了各种策略的模板,并通过调整参数来测试它们的效果。此外,我还学习了如何使用回测功能来评估策略的收益情况。

接下来,我使用 ChatGPT 来获得更多的帮助。在这个平台上,我发现了一位名叫 Assistant 的 AI 助手,它能够回答我的各种问题。通过与 Assistant 进行交流,我学到了许多有用的知识,并得到了许多宝贵的建议。

在使用 FMZ 和 ChatGPT 的过程中,我收获颇丰。不仅学到了如何编写交易策略,还获得了更多关于量化交易的知识。我相信,随着我不断学习和实践,

part2

我将能够进一步提升我的交易技能,并在未来取得更好的收益。

尽管使用 FMZ 和 ChatGPT 可以获得很多帮助,但我也意识到,量化交易是一个持续学习的过程。我仍然有很多要学习的东西,并且我会继续努力,不断提升自己。

在最后,我希望我的这次尝试能够给其他初学者带来帮助。如果你也想学习量化交易,不妨试试使用 FMZ 和 ChatGPT 这两个平台,它们可能会成为你学习的有力助手。

part3

当然,量化交易并不是一项简单的任务,需要不断学习和实践才能提升技能。因此,我还建议大家多参加各种培训课程和社区活动,与专业人士交流交易经验,并始终保持好奇心和求知欲。

除此之外,还有一点非常重要,就是要注意风险管理。量化交易中有很多不确定因素,因此我们必须设定合理的止损策略,并谨慎选择交易品种和交易周期。

part4

综上,我相信使用 FMZ 和 ChatGPT 这两个平台学

习量化交易是一个很好的选择。它们为我们提供了丰富的学习资源和帮助,让我们能够轻松地掌握知识并进行实践。但是,我们也要记住,学习量化交易是一个持续的过程,我们需要不断努力,才能在这个领域取得更大的成功。

Ok,小编我重新开始写文章,你敢信!以上的这些part1~part4是ChatGPT写的,让我拿出点证据:

img

我们重新开始主题。

让AI帮我写策略

假如我是在FMZ平台上的一个PINE语言0基础的入门学习者,我可以给ChatGPT提个简单需求,看AI是不是能帮我写代码:

提出需求:

可以用PINE脚本帮我写一个双均线策略吗?不同周期的均线指标金叉开仓做多,死叉开仓做空,100个点止损。并给我完整的PINE脚本策略。使用版本控制代码:// @version=4 开头

img

// @version=4
strategy("双均线策略", overlay=true)

longTerm = input(title="长期均线周期", type=input.integer, defval=200)
shortTerm = input(title="短期均线周期", type=input.integer, defval=50)
stopLoss = input(title="止损点", type=input.integer, defval=100)

longMA = sma(close, longTerm)
shortMA = sma(close, shortTerm)

if (shortMA > longMA)
    strategy.entry("做多", strategy.long)
if (shortMA < longMA)
    strategy.entry("做空", strategy.short)

strategy.exit("止损", "做多", stop=strategy.position_avg_price - stopLoss)
strategy.exit("止损", "做空", stop=strategy.position_avg_price + stopLoss)

它还真写出来了,让我放到FMZ平台回测系统上跑跑看!

img

img

PINE脚本跑起来了!

接下来试试让ChatGPT帮我们解释策略,这样也可以辅助我们量化交易的学习

提出问题:

strategy("test", overlay = true)

varip a = na
varip highPrice = na
varip isTrade = false 
varip offset = 30

if not barstate.ishistory and not isTrade
    strategy.entry("test 1", strategy.long, 1)
    strategy.exit("exit 1", "test 1", 1, trail_price=close+offset, trail_offset=offset)
    a := close + offset
    runtime.log("每点价格为:", syminfo.mintick, ",当前close:", close)
    isTrade := true 

if close > a and not barstate.ishistory
    highPrice := na(highPrice) ? close : highPrice
    highPrice := close > highPrice ? close : highPrice

plot(a, "trail_price 触发线")    
plot(strategy.position_size>0 ? highPrice : na, "当前最高价")
plot(strategy.position_size>0 ? highPrice-syminfo.mintick*offset : na, "移动止损触发线")

可以解释一下这个脚本的详细逻辑吗?

截图:

img

它竟然能读懂这个脚本的意思,还给归纳总结出来。我都有点怀疑这个页面背后是不是有一个量化交易研究员在回答我的问题…

不完善之处

当然现在ChatGPT还不是特别完善,例如用中文和它沟通的时候它说话经常断,需要用“继续说”这样的对话让它继续。对于一些它不是特别了解的问题,它会“一本正经”的和你瞎扯,我们需要结合搜索引擎来确定一下给出的答案,并不能一味相信它。不过ChatGPT对于在FMZ上量化交易学习还是很有帮助的,可以帮助我们理解难懂的代码,最起码可以给我们一些提示、启发,让我们知道该去了解什么。还可以帮我们写一些简单的代码原型,给出一些基本的方案,代码实现。应该还有更加高阶的玩法,我们可以在未来继续探索,希望ChatGPT越来越强大,帮助更多的量化交易入门学习者轻松入门。

愿以后的量化交易学习中,不再有「从入门到放弃」!


更多内容