智能决策新纪元-撬动金融市场的无限潜能-经常使用AutoGen剖析金融数据 (智能决策新纪录下载)
作者|崔皓
审校|重楼
摘要
AutoGen是基于Agent的框架,经过模拟人类决策环节来处置复杂疑问。它应用AIAgent来处置少量数据,做出极速决策,并优化用户交互。具有数据处置、智能化决策、用户交互和复杂疑问处置才干的AutoGen,为用户提供了处置复杂疑问的新思绪。经过构建蕴含多个AI代理的运行程序,AutoGen简化了LLM运行程序的构建环节,并支持多样化的对话形式,优化了效率和消费劲。
本文中,咱们经过一个详细的例子——A股小助手,展现了如何经常使用AutoGen框架。在这个示例中,用户经过代理动员恳求,助手代理经过智能生成和验证代码的方式,协助用户成功了股票数据的下载、剖析和图表绘制义务。
从AIAgent开局
在当今时代,人工智能技术已深化浸透到咱们生存和上班的方方面面,从简化日常义务到优化复杂的业务流程,AI的影响无处不在。但是,虽然AI技术的开展迅速,但在处置一些特意复杂的疑问时,它依然面临应战。这些疑问往往触及到少量数据的处置、复杂决策的制订,以及对灵活环境的极速顺应,这些都是传统AI系统难以克制的难题。
正是在这种背景下,AIAgent的概念应运而生。AIAgent是一种不凡类型的人工智能系统,它经过模拟人类的决策环节来处置复杂的义务。这些智能代理能够处置和剖析少量数据,提供极速且准确的处置打算,从而在那些对人类来说过于耗时或复杂的义务中大放异彩。AIAgent的外围长处在于其能够极大地提高处置这些复杂疑问的效率和消费劲,从而推进技术的进一步开展和运行。
AIAgent处置的详细疑问包括:
数据处置和剖析:AIAgent能够极速处置和剖析少量数据,提供有洞察力的结果,这关于人类来说或者既费时又费劲。
智能化决策:在须要极速照应的场景中,AIAgent可以智能做出决策,缩小了人为干预的须要。
用户交互:经过聊天机器人等方式,AIAgent能够提供7*24小时的客户服务,改善用户体验。
复杂疑问处置:AIAgent能够处置复杂的疑问,如预测剖析优化疑问等,这些通常超出了人类的间接处置才干。
什么是AutoGen
AIAgent为咱们提供了一种处置复杂疑问的思绪,那么如何成功AIAgent呢?那就是AutoGen,AutoGen作为一个框架,提供了创立和治理AIAgent的必要工具和结构。它不只仅是一个繁难的代理成功,而是一个片面的处置打算,使得开发者能够构建复杂的基于多个AI代理的运行程序。
MicrosoftAutoGen,用于开发经常使用多个代理启动对话以处置义务的大型言语模型(LLM)运行程序。AutoGen的代理是可定制的、可对话的,并且无缝地准许人类介入。它们可以在经常使用LLM人类输入和工具的组合的各种形式下操作。
关键特点:
AutoGen使构建基于多代理对话的下一代LLM运行程序变得繁难,它简化了复杂LLM上班流的编排智能化和优化。
它支持复杂上班流的多样化对话形式,并提供了不同复杂度的上班系统示例,展现了AutoGen如何轻松支持多样化的对话形式。
AutoGen提供了增强的LLM推感性能,包括API一致缓存以及初级经常使用形式,如失误处置多性能推理高低文编程等。
AutoGen不只性能弱小,而且装置繁难,经过pip装置:
pipinstallpyautogen
接上去,咱们想经过AutoGen示例,让大家对其有愈加片面的了解。
A股小助手:用户代理与智能助手
在快节拍的职场环境中,经常会遇到须要对地下的商业数据启动汇总和剖析的义务。构想一下,您的老板要求您搜集和剖析某些关键数据,比如股票市场的表现。这项义务不只包括搜查和下载关系数据,还触及到对数据的深化剖析,并且须要将剖析结果以可视化的方式出现。这个环节不只繁琐,而且在处置数据时还存在潜在的危险和偏向,因此,一个能够有效协助您的工具变得至关关键。
在这种情境下,让咱们以一个详细的例子来展现如何经常使用AutoGen来简化这一环节。假定您须要比拟中国A股市场中两只出名股票——万科A和招商银行的表现。详细义务是下载这两只股票的历史数据,对它们的收益状况启动比拟,并生成相应的剖析图表。这不只须要对数据启动准确的提取和处置,还要求能够以一种明晰直观的方式展现结果。
经常使用AutoGen,您可以构建一个流程,其中包括多个AI代理,每个代理担任处置流程的不同局部。例如,一个代理可以担任从金融数据库中下载所需的股票数据,另一个代理则专一于数据的剖析和处置,最后一个代理则将剖析结果转化为易于了解的图表。经过这种方式,AutoGen不只大大减轻了您的上班累赘,还提高了整个剖析环节的准确性和效率。最终,您可以向老板展现一份既片面又直观的股票表现对比报告,这份报告不只基于最新的数据,而且以一种易于了解的图形方式出现。
思绪整顿
在开局成功上述性能之前,先让咱们把介入者和流程整顿一下,如下图所示:
AutoGen处置股票数据比拟的环节,有用户、用户代理、用户助手三个介入者。用户担任提出疑问。用户代理由AutoGen的对象表演,它担任了解用户提出的疑问,并向用户助手收回命令,假设在执行环节中用户助手遇到疑问,用户代理须要对其启动解释。用户助手担任拿出处置打算,生成执行代码,同时还须要评价代码的正确性。最终,将执行的代码交给用户代理执行。
流程的步骤如下:
股票比拟流程图
代码编写
分明流程之后咱们来看看代码,如下:
#导入autogen模块。这个模块或者是一个智能生成某些性能的库。importautogen#经常使用autogen模块中的config_list_from_json函数。#此函数的作用是从一个JSON格局的性能文件中创立性能列表。config_list=autogen.config_list_from_json(#第一个参数是JSON性能文件的称号,这里指定的是"OAI_CONFIG_LIST.json"。#这个JSON文件蕴含了一些性能数据。"OAI_CONFIG_LIST.json",#第二个参数是一个字典,它用于过滤性能文件中的内容。#这里的字典指定了只选用模型为""的性能。filter_dict={"model":["gpt-4"],},)
这段代码用于导入AutoGen的模块并调用其中的config_list_from_json函数加载与大模型关系的性能信息。上方依照要求启动解释:
1.导入模块:
importautogen:导入名为autogen的/target=_blankclass=infotextkey>Python模块。这个模块的详细性能未在代码中说明,但依据称号推测,它或者与智能生成性能或代码有关。
2.函数调用:
config_list_from_json函数从JSON文件中读取性能,并依据提供的过滤条件生成一特性能列表。
过滤字典:
3.filter_dict:用于过滤JSON文件中的内容。在这个例子中,它指定了["gpt-4"]作为AutoGen要经常使用的模型。
接上去看看OAI_CONFIG_LIST.json文件长什么样子。文件蕴含了一个JSON数组,每个元素是一个JSON对象,代表一个API性能。这个文件或者被用于存储不同API环境的性能信息,如API密钥和基础URL。
[{#大模型的名字'model':'gpt-4',#对应的API的Key'api_key':'<yourAPIkeyhere>',},{'model':'gpt-4','api_key':'<yourAzureOpenAIAPIkeyhere>','base_url':'<yourAzureOpenAIAPIbasehere>','api_type':'azure','api_version':'2023-06-01-preview',},{'model':'gpt-4-32k','api_key':'<yourAzureOpenAIAPIkeyhere>','base_url':'<yourAzureOpenAIAPIbasehere>','api_type':'azure','api_version':'2023-06-01-preview',},]
接着重头戏演出,咱们创立了两个对象:assistant和user_proxy。它们用来创立用户代理和用户助手。用于模拟用户代理和用户助手之间的交互。上方是对代码的逐行解释:
1.创立用户助手(assistant)
#创立一个名为'assistant'的AssistantAgent对象,这个对象或者代表一个智能助手。assistant=autogen.AssistantAgent(name="assistant",#名字属性被设置为'assistant'。llm_config={#llm_config是一个字典,用于性能助手的行为。"cache_seed":42,#'cache_seed'或者用于初始化随机数生成器,以坚持结果的分歧性。"config_list":config_list,#'config_list'是之前从JSON文件中失掉的性能列表。"temperature":0,#'temperature'设置为0,或者用于控制生成内容时的随机性或发明性。},)
2.创立用户代理(user_proxy)
#创立一个名为'user_proxy'的UserProxyAgent对象,这个对象或者代表一个用户界面或代理。user_proxy=autogen.UserProxyAgent(name="user_proxy",#名字属性被设置为'user_proxy'。human_input_mode="NEVER",#'human_input_mode'被设置为'NEVER',标明不预期会有来自真人的输入。max_consecutive_auto_reply=10,#'max_consecutive_auto_reply'设定在须要用户输入而没有输入时,智能回复的最大次数。is_termination_msg=lambdax:x.get("content","").rstrip().endswith("TERMINATE"),#'is_termination_msg'是一个函数,用于判别信息内容能否示意中断对话。code_execution_config={#'code_execution_config'性能代码执行的环境。"work_dir":"coding",#'work_dir'设定上班目录为'coding'。"use_":False,#'use_docker'标明在执行代码时不经常使用Docker容器。},)
3.初始化聊天和发送信息
#user_proxy经常使用initiate_chat方法向助手动员聊天,并发送一条信息。user_proxy.initiate_chat(assistant,#指定要发送到的助手。message="""当天是几号?请帮我比拟万科A股票和招商银行股票的收益状况,用图表的方式对两者启动比拟。""",#发送的信息内容。)
assistant是一特性能了特定参数的助手代理,或者用于执行某种智能化义务或处置。
user_proxy是一个模拟用户的代理,性能了智能回复和中断对话的条件。
user_proxy经过initiate_chat方法与assistant开启对话,并发送了一个关于比拟股票收益的义务形容。
结果展现
在执行代码之后可以发生结果,因为结果内容比拟长,触及到打算的提出,代码生成,代码验证,代码修正等环节。这是一个复杂的自我修正环节,关键表现了用户代理与助手之间的互动中,我把结果的输入整顿成如下内容,繁难大家浏览:
提问-用户代理To助手:
得出打算-助手To用户代理:
助手提出了一个处置打算,该打算分为三个关键步骤:
2.应用pandas_datareader库从YahooFinance失掉股票的历史数据。
3.经常使用matplotlib库将数据绘制成图表方式,比拟两只股票的收益状况。
但是,当尝试执行失掉Yahoo财经数据的代码时遇到了疑问,失误揭示标明类型失误,字符串索引必定是整数。
再次执行代码-助手To用户代理:
助手倡导经常使用yfinance库来代替pandas_datareader,以处置从Yahoo财经失掉数据的疑问。在成功装置yfinance库后,助手提供了新的代码片段来从新失掉股票数据,并将数据保留到CSV文件中。而后,又提供了另一段代码来创立图表,这次的代码执行成功。
最终失掉结果-助手To用户代理:
助手确认万科A和招商银行的历史多少钱数据已成功失掉,并且图表已创立。因为环境限度,助手指出不可间接显示图表,并倡导用户在本地环境中运转代码以检查图表。最终,经过发送TERMINATE,完结了对话。
AutoGen义务代码
在整个环节中,用户代理与助手之间的交互关键集中在处置疑问和代码执行上。助手在诊断并处置疑问时表现出顺应性和灵敏性,最终提供了满足用户恳求的结果。
上方咱们把用户助理生成的代码放在上方,大家可以参考。这段Python代码用于比拟两只股票(万科A和招商银行)的每日收益状况,并将结果以图表方式展现。上方是对每一局部代码的详细解释:
#导入必要的Python库。importdatetime#用于处置日期和期间。importpandasaspd#用于数据剖析和操作。importmatplotlib.pyplotasplt#用于数据可视化。importyfinanceasyf#用于从YahooFinance下载股票数据。#失掉以后日期并打印。today=datetime.date.today()print("当天是:",today)#设置失掉股票数据的起始和完结日期。start_date='2020-01-01'#设置起始日期为2020年1月1日。end_date=today#设置完结日期为以后日期。#经常使用yfinance下载万科A和招商银行的股票数据。vanke=yf.download('000002.SZ',start=start_date,end=end_date)#下载万科A的数据。cmb=yf.download('600036.SS',start=start_date,end=end_date)#下载招商银行的数据。#计算每日收益率。收益率是经过将每日的收盘价与前一日的收盘价启动比拟计算得出的。vanke['DailyReturn']=vanke['Close'].pct_change()#计算万科A的每日收益率。cmb['DailyReturn']=cmb['Close'].pct_change()#计算招商银行的每日收益率。#经常使用matplotlib创立图表并设置图表大小。plt.figure(figsize=(12,6))#设置图表的题目。plt.title('DailyReturnComparison')#绘制两只股票的每日收益率曲线。vanke['DailyReturn'].plot(label='VankeA')#绘制万科A的收益率曲线。cmb['DailyReturn'].plot(label='CMB')#绘制招商银行的收益率曲线。#参与图例。plt.legend()#显示图表。plt.show()
代码全体比拟繁难,其执行环节如下:
1.导入所需的库。
3.定义失掉股票数据的期间范围。
5.计算并参与每日收益率到下载的数据中。
6.绘制并显示两只股票的每日收益率对比图表。
代码中经常使用的yfinance库是一个盛行的金融数据接口,可从YahooFinance下载历史市场数据。Matplotlib是一个宽泛经常使用的Python绘图库,可以创立多种静态灵活和交互式图表。.pct_change()函数用于计算数据帧中元素的百分比变动,罕用于金融数据剖析中计算收益率。plt.show()函数调用会关上一个窗口展现生成的图表。在JupyterNotebook或其余交互式环境中,图表通常会间接显示。
两只股票收益的比拟图
总结
本文引见了AutoGen框架及其在金融数据剖析中的运行。用户经过代理恳求协助,AutoGen框架的助手代理接纳义务后,经常使用Python代码处置股票数据并绘制比拟图表。这个环节展现了AutoGen在处置数据下载、剖析和可视化方面的才干。
经过成功一个繁难的A股小助手,AutoGen减轻了用户的上班累赘,提高了义务执行的准确性和效率。经常使用AutoGen,即使是复杂的义务,也可以经过构建流程、调配代理和智能化代码执行来简化,从而经常使用户能够以更直观的方式出现数据和剖析结果。
作者引见
崔皓,51CTO社区编辑,资深架构师,领有18年的软件开发和架构阅历,10年散布式架构阅历。
A公司于2007年1月2日从证券市场上购入B公司于2006年1月1日发行的债券,该债券四年期、票面年利率为4%、每
1)2007年1月2日借:持有至到期投资——成本 应收利息贷:银行存款持有至到期投资——利息调整)2007年1月5日借:银行存款贷:应收利息 )2007年12月31日初始确认金额=+=(元)期初摊余成本=-=(元)应确认的投资收益=*5%=(元)持有至到期投资——利息调整=-=(元)借:持有至到期投资——利息调整应收利息 贷:投资收益 )2008年1月5日借:银行存款 贷:应收利息 )2008年12月31日摊余成本=+=(元)应确认的投资收益=*5%=(元)借:应收利息持有至到期投资——利息调整 贷:投资收益)2009年1月5日借:银行存款贷:应收利息)2009年12月31日持有至到期投资——利息调整=--=(元)投资收益=(++)*5%=(元)借:应收利息持有至到期投资——利息调整 贷:投资收益 )2010年1月1日借:银行存款 贷持有至到期投资——成本 应收利息
人工智能在金融领域有何前景
参考前瞻 产业研究院《2016-2021年中国人工智能行业市场前瞻与投资战略规划分析报告》显示,随着互联网时代的深入发展,我们获取的各种数据都在无限膨胀,远远超过了人类大脑的处理能力,于是机器学习技术成为更利于发展的投资策略。 以机器之手在互联网中抓取一个领域的数据和信息,将这些信息通过人工智能系统进行细致的分拣和筛选,进而得出最终的结论和决策。 之后再将这些已被梳理好的决策分析反馈给该领域工作人员。 以智能客服为例,2015年双11,蚂蚁金服95%的远程客户服务已经由大数据智能机器人完成,同时实现了100%的自动语音识别。 正是依靠人工智能的帮助,蚂蚁金服客户中心在双11的整体服务量超过500万人次,客服人员的精力可以更好的集中到处理复杂类客户问题和工作。 蚂蚁金服科学家打造的人工智能机器人客服大军,包括了MyRobot、服务宝等几项核心人工智能技术。 但目前人工智能在金融领域完全取代人的机会还很小。 金融是关于人价值交换的业务,核心还是人,从某种程度上来说,人工智能可以促使人们的就业往价值链更上层的工作迁移。
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。