今天来聊聊大模型智能体,我相信这会是未来。
无论是金融领域,还是其他领域。
智能体形态会重构当前的所有app,app store会变成智能体store。
而金融投资领域,作为信息最密集,离钱最近的领域,LLM agent技术大有作为。
基于大模型的智能体相比于以前智能体,最大变化是利用大模型可以实现智能体行为的路径规划。
行为路径规划过程是利用的大模型思维链能力对用户不清晰或者复杂的指令进行步骤拆解,拆解成清晰的工具执行或者答案,并且可以根据工具执行结果或者环境的变化,重新使用大模型再进行新的路径规划,直到找到合适的路径。
LangChain,还有LammaIndex、AutoGen、SuperAGI等可以支持LLM 智能体的实现。
在人类从事一项需要多个步骤的任务时,而步骤和步骤之间,或者说动作和动作之间,往往会有一个推理过程。
在大模型还没有出来的时候,我关注kensho比较多,当时号称要取代交易员,而且标普以数亿美元的价格将它收购;另外一个就是IBM的watson。
现在看来,在chatGPT为代表的大模型面前,它们都是小儿科了。
当时的人们,希望走知识图谱的路径,做到真正的智能问答。
现在看来,openAI找到了真正的路。
用大模型的视角,重视审视kensho。
kensho其实是面向分析师,做一些定性的分析,其实离交易还有十万八千里。从做交易的角度,策略背后就是因子,因子背后就是因子表达式,因子分析与因子组合回测。
普通人更多关心交易,投资领域本身并非严格意义上的科学,很难做到逻辑自洽,多数是“事后黑天鹅”的自洽和“随机漫步的傻瓜”。因此我们更关心策略,背后就是因子挖掘。
其实咱们星球两大主线:一是确定性的规则,比如趋势交易,使用交易规则,实现简单,易用,可解决,长期有效。当然还包括被动型管理:大类资产配置,风险平价,定投和网格这种。
昨天的文章:研报拆解:大语言模型LLM和多智能体(Multi-Agents)实现量价因子挖掘框架,这个智能体的架构还是合理的。
但除了第一步与LLM有强关系之外,其余还只是调工具,其实“Hard code”也区别不大。第一步比较有意思,通过few-shot让大模型组合因子表达式,并解释其中的含义,把因子的可解释性也解决了,比咱们DeepAlphaDeepAlpha通用因子挖掘:支持GPlearn遗传算法和深度强化学习挖掘因子(代码+数据下载)通过遗传算法、深度强化学习得到的因子表达式,更具可解释性。
因子挖掘
因子挖掘:找到更多与未来股票收益高度相关的因子;——生成表达式,表达式计算代码,因子分析/回测。
咱们星球里开源的DeepAlpha,其实支持GPlearn遗传算法和强化学习的方式挖掘因子。
从本质上讲,挖掘因子,无外乎生成符合要求的因子表达式,然后评估这个因子的性能,按要求去“改进”。
遗传算法、强化学习以及大模型都有这个能力。但大模型的优点在于Few-shot可以在人工因子的基础上去模仿和学习,这个遗传算法和强化学习是做不到了。
因子配置:找到因子对未来收益的影响比重和影响方式。
历史文章:
研报拆解:大语言模型LLM和多智能体(Multi-Agents)实现量价因子挖掘框架
年化29%,夏普比1.26:红利与创成长趋势轮动策略(代码+数据下载)
每日一策略:斜率动量与RSRS择时(代码+数据)以及基于Django的量化社区开发
AI量化策略商城核心逻辑实现——创业板动量择时策略为例(代码+数据)
AI量化平台产品化Quantlabv3.6发布:日拱一卒,功不唐捐。(更新优惠券)
原创文章第477篇,专注“AI量化投资、个人成长与财富自由”。
昨天发布的代码“有点不一样”,是咱们网站1.0的代码。
之前的最新版本Quantlab:
Quantlab3.6代码发布——重写创业板择时策略:年化20%, 回撤18.8%(代码+数据下载)
现在还不太完善,但基本的骨架有了,方便咱们后续分享因子和策略——“勿在浮沙筑高台”。
花这一周时间打基础是对的,当然还有不少细节,比如首次加载慢的问题,发贴无法粘贴图片等。
策略发布向导还没有完成。
当然,咱们策略平台化只进行了11天,已经算效率很高了。
下周计划:1、所有ETF/LOF数据盘后更新
2、所有策略定时运行,保存结果
3、星球会员权限功能:网站特殊标的,可下载所有公开策略
4、发布Quantlab3.7:Quantlab支持从服务器直接加载数据,下载的策略,可以Quantlab里无缝运行。5、网站细节的持续改进。其他想做的事情,大家感兴趣也可以参与进来:两个方向:1、基于大模型的金融投资智能体。2、基于Flutter开发通用端。
昨天在星球里分享的华泰金融工程的研报: 多智能体与因子挖掘。
这里我们来拆解下,后续择机代码实现。
这篇研报总结起来:基于GPT和多智能体系统构建端到端的量价因子挖掘系统。
一共有3个智能体协同构成:FactGPT, CodeGPT和EvalGPT。
FactorGPT负责构建因子表达式,采用了Few-Shot方式,在提示中加入已有的因子示例。要求模型直接输出因子的名称、数学表达式和含义。
这一步特别关键,相当于让大模型“仿写”因子表达式,而且还要解释含义。
CodeGPT,负责将因子表达式转换为可自动执行的程序,并计算结果;
设定模型可自主调用或自行生成算子,使得代码可执行性更高。模型生成代码后,将运行代码文件,若有报错信息抛出,模型将根据报错信息修改代码文件。模型将不断迭代上述过程直到代码文件可以运行,直至成功运行。
CodeGPT就是根据上一步写的表达式,自行写代码。
EvalGPT,负责对因子计算结果进行回测检验,同时生成优化建议,并可将建议返回给FactorGPT,进而继续优化该因子。这一步是调用因子回测工具。
研报出具的效果还不错,无论是rank ic还是因子分层的单调性上。
为了让大模型能够更加自动化地完成高复杂度任务,构建更为复杂且具备影响力的应用,探索基于大模型的多智能体(Multi-Agent)框架,智能体本身的主动性、反应性等能力大幅扩展大模型的能力边界,而多智能间的分工合作进一步显示出“群体的智慧”。
研报里使用的基础开源框架是:LangChain。
这个也是当前LLM开发中就用比较多的。当然咱们星球也会持续调研更多前沿的框架,共享给大家。
找时间,咱们写一篇LangChain开发多智能体的文章:
历史文章:
年化29%,夏普比1.26:红利与创成长趋势轮动策略(代码+数据下载)
每日一策略:斜率动量与RSRS择时(代码+数据)以及基于Django的量化社区开发
AI量化策略商城核心逻辑实现——创业板动量择时策略为例(代码+数据)
AI量化平台产品化Quantlabv3.6发布:日拱一卒,功不唐捐。(更新优惠券)
原创文章第475篇(AI策略平台化第10篇),专注“AI量化投资、个人成长与财富自由”。
创业板动量成长指数选取创业板市场中具有良好成长能力和动量效应的50只股票组成的指数。该指数反映了创业板中成长能力良好、动量效应显著的上市公司整体运行情况。所谓成长能力望成为未来市场的领导者。而动量效应则是指这些公司近期股价走势较好。
红利低波动指数选取市场上50只流动性好、连续分红、红利支付率适中、每股股息正增长以及股息率高且波动率低的证券作为样本。
两者有较低的相关性,很适合做轮动策略。
每日一策略
代码与数据:AI量化实验室——2024量化投资的星辰大海
AI量化平台开发
继续收拾AI量化平台细节。
这里说明下,为何要下定决心自己开发论坛。咱们线上的版本,借用了一些开源的东西,这一次的版本是我从0开始写的。
从长期主义的角度,自己写的代码维护起来更容易,更有积累。
而且从长远来看,这并没有多大的工作量。
说实在,打算拿100天搞定量化平台(目前是第10天,平台已经初见样子),再拿100天搞定Futter开发App都是小Case,如果确实有必要的话。
当然,咱们的重心是策略和因子,如何帮大家轻松赚到钱。——这个初心和理念是不变的。
昨天咱们写的贴子列表,基本就是搞定CURD,评论也是:发布,列表呈现。
这几天使用django, 从model到 form到view的感受下来。
djang确实把DRY做到极致,ListView, CreateView, DetailView, FormView,而且还可以排列组合。
一开始学习肯定有一点成本,但熟悉之后,代码会组织得特别舒服,大量可复用,不会出错,可维护性也好。
比如下面的代码,文章详情页加评论列表,以及加上评论发布功能。
若使用普通View,就是手动查询文章object,评论list,然后生成Form。
class ArticleDetailView(FormView, DetailView): model = Article form_class = CommentForm # success_url = '/' def get_success_url(self): return reverse_lazy('bbs:article_detail', kwargs=self.kwargs) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['comments'] = Comment.objects.filter(article=self.kwargs.get('pk')) return context def form_valid(self, form): article = self.get_object() # 获取当前文章对象 user = self.request.user # 获取当前用户 content = form.cleaned_data['content'] # 获取表单内容 c = Comment(article=article, author=user, content=content) c.save() return super().form_valid(form)
对比原生代码——也还好就是了:
def ArticleDetail(request, pk:int): article = Article.objects.get(pk=pk) form = CommentForm() comments = Comment.objects.filter(article=pk).order_by('-pub_time') if request.method == "POST": form = CommentForm(request.POST) form.instance.author = request.user form.instance.article = article if form.is_valid(): form.save() form = CommentForm() return render(request, 'bbs/article_detail.html', {**locals()})
历史文章:
每日一策略:斜率动量与RSRS择时(代码+数据)以及基于Django的量化社区开发
AI量化策略商城核心逻辑实现——创业板动量择时策略为例(代码+数据)
AI量化平台产品化Quantlabv3.6发布:日拱一卒,功不唐捐。(更新优惠券)
Quantlab3.6代码发布——重写创业板择时策略:年化20%, 回撤18.8%(代码+数据下载)
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103484
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!