Python与金融:为你的电子表格加速(2)

Python与金融:为你的电子表格加速(2)

2. 优化原型

值得考虑的是是,有些事情可以简化,这是世界上回报最大的挑战。”-Edsger Dijkstra

重构是指在不改变其功能的情况下重写现有代码来改进其结构的过程,它可以是编码中最有趣和最有价值的元素之一。这样做可能有几个原因。可能是:

  1. 1.以更合理的方式组织不同的部分。

  2. 2.重命名变量和函数,使它们的用途和工作更清晰。

  3. 3.允许并准备将来的特性。

  4. 4.提高执行速度、内存占用或其他资源利用率。

为了展示这个过程中的一个步骤是什么样子,我通过在一个地方收集所有初始变量(而不是像在原型脚本中那样分散)来清理我们刚刚完成的原型,并通过一个称为

向量化的过程来优化其执行速度。

“使用NumPy数组可以将许多类型的数据处理任务表示为简洁的数组表达式,否则可能需要编写循环。用数组表达式替换显式循环的实践通常称为向量化。”Wes McKinney

现在它看起来更干净,更容易理解:

Python与金融:为你的电子表格加速(2)
Python与金融:为你的电子表格加速(2)

你将注意到这个版本与上一个版本之间的主要区别是,没有使用for i in range(iteration)循环。使用NumPy的数组操作,这个版本运行时间为18毫秒,而原型版本运行时间为1.35秒—大约快75倍。

Python与金融:为你的电子表格加速(2)
Python与金融:为你的电子表格加速(2)

我相信进一步的优化是可能的,因为我只是为了本教程的目的在很短的时间内将原型和改进版本放在一起。

进一步优化

本教程展示了Python的一些强大特性,如果你想进一步开发它,有很多地方可以改进。例如,你可以:

  • 从网页或其他数据源爬取或下载有关公司或行业的统计数据,以协助你选择假设及概率分布。

  • 在定量金融应用程序中使用Python,例如在基于基本和/或宏观经济因素的自动交易算法中。

  • 构建导出功能,以电子表格和/或表示格式生成输出,作为内部交易审查和批准流程的一部分,或用于外部表示。

我甚至还没有谈到你还可以对使用各种web、数据科学和机器学习应用程序,这些应用程序为Python的成功做出了贡献。

总之:这是一个对你的财务工具箱非常有用的语言

本文介绍了Python编程语言,列出了它在金融界如此流行的一些原因,并展示了如何构建一个小型Python脚本。在一个循序渐进的教程中,我介绍了如何使用Python进行迭代原型设计、交互式财务分析,以及用于评估模型的应用程序和算法交易程序的代码等。

对我来说,在一天结束的时候,Python技术的杀手级特性是使用它非常有趣!如果你喜欢解决问题、构建东西和提高工作流程的效率,那么我鼓励你尝试一下。我很想知道你用它做了什么或者想用它做什么。

金融专业人员学习Python的推荐资料

  • O ' reilly的书。我特别推荐:

Yves Hilpisch的《Python for Finance》(Python金融大数据分析)

Mark Lutz的《学习Python》

Luciano Ramalho的《Fluent Python》(流畅的Python)

  • Python量化投资

  • YouTube网站上的PyCon演讲

  • Udemy

了解基础知识

Python是什么时候创建的?

Python是在20世纪80年代提出的,并于1989年12月首次实现。

Python在金融中是如何使用的?

Python编程的用途是什么?

英文原文:https://www.toptal.com/finance/financial-modeling/python-and-finance
译者:天天向上


分享到:


相關文章: