Excel 中的 Python,应用于金融领域
Blake Rayfield
Blake Rayfield

传统上,金融专业人士一直非常依赖 Microsoft Excel 作为进行财务建模、预算编制、预测和数据分析等任务的首选工具。Excel 的优势在于其多功能性以及处理大型数据集、执行复杂计算和创建易于在团队之间共享的可重复模型的能力。无论是用于管理预算、预测收入还是构建复杂的 财务模型,Excel 一直是日常金融运营的基石。其用户友好的界面,结合数据透视表、数据可视化工具和各种内置函数等强大功能,使其在金融界不可或缺。
同样,Python 已成为金融领域的主导编程语言之一,这归功于其强大的开箱即用功能和专为金融分析量身定制的大量库。Python 的灵活性和广泛的库生态系统,包括 pandas、NumPy 和 Matplotlib,使金融专业人士能够进行复杂的数据分析、自动化重复性任务并创建动态财务模型。Python 执行 数据处理 和与其他系统无缝集成的能力使其成为那些希望突破金融分析界限的人的最爱。
如果我们能够将 Excel 的易用性与 Python 的“内置电池”理念结合起来会怎样?现在,您可以使用 Excel 中的 Python 实现这一目标。只需键入“=PY”,Excel 用户就可以将 Python 直接集成到他们的电子表格中。这种融合使用户能够利用 Python 的高级功能,同时继续在熟悉的 Excel 环境中工作。将 Python 集成到 Excel 意味着以前需要外部脚本才能完成的任务现在可以直接在 Excel 中使用金融专业人士已经熟悉的 Python 来完成。
开始在网格中使用 Excel 中的 Python
要开始使用 Excel 中的 Python,只需键入“=PY(”。一旦您键入左括号,单元格和公式栏的左侧就会出现一个绿条,表示您处于 Python 单元格编辑模式。Excel 原生公式栏的这种增强功能使您可以将 Python 的强大功能与 Excel 的熟悉性无缝结合。您可以轻松选择单元格,将 Python 函数 直接应用于您的数据,并使用加载到所提供环境中的 Python 包。无论您是利用 pandas 进行数据处理、Matplotlib 进行可视化,还是任何其他 Python 库,此编辑器都将 Python 的全部功能带入您的 Excel 工作流程中,从而比以往更轻松地增强您的财务模型和分析。

一旦您在 Excel 中完成编写 Python 脚本,执行它就像在 PC 上按 Ctrl + Enter 一样简单。执行 Python 单元格会将单元格中的代码发送到 Python 运行时,在那里代码会被解释和执行,然后数据返回到工作簿。您还可以灵活地决定如何处理每个单元格的输出——无论是作为 Python 对象(如 pandas DataFrame 或函数),还是仅作为值。
想象一下各种可能性:不再需要为一个对于 Excel 来说过于复杂但又不足以使用单独的 Python 脚本的电子表格或模型而苦苦挣扎。传统上,您会使用 VBA 宏,但会失去您日常使用的 Python 库。现在,您可以兼得两者之长,将 Excel 的易用性与 Python 的内置函数融为一体。
以下是一些常见计算的示例,展示 Excel 中的 Python 如何革新金融分析。
计算回报率
对于经常处理股票价格、债券或任何形式的时间序列数据的金融专业人士来说,计算回报率是一项例行但至关重要的任务。回报率(无论是简单回报率还是复合回报率)提供了对投资随时间推移的表现的关键见解。传统上,此任务将涉及创建复杂的 Excel 公式,当处理大型数据集或频繁更新时,这些公式可能会很繁琐。

然而,随着 Python 的 pandas 包集成到 Excel 中,此过程已变得更加精简和高效。Pandas 允许您将任何 Excel 范围视为 DataFrame——Python 中一种强大的数据结构,可简化数据处理。这意味着您可以使用 .pct_change() 函数轻松计算一系列价格的回报率,该函数计算数据系列中当前元素和先前元素之间的百分比变化。
简化相关性和协方差计算
对于参与投资组合管理、风险评估或优化工作的金融专业人士来说,计算相关性和协方差矩阵是一项基本但通常很繁琐的任务。我们都知道填写相关性或协方差矩阵“另一半”的麻烦。这些矩阵对于理解不同资产之间的关系、识别多元化机会以及优化投资组合以实现最佳风险回报平衡至关重要。传统上,在 Excel 中手动填写这些矩阵可能非常耗时且容易出错,尤其是在处理大型数据集或频繁更新时。

随着 Python 集成到 Excel 中,此过程得到了极大的简化。通过使用 pandas 将您的数据视为 DataFrame,您现在只需几行代码即可计算相关性和协方差矩阵。例如,pandas 中的 .corr() 函数允许您轻松生成完整的相关矩阵,捕获数据集中所有变量之间的成对相关性。
匹配(替换 Index-Match)
跨不同工作表或数据集匹配数据是 Excel 中一项常见但具有挑战性的任务,通常需要使用复杂且容易出错的 INDEX 和 MATCH 函数。无论您是在对齐财务记录、合并来自不同来源的数据集还是整合数据以进行分析,此过程都可能非常耗时且令人沮丧,尤其是在处理大型复杂数据集时。
随着 Python 集成到 Excel 中,此任务变得 значительно 更轻松和高效。使用 pandas,您可以使用功能更强大且更直观的 pd.merge() 函数替换传统的 INDEX-MATCH 方法。此函数允许您轻松地组合来自不同工作表甚至不同笔记本的数据,精确而快速地处理数据的对齐和合并。
例如,如果您需要将一个工作表中的交易与另一个工作表中的相应数据进行匹配,pd.merge() 可以根据公共字段(例如日期或交易 ID)快速准确地链接这些数据集。这不仅简化了流程,还降低了手动链接数据可能导致的错误风险。

透视,一行代码搞定
如果您曾经需要在 Excel 中创建数据透视表以根据 ID 或其他键字段汇总数据,您就会知道这有多么繁琐,尤其是在处理多个工作表或尝试维护复杂聚合的准确性时。虽然 Excel 的数据透视表功能强大,但有时可能不够灵活,当您的数据更改或扩展时,需要手动更新或执行其他步骤。
随着 Python 集成到 Excel 中,这些限制不再是问题。使用 pandas,您可以直接在单个单元格中轻松地对数据进行分组和聚合,而无需管理多个工作表或手动更新数据透视表。pandas 中的 groupby() 函数允许您以惊人的效率执行这些操作,使您能够在一行代码中根据 ID 或任何其他条件对数据进行求和、计数或平均。
例如,如果您需要按项目 ID 对交易进行分组并汇总其总成本,您可以使用 Python 直接在 Excel 中执行此操作,并且结果会在添加新数据时自动更新。这意味着您可以保持分析的动态和最新,而无需重新配置数据透视表或手动聚合数据。请参见图 X。

我们甚至可以操作或向表中添加新项目,表格也会自动更新,从而节省我们的时间和空间。请参见图 X。

对于金融专业人士来说,将 Python 集成到 Excel 是一项颠覆性变革,它在数据分析、建模和自动化方面提供了新的强大功能和灵活性。通过将 Excel 熟悉的用户友好界面与 Python 强大的计算能力相结合,您现在可以处理曾经繁琐、耗时甚至在传统 Excel 中不可能完成的任务。无论是简化回报率计算、简化相关矩阵还是替换复杂的 INDEX-MATCH 函数,Excel 中的 Python 都使这些流程更快、更轻松、更高效。
这种强大的组合不仅使您的工作更轻松,而且改变了您进行金融分析的方式。自动化重复性任务、确保您的数据保持最新、允许进行更复杂、动态的分析以及提高模型的便携性只是众多好处中的一部分。借助 Python 广泛的工具库,现在您可以在 Excel 中直接触手可及,您可以突破模型和分析中可能实现的界限,同时在您已经了解和信任的工具中工作。
简而言之,Excel 中的 Python 不仅仅是添加一个新功能,而是提升您的整个工作流程。它使您能够轻松处理更复杂的任务,保持更高的工作效率,并做出更好、数据驱动的决策。随着金融世界不断发展,这种集成确保 Excel 在每位金融专业人士的工具包中仍然是一种至关重要、适应性强的工具。亲自体验 Excel 中的 Python,现已由 Microsoft 全面推出。
_________
Blake Rayfield 是北佛罗里达大学的金融学助理教授,在高等教育行业拥有良好的工作经历。他拥有新奥尔良大学金融经济学硕士学位和金融经济学博士学位。他曾在多家同行评审期刊上发表文章,包括 Journal of Financial Research、Quarterly Review of Economics and Finance 和 Review of Behavioral Finance 等。他的研究兴趣在于公司金融和投资,并将 Python 和数据可视化融入到所有项目中。您可以在这里找到他:LinkedIn | GitHub | ResearchGate | 个人网页。