做数据只知道Excel?Jupyter Notebook也要学起来了

栏目: Python · 发布时间: 5年前

内容简介:如果你是一名交易员或者从事金融服务行业,那么 Excel 就是你的生计之本。有了它,你可以分析价格和实时数据、评估交易组合、计算 VaR、执行回测等等;有了它,你就是数据透视表、公式、图表甚至 VBA 和 PowerQuery 的专家。然而,尽管你可以快速处理解决方案,但在你得到结果之前,电子表格已经扩展到数十个标签页、上千行以及数不清的 VBA——这使得它的可读性和可维护性遭到破坏。如果你胆敢用 F9 键刷新结果,那你就可以喝杯茶再多等一会儿了(前提还得是你的电脑在这期间没有崩溃)!很熟悉的场景吧?你大概

如果你是一名交易员或者从事金融服务行业,那么 Excel 就是你的生计之本。有了它,你可以分析价格和实时数据、评估交易组合、计算 VaR、执行回测等等;有了它,你就是数据透视表、公式、图表甚至 VBA 和 PowerQuery 的专家。

然而,尽管你可以快速处理解决方案,但在你得到结果之前,电子表格已经扩展到数十个标签页、上千行以及数不清的 VBA——这使得它的可读性和可维护性遭到破坏。如果你胆敢用 F9 键刷新结果,那你就可以喝杯茶再多等一会儿了(前提还得是你的电脑在这期间没有崩溃)!

很熟悉的场景吧?你大概已经在频频点头了。

尽管 Excel 十分有用,但是对数据进行深入挖掘时,电子表格并不能提供你想要的所有答案。下面来看看 Excel 为什么这么火,又有哪些不足,最重要的是,为什么应该用JupyterNotebook 来替代它成为你的强大 数据分析 工具。

天堂般的 Excel

使得 Excel 如此有价值的因素有多个,最值得注意的是它简单却强大的基于内置函数的响应式计算模型。电子表格就像是一块空画布,「业余程序员」可以在这上面用 Excel 专用语言(公式或者 VBA)进行编程。

尽管银行为了运行业务关键流程部署了广泛的 IT 系统,但以电子表格形式存在的 Shadow IT 仍呈爆炸式增长,Shadow IT 补充了这些核心系统,并成为新业务计划的默认工具。正是由于企业系统不够灵活,无法适应动态金融环境所提出的快速上市要求,这才有了 Excel 来填补这一缺口。

Excel 可能很方便,但这是否意味着它就是正确的方法呢?

Excel 在企业中的角色需要重新定义了!

地狱般的 Excel 

想用电子表格对大量数据进行高级响应式分析?那可就用错 工具 了。

下面是 Excel 高级用户所面临的一些问题:

  • 级联错误:Excel 一个臭名昭著的问题是,错误会沿着列传播,然后到整个表格,就好像雪球最终变成雪崩一样。可怕的是,有时错误发现时已为时已晚。

  • 可扩展性:Excel 可处理的行列数是有限制的。随着数据集以指数速度增加,电子表格很快就会耗尽内存或消耗大量 CPU 资源,此时数据损坏的风险就会上升。

  • 性能:在复杂的工作簿中,修改一个数字可能会影响到数百个重复计算,Excel 需要时间来处理每个数字。表格达到一定规模后不仅自身的速度会下降,还会影响到计算机上其它需要内存空间的应用程序的性能。

  • 测试:想要测试一个电子表格的正确性几乎是不可能的,更别提还要证明后续更改不会破坏任何其他内容。

  • 可追溯性/调试:往往一个很小的修改就会显著破坏你的复杂公式,从而使得问题难以识别和修复。

  • 全部包含:数据和计算全部包含在一个 Excel 文件中,并且在本地计算机上运行。这就意味着协作受限、版本控制成为噩梦。此外,数据也只能是基于最近更新的静态数据,而无法随着条件变化而实时更新。

传统软件在数十年前已经解决了以上这些问题。

最后同样重要的一个问题是:

操作风险:所有电子表格最初都是小型/快速修复计算,但有些最终成为了永久性的企业级解决方案。它们提供了大量业务流程,但却缺乏全局谱系的可见性,从而使得许多财务、运营和监管流程的完整性受到威胁。

做数据只知道Excel?Jupyter Notebook也要学起来了

Hello,程序员; Bye-bye,交易员

传统上,银行将定量交易团队分为定量交易员和定量开发者。前者提出交易想法,后者将这些想法转化为可执行代码。如果你作为交易员的同时也熟悉编程,那就不再需要这种分工,这也为你提供了竞争优势:不仅可以在银行希望优化成本时避免被裁员,还可以将自己的交易模型付诸实践,并利用时间优势获利。解放双手,将枯燥的任务自动化,编程真的很有创造力!

在这个时代,更多的初级交易员都具备 uni 编程技能,因此想要保持职场竞争力就得要参与其中。

如何在 Python 和Jupyterbi ji ben 上使用 Excel

那么,当交易员和金融专家们发现 Excel 有诸多限制时(不是因为版本过低时),该如何解决呢?

答案是,学习 Python,并且使用Jupyter笔记本来做开发环境!

Python

Python 相当易于学习且用途广泛,因此在金融社区中使用渐多,与 Excel 一样,它现在是许多量化工具的先决条件。它没 C++(或 Java)那么复杂,也就意味着:1.学习曲线没那么陡峭;2. 完成一个任务所需的代码量要少 80%-90%。

Python 的日益普及可以从大量支持交易员所需的各种工具库看出来。

  • 数据的读、写、清洗、传递、分层/分割

  • 数学、统计、时间序列

  • 财务分析:交易和计量金融、市场数据分析、股票/衍生产品市场分析、彭博数据访问、执行引擎、回测、风险分析等等

  • 机器学习工作流(如预测市场价格)

  • 绘图和交互式可视化

  • SQL 支持

  • 发送邮件

  • 网页抓取(如获取在线市场数据)

  • 任务自动化/安排

  • Excel 集成(如果你确实非常喜欢 Excel)

Jupyter

同样地,Jupyter Notebook 是一个基于 Web 的计算环境,能够让你创作包括以下内容的文档:实时代码、图形、小部件、丰富的叙述文本(包括链接、公式等)、图片等。更具体地说,你能够:

  • 在浏览器中编辑代码:自动语义高亮、缩进、tab 命令补全/内省(introspection)

  • 运行浏览器中的代码:在代码后附加其计算结果

它们提供了一种全包式的、独立的运算记录,从而使其代替 Excel 作为实时数据分析平台。

做数据只知道Excel?Jupyter Notebook也要学起来了

The sweet spot

你可能会想:我还要再用 Excel 吗?当然了。

在下面这些情况下,电子表格依然是你最好的选择:

  • 正确性和精确性并非优先事项

  • 数据量不大(比如不需要可扩展性)

  • 无需实时更新

  • 使用 Excel 作为便签薄快速整合原型

  • 无需长期维护

当你需要快速开发、验证正确性和可扩展性,同时又要保持和 Excel 一样的反应模型时,就是JupyterNotebook 大展身手之时。

不,Excel 并未淘汰,但JupyterNotebook 是更好的数据分析工具!

尽管我已经明确提到使用 Python/Jupyter 组合相较于 Excel 的一些实质性优点,在「地狱般的 Excel」小节中也隐晦地提到一些,我还是要把前十个优点列表如下:

  • 强大的数据操作 - 毕竟是数据科学家的工具箱!

  • 先进的可视化功能- 不再是枯燥的图标!

  • 更好的用户体验

  • 大数据处理 - 不再崩溃!

  • 性能管理 - 利用多处理器

  • 测试驱动的开发 - 考虑质量!

  • 开源可访问性 - 它有一个库

  • 错误追踪

  • 自动化更加简单

  • 自编文档 - 不要低估它的价值!

从哪开始

我发现新进入这一领域可能令人生畏,但是编程并非学习语法,而是使用正确的语言和工具来解决问题:在本文中也就是 Python 和Jupyter。

这里提供两个非常好的入门资源:

Think Python 免费电子书下载:http://greenteapress.com/thinkpython2/html/index.html

Jupyter Notebook 新手在线工具教程:https://www.dataquest.io/blog/jupyter-notebook-tutorial

重点是:Stay relevant!

结束语:

难以想象没有电子表格的企业界!

银行开始发现 Python 可以在其关键工作负载中作为 Excel 的替代品。最近,Barclays 因其培训交易员编程而成为新闻头条。我想你也应该遵守这个范例,你不会失望的!

让 Excel 去做它擅长的事,用 Python 和JupyterNotebook 来完成分析和自动化!

参考链接: https://towardsdatascience.com/jupyter-is-the-new-excel-a7a22f2fc13a


以上所述就是小编给大家介绍的《做数据只知道Excel?Jupyter Notebook也要学起来了》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Mission Python

Mission Python

Sean McManus / No Starch Press / 2018-9-18 / GBP 24.99

Launch into coding with Mission Python, a space-themed guide to building a complete computer game in Python. You'll learn programming fundamentals like loops, strings, and lists as you build Escape!, ......一起来看看 《Mission Python》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具