随着人工智能技术的飞速发展,AI大模型在各行各业的应用日益广泛。在金融领域,尤其是在金融建模方面,AI大模型正展现出巨大的潜力。本文将深入探讨如何利用AI大模型构建金融模型,重点关注如何通过智能复制粘贴现有模块,并结合精细化微调,提升建模效率与准确性。我们将借鉴Roman Ulasevich, CFA的文章,解析AI大模型在金融建模中的实际应用,并展望未来的发展方向。
上下文构建与提示工程:金融建模的基石
在金融建模中,AI大模型并非万能的工具,需要明确的上下文和精确的提示工程。首先,我们需要为AI大模型提供足够的上下文信息,包括模型的输入数据(标签和范围),以及模型的基本结构。理想情况下,应该提供一个包含所有输入和计算(及其相应范围)的金融模型架构图。例如,在构建费用明细表时,我们需要告知模型工资、税收、电信费用、差旅费用等各项费用与SG&A员工数量的关联,以及每个员工的基本费用预测、员工数量和通货膨胀指数。如果缺少这样的架构图,则需要简化处理,明确提供所需信息。
提示工程是引导AI大模型生成所需结果的关键。由于AI大模型输出需要特定的非标准格式,简单的零样本提示难以奏效。我们需要提供一些基础方法的示例,比如赋值(value)、公式(formula)和复制粘贴(copy and paste)。根据作者的实验,几个基础方法的示例足以让AI大模型输出正确的格式。如果需要遵循特定的建模约定,例如在进行计算之前从其他工作表中重复(链接)输入,则需要添加更多示例。
案例:费用明细表的构建
以计算员工工资为例,我们可以构造如下提示:
输入:
- 员工数量:
Sheet1!B2:B10
- 人均基本工资:
Sheet1!C2:C10
- 通货膨胀率:
Sheet1!D2:D10
任务:
- 计算每位员工的通货膨胀工资,并将结果写入
Sheet2!B2:B10
。公式为:人均基本工资 * (1 + 通货膨胀率)
- 计算总工资,并将结果写入
Sheet2!C2:C10
。公式为:员工数量 * Sheet2!B2:B10
通过这种方式,AI大模型可以生成符合要求的计算逻辑。
输出格式标准化:提升模型的可执行性
AI大模型输出的格式直接影响模型的可用性。直接生成VBA代码是一种方法,但存在两个潜在问题:
- 即使是简单的计算,输出的代码也可能很长,用户需要具备VBA知识才能审查。
- 即使计算本身是正确的,VBA代码也可能存在错误。
为了避免这些问题,文章作者采用了一种更巧妙的方法:标准化输出格式。他指示AI大模型以简化的类代码符号形式提供输出,这种符号可以利用通用宏进行评估(执行)。例如:
Sheet2!B2.FORMULA(Sheet1!C2*(1+Sheet1!D2))
Sheet2!C2.FORMULA(Sheet1!B2*Sheet2!B2)
这种符号类似于VBA,采用range.method(parameter)
的形式。只需VALUE、FORMULA和COPYPASTE三种方法,就可以用相对简单的宏来“执行”这种输出。与正常的VBA代码或单元格逐个输出相比,这种输出也相当紧凑。
为了进一步提高用户友好性,可以重新格式化显示给用户的输出,例如,隐藏方法/属性名称或用标签替换单元格引用。
智能复制粘贴:加速重复性任务
在金融建模中,经常需要重复相同的计算逻辑,只是需要更改标签和链接。例如,在费用明细表中,可能有多个费用项目需要以相同的方式建模。手动完成这项工作既耗时又容易出错。而AI大模型可以通过智能复制粘贴来显著提高效率。
案例:费用明细表的扩展
在计算出员工工资后,我们可以将计算逻辑复用到其他费用项目上。例如,假设我们需要计算电信费用、差旅费用等,只需要修改提示中的标签和链接即可:
输入(电信费用):
- 员工数量:
Sheet1!B2:B10
- 人均电信费用:
Sheet1!E2:E10
- 通货膨胀率:
Sheet1!D2:D10
任务:
- 计算每位员工的通货膨胀电信费用,并将结果写入
Sheet2!D2:D10
。公式为:人均电信费用 * (1 + 通货膨胀率)
- 计算总电信费用,并将结果写入
Sheet2!E2:E10
。公式为:员工数量 * Sheet2!D2:D10
通过类似的方式,可以快速生成其他费用项目的计算逻辑。
精细化微调:应对复杂计算场景
虽然AI大模型擅长智能复制粘贴,但在面对更复杂的计算时,需要进行精细化微调。例如,构建使用螺旋式折旧法的折旧计划。由于缺乏足够的训练数据,AI大模型可能无法直接生成正确的计算逻辑。在这种情况下,需要提供更详细的示例,甚至需要将复杂的计算分解成多个步骤,并为每个步骤提供详细的说明。
案例:折旧计划的构建
为了构建一个折旧计划,我们可以先从计算可折旧基础开始:
输入:
- 资产原值:
Sheet1!F2:F10
- 残值:
Sheet1!G2:G10
任务:
- 计算可折旧基础,并将结果写入
Sheet2!F2:F10
。公式为:资产原值 - 残值
接下来,可以逐步构建螺旋式折旧计划的计算逻辑:
输入:
- 可折旧基础:
Sheet2!F2:F10
- 折旧率:
Sheet1!H2:H10
- 期初净值(上一期期末净值):
Sheet2!G1:G9
任务:
- 计算本期折旧额,并将结果写入
Sheet2!G2:G10
。公式为:可折旧基础 * 折旧率
- 计算本期期末净值,并将结果写入
Sheet2!H2:H10
。公式为:期初净值 - 本期折旧额
通过逐步分解和详细说明,可以引导AI大模型生成正确的折旧计划计算逻辑。
RAG与微调:知识注入的两种途径
为了让AI大模型更好地应用于金融建模,需要将其与现有的金融知识库相结合。文章提出了两种知识注入的途径:检索增强生成(RAG)和微调。
- RAG:通过检索与当前任务相关的文档片段,并将这些片段作为AI大模型的输入,从而增强模型的知识储备。
- 微调:使用特定的金融数据集对AI大模型进行训练,使其学习特定的金融建模方式和格式。
文章作者倾向于微调,因为我们希望模型学习一种特定的“思考”和格式化答案的方式。当然,也可以将RAG与微调相结合,以便在不重新训练模型的情况下进行更新。作者提出的简化符号在token使用方面效率很高,具有一定的优势。
构建从零开始的金融模型:未来的可能性
虽然目前AI大模型主要用作辅助工具,但未来有可能利用AI大模型从零开始构建金融模型。这需要AI大模型以代理模式运行,使其能够验证其产生的输出结果。此外,还需要一个庞大的训练数据集,其中包含大量不同行业和任务的金融模型。
结论:AI大模型赋能金融建模的未来
利用AI大模型在Excel中生成金融计算,需要考虑输入(上下文)和输出两部分。AI大模型产生的输出应该能够转换为实际计算,这可以通过施加一种类似代码的符号来实现,这种符号可以使用宏来评估,并且比逐个单元格或直接VBA代码输出更有效。
通用AI大模型可能适用于简单的逐步计算和智能复制粘贴,但构建更高级和专业的计算需要额外的示例。这些示例可以从现有的金融模型中提取,只需最少的人工干预,并用于微调和/或RAG。
AI大模型在金融建模领域的应用前景广阔。通过巧妙地利用上下文构建、提示工程、智能复制粘贴和精细化微调等技术,我们可以显著提高建模效率和准确性,为金融专业人士赋能。随着AI大模型技术的不断发展,我们有理由相信,未来的金融建模将更加高效、智能和可靠。AI大模型将成为金融分析师的重要伙伴,共同构建更加完善的金融模型,为投资决策提供更强大的支持。未来的研究方向包括如何更有效地进行微调,以及如何将AI大模型应用于更复杂的金融建模场景。