当前位置: 首页 > news >正文

数据驱动投资:AI在股票市场的应用

当ChatGPT首次亮相时,其卓越的语言处理能力立刻引起了许多行业的广泛关注,投资界也不例外。关于ChatGPT是否能应用于投资决策的问题,迅速成为热门讨论的焦点。

近期,加拿大多伦多大学和印度孟买理工学院的研究人员联合开展了一项实验,意在测试ChatGPT在选择股票方面的能力。他们设计了多种Prompt,以评估ChatGPT的选股表现,并将其结果与传统的投资组合优化模型进行了对比。

实验结果显示,ChatGPT不仅表现出了显著的选股能力,当与经典量化投资方法结合使用时,还能构建出更加优越的投资组合。这一发现无疑为大家打开了新的视野,揭示了AI技术与量化投资结合的潜力,或许未来能更智能地指导投资决策。

那么,如何利用ChatGPT在A股选股呢?本文将结合一些思路和研究成果,探讨如何利用ChatGPT进行更智能的A股投资。

1. 利用ChatGPT挖掘热点概念及相关股票

思路: 我们可以根据市场热点事件或政策导向,让ChatGPT筛选出相关概念及股票。

示例:

  • 国庆消费概念: 十一期间国庆消费应该是有很大的利好的,我们可以向ChatGPT提问: “请列举与国庆期间消费相关的A股概念,并分别列出每个概念下的相关股票。”

可以看到ChatGPT给出了8个方向,涵盖了旅游酒店、餐饮消费、免税等,并且也给出了每个板块的龙头股票。可以看到给出的龙头股票都是很准的,如在旅游板块给的中国国旅、宋城演艺。下一步我们可以继续对GPT提问,比如

这里面给个排名 结合十一节假期的消费特点 你觉得哪些股票更好

可以看到GPT结合国庆旅游的特点,对相关概念进行了排序梳理,免税龙头这只中国中免,确实是非常相关的概念股,这里还没有考虑当前股价的市值,我们可以让GPT对股票搜索并考虑市盈率指标。

请搜索这些股票的当前市值及市盈率,考虑股价的因素给出推荐排序

可以看到经过三轮的对话,我们初步选出来一些候选股票,接下来你如果对哪些股票感兴趣,可以GPT进行互动详细咨询这些股票的详细资料。类似的我们可以对新能源概念、养老政策概念、华为概念股等等进行快速锁定。

  • 新能源汽车概念: “请列举与新能源汽车产业链相关的A股概念,并分别列出每个概念下的相关股票。”
  • 养老政策利好概念: “近期国家出台了促进养老产业发展的政策,请列举受益于此政策的A股概念及相关股票。”

2.分析公司新闻及财报,快速掌握基本面

思路: ChatGPT可以帮助我们快速分析公司发布的新闻公告、财报,从中提取关键信息,评估投资风险。下面以阿里的财报为例子,利用GPT快速分析公司基本情况。

第一步:登录投资类网站,下载目标公司的财报pdf文件。对于一些大公司,我们也可以直接去公司官网下载他们的最新和历史财报,我这里下载了阿里巴巴2023年全年财报,内容总共30页的pdf,并且还是繁体中文。

第二步:将下载好的财报文件上传至ChatGPT,这里我们可以使用GPT4O模型,这是OpenAI今年5月份刚推出的最新语言模型,也是目前全球排名第一的大语言模型,支持联网、文档解读、图片理解等功能。

第三步:在ChatGPT输入框中输入指令:“你是一名资深金融分析师,这是一份阿里巴巴的财报,帮我分析并解读这份财报,给出投资建议”。 作为演示,我这里只给出最基本的指令,文末我会给出一些高级指令,大家开箱即用。你也可以根据自己的需求,自定义指令,例如:

  • “请分析这家公司过去三年的营收增长情况。”
  • “请评估这家公司的盈利能力和财务风险。”
  • “请预测这家公司未来三年的发展前景。”

这里我们可以看到,ChatGPT在5秒钟内就完成了30页财报PDF的阅读理解能力,并且总结出专业的解读报告,包括了财务概况、各个子板块的拆解分析、以及投资建议和风险提示。过程中,你如果对其他哪一部分不满意,可以继续对其提问,比如『对投资建议部分展开分析下,可以对比下京东和拼多多的财报』,通过交互式的完成财报的分析阅读。

第四步:为了更清晰地展示财报内容,你可以使用AIBox提供的思维导图功能,直接将ChatGPT输出的大段文字,粘贴到Xmind模块,让AI帮我们生成思维导图,整个过程只需要1秒钟,不需要对文字做任何的格式改动或者改写。

如果对思维导图里的个别内容想要修改,直接在工具栏的使用已有生成内容里,去修改文字,再点击『直接生成』就可以得到新的思维导图了。

3.利用ChatGPT量化分析

ChatGPT与量化投资模型的结合,可以优势互补,提升投资决策的效率和科学性。

1. 优化股票池:

传统的量化投资模型通常需要对全市场股票进行筛选,计算量巨大。我们可以利用ChatGPT的自然语言处理能力,根据特定的投资策略或主题,初步筛选出一个备选股票池,再利用量化模型进行进一步的分析和筛选。

示例:

  • 多因子模型: 假设我们构建了一个基于价值因子、成长因子和盈利因子等的多因子模型。我们可以先利用ChatGPT筛选出"低估值、高成长、高盈利"的股票,例如提问:“请列出市盈率低于15倍,净利润增长率超过20%,毛利率超过30%的A股股票”。然后将ChatGPT筛选出的股票作为多因子模型的备选股票池,利用模型计算每个股票的综合得分,并根据得分进行排序,最终选择得分最高的股票进行投资。
  • 动量策略: 动量策略是指买入近期表现强势的股票,卖出近期表现弱势的股票。我们可以利用ChatGPT筛选出近期股价涨幅较大的股票,例如提问:“请列出过去一个月股价涨幅超过20%的A股股票”。然后将这些股票作为动量策略的备选股票池,利用模型计算每个股票的动量因子得分,并根据得分进行排序,选择得分最高的股票进行投资。

2. 优化模型参数:

量化投资模型通常需要设置一些参数,例如因子权重、交易频率、止盈止损点等。我们可以利用ChatGPT分析市场数据和历史经验,为模型参数的设置提供参考。

示例:

  • 我们可以向ChatGPT提问:“在A股市场,价值因子、成长因子和盈利因子哪个权重更高?” “在震荡市中,交易频率应该如何设置?” “针对高风险股票,止损点应该设置在多少?” ChatGPT可以根据其掌握的知识和数据,给出一些建议,帮助我们更好地设置模型参数。

这次分享先写这些,一些更高阶的用法再下一篇文章里分享。

最后,如果有同学不知道如何使用ChatGPT,可以使用这个一站式AI平台,支持GPT4、Claude3、Gemini1.5等最新模型。

GPT中文版icon-default.png?t=O83Ahttps://aibox365.com​​​​​​​

相关文章:

数据驱动投资:AI在股票市场的应用

当ChatGPT首次亮相时,其卓越的语言处理能力立刻引起了许多行业的广泛关注,投资界也不例外。关于ChatGPT是否能应用于投资决策的问题,迅速成为热门讨论的焦点。 近期,加拿大多伦多大学和印度孟买理工学院的研究人员联合开展了一项…...

Tita使用小技巧:项目类型自定义,业务管理个性化

应用场景 某互联网企业,企业内部有研发部,有销售部 研发部通常需要管理各种技术研发类型项目,因此需要管理「研发型」项目,该类型项目需要明确「所属产品」、「级别管理:国家级/省市级」、「项目类别:创新…...

国药准字:您购药的可靠指南

益安宁丸为同溢堂药业有限公司所独家生产的一款中成药,在内地市场和港澳地区均有上市。 益安宁丸真品的唯一标准:无论港版还是内地版,包装盒必然有国药准字Z20063087标识,但凡没有国药准字标识的必为假药。...

Python类学习(2)——未完待续

函数和类的参数传递 实例方法 class House:# 类构造方法,也是实例方法def __init__(self, area, price):self.area areaself.price pricedef cls_func(self, arg):print(arg)my_house House(America, 330) # 实例化类对象,需要传入init中的两个参数 print(f…...

微前端框架 qiankun 全面解析到源码实现

微前端(Micro Frontends)是一种将大型前端应用拆分为多个独立模块的架构设计思想,旨在解决复杂应用开发与维护的难题。qiankun 是目前流行的微前端解决方案之一,基于 single-spa 进行封装,提供了一种简单且完整的微前端…...

初始化数据的正确方式?

关于这篇文章 https://proandroiddev.com/loading-initial-data-in-launchedeffect-vs-viewmodel-f1747c20ce62 pl的视频解读 当在viewmodel中需要进行数据的初始化的时候 viewmodel.initData() 放在哪里合适呢,大部分情况下可以放在 viewmodel的init{}模块&…...

Flutter平台嵌入器

When you build a Flutter app, it’s not just about the code you write in Dart and the Flutter framework. There’s also a crucial piece called the platform embedders that enable your Flutter app to run on different operating systems like Android, iOS, and s…...

微信小程序——婚礼邀请函

一、界面设计 首页: 精美的婚礼主题背景图,可能是新人的婚纱照或浪漫的插画。温馨的欢迎语,如 “欢迎参加我们的婚礼”。一个 “打开邀请函” 的按钮,引导用户进入邀请函详情页面。 邀请函详情页面: 顶部展示新人的照片…...

WebRTC Connection Negotiate解决

最近有个项目 ,部署之后一直显示,查了一些资料还是没有解决,无奈只有自己研究解决?经过排查,应该是内网穿透的问题 什么是内网穿透? 我们访问我们自己的官网产品页面,我们的服务器是一个单独…...

Redis面试篇1

1、为什么要用缓存? 使用缓存的目的就是提升读写性能。在实际的业务场景下,更多的是为了提升读性能,带来更好的性能和并发量。Redis的读写性能比MySQL好的多,我们就可以把MySQL中的热点数据缓存到Redis,提升读取性能&…...

Debezium系列之:Debezium 3.0.0.Final发布

Debezium系列之:Debezium 3.0.0.Final发布 Debezium 核心的变化需要 Java 17基于Kafka 3.8 构建废弃的增量信号字段的删除每个表的详细指标MariaDB连接器的更改版本 11.4.3 支持MongoDB连接器的更改MongoDB sink connectorMySQL连接器的改变MySQL 9MySQL向量数据类型Oracle连接…...

一文解决jQuery表格插件DataTable导出PDF中文乱码问题

原因是默认字体不支持中文,需要更换字体。 详情官网:pdfmake 官网的大致意思是,下载pdfmake后,自行生成可用的字体js文件 以下是详细操作: 重要前提:电脑上需要已安装nodejs 点击进入官网下载安装即可&a…...

使用pytorch进行迁移学习的两个步骤

1. 步骤及代码 迁移学习一般都会使用两个步骤进行训练: 固定预训练模型的特征提取部分,只对最后一层进行训练,使其快速收敛;使用较小的学习率,对全部模型进行训练,并对每层的权重进行细微的调节。 impor…...

ChatGPT相关参数示例

max_token 用于控制最大输出长度,若ChatGPT的回复大于max_tokens,则对输出结果进行截断。 from openai import OpenAI client OpenAI(base_url"https://api.chatanywhere.tech/v1" ) response client.chat.completions.create(model"…...

OWASP发布大模型安全风险与应对策略(QA测试重点关注)

开放式 Web 应用程序安全项目(OWASP)发布了关于大模型应用的安全风险,这些风险不仅包括传统的沙盒逃逸、代码执行和鉴权不当等安全风险,还涉及提示注入、对话数据泄露和数据投毒等人工智能特有的安全风险。 帮助开发者和测试同学更…...

【HarmonyOS开发笔记 2 】 -- ArkTS语法中的变量与常量

ArkTS是HarmonyOS开发的编程语言 ArkTS语法中的变量 【语法格式】: let 变量名: 类型 值 let:是定义变量的关键字类型: 值数据类型, 常用的数据类型 字符型(string)、数字型(number&#xf…...

UI自动化测试示例:python+pytest+selenium+allure

重点应用是封装、参数化: 比如在lib文件夹下,要存储封装好的方法和必要的环境变量(指网址等) 1.cfg.py:封装网址和对应的页面 SMP_ADDRESS http://127.0.0.1:8234SMP_URL_LOGIN f{SMP_ADDRESS}/login.html SMP_URL_DE…...

C/C++ 编程小工具

编写了 tools.h 和 tools.cpp&#xff0c;用于 Debug、性能测试、打印日志。 tools.h #ifndef TOOLS_H #define TOOLS_H#include <time.h> #include <fstream> #include <iostream> #include <random> #include <chrono> #include <vector&…...

第四十二章 使用 WS-ReliableMessaging

文章目录 第四十二章 使用 WS-ReliableMessaging从 Web 客户端发送一系列消息 第四十二章 使用 WS-ReliableMessaging IRIS 支持 WS-ReliableMessaging 规范的部分内容&#xff0c;如简介中所述。此规范提供了一种按顺序可靠地传递一系列消息的机制。本页介绍如何手动使用可靠…...

利士策分享,婚姻为何被称为大事?

利士策分享&#xff0c;婚姻为何被称为大事&#xff1f; 在历史的长河中&#xff0c;婚姻一直被视为人生中的头等大事&#xff0c;这一观念跨越时空&#xff0c;深深植根于各种文化和社会结构中。 古人为何将婚姻称为“大事”&#xff0c;这背后蕴含着丰富的社会、文化和心理寓…...

malloc源码分析之 ----- 你想要啥chunk

文章目录 malloc源码分析之 ----- 你想要啥chunktcachefastbinsmall binunsorted binbin处理top malloc源码分析之 ----- 你想要啥chunk tcache malloc源码&#xff0c;这里以glibc-2.29为例&#xff1a; void * __libc_malloc (size_t bytes) {mstate ar_ptr;void *victim;vo…...

软考系统分析师知识点五:数据通信与计算机网络

前言 今年报考了11月份的软考高级&#xff1a;系统分析师。 考试时间为&#xff1a;11月9日。 倒计时&#xff1a;32天。 目标&#xff1a;优先应试&#xff0c;其次学习&#xff0c;再次实践。 复习计划第一阶段&#xff1a;扫平基础知识点&#xff0c;仅抽取有用信息&am…...

windows客户端SSH连接ubuntu/linux服务器,三种网络连接:局域网,内网穿透(sakuraftp),虚拟局域网(zerotier)

windows客户端SSH连接ubuntu/linux服务器&#xff0c;三种网络连接&#xff1a;局域网&#xff0c;内网穿透&#xff08;sakuraftp&#xff09;&#xff0c;虚拟局域网&#xff08;zerotier&#xff09; 目录 SSH简述、三种网络连接特点SSH简述局域网内连接内网穿透&#xff08…...

Python 工具库每日推荐【openpyxl 】

文章目录 引言Python Excel 处理库的重要性今日推荐:openpyxl 工具库主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:自动生成月度销售报告案例分析高级特性条件格式数据验证扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 TypeScript 设计…...

本地生活服务项目入局方案解析!本地生活服务商系统能实现怎样的作业效果?

当前&#xff0c;各大平台的本地生活服务业务日渐兴盛&#xff0c;提高创业者入局意向的同时&#xff0c;也让本地生活服务项目有哪些等问题也成为了多个创业者社群中的热议对象。而从目前的讨论情况来看&#xff0c;在创业者们所询问的众多本地生活服务项目中&#xff0c;通过…...

ML 系列:【13 】— Logistic 回归(第 2 部分)

文章目录 一、说明二、挤压方法三、Logistic 回归中的损失函数四、后记 一、说明 ​ 在这篇文章中&#xff0c;我们将深入研究 squashing 方法&#xff0c;这是有符号距离方法&#xff08;第 12节&#xff09;的一种很有前途的替代方案。squashing 方法通过提供增强的对异常值…...

45岁被裁员的程序员,何去何从?

在当今快速变化的技术行业&#xff0c;职业生涯的稳定性受到挑战。在45岁被裁员&#xff0c;对很多程序员来说&#xff0c;可能是一种惊慌失措的体验。然而&#xff0c;这个阶段也可以被视为一个重新审视和调整方向的机会。本文将对可能的出路进行全方位的分析&#xff0c;并提…...

云计算Openstack Neutron

OpenStack Neutron是OpenStack云计算平台中的网络服务组件&#xff0c;它为OpenStack提供了强大的网络连接功能。 一、基本概念 Neutron是一个网络服务项目&#xff0c;旨在为OpenStack提供网络连接。它允许用户创建和管理虚拟网络&#xff0c;包括子网、路由、安全组等&…...

PointNet++网络详解

数据集转换 数据集转换的意义在于将原本的 txt 点云文件转换为更方便运算的npy点云文件&#xff0c;同时&#xff0c;将原本的xyzrgb这 6 个维度转换为xyzrgbc&#xff0c;最后一个c维度代表该点云所属的类别。 for anno_path in anno_paths:print(anno_path)try:elements a…...

Java | Leetcode Java题解之第459题重复的子字符串

题目&#xff1a; 题解&#xff1a; class Solution {public boolean repeatedSubstringPattern(String s) {return kmp(s s, s);}public boolean kmp(String query, String pattern) {int n query.length();int m pattern.length();int[] fail new int[m];Arrays.fill(fa…...