专栏首页机器之心做数据只知道Excel?Jupyter Notebook也要学起来了

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

选自towardsdatascience

作者:Semi Koen

机器之心编译

参与:胡曦月、张倩

Excel是交易员或金融从业者的生计之本,但在数据量较大或需要对数据进行深入挖掘时,Excel似乎就有点不够用了。那么,有什么新的工具可以作为代替呢?本文作者给出的答案是Jupyter Notebooks。

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

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

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

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

天堂般的 Excel

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

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

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

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

地狱般的 Excel

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

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

  • 级联错误:Excel 一个臭名昭著的问题是,错误会沿着列传播,然后到整个表格,就好像雪球最终变成雪崩一样。可怕的是,有时错误发现时已为时已晚。
  • 可扩展性:Excel 可处理的行列数是有限制的。随着数据集以指数速度增加,电子表格很快就会耗尽内存或消耗大量 CPU 资源,此时数据损坏的风险就会上升。
  • 性能:在复杂的工作簿中,修改一个数字可能会影响到数百个重复计算,Excel 需要时间来处理每个数字。表格达到一定规模后不仅自身的速度会下降,还会影响到计算机上其它需要内存空间的应用程序的性能。
  • 测试:想要测试一个电子表格的正确性几乎是不可能的,更别提还要证明后续更改不会破坏任何其他内容。
  • 可追溯性/调试:往往一个很小的修改就会显著破坏你的复杂公式,从而使得问题难以识别和修复。
  • 全部包含:数据和计算全部包含在一个 Excel 文件中,并且在本地计算机上运行。这就意味着协作受限、版本控制成为噩梦。此外,数据也只能是基于最近更新的静态数据,而无法随着条件变化而实时更新。

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

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

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

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

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

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

如何在 Python 和 Jupyter笔记本 上使用 Excel

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

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

Python

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

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

  • 数据的读、写、清洗、传递、分层/分割
  • 数学、统计、时间序列
  • 财务分析:交易和计量金融、市场数据分析、股票/衍生产品市场分析、彭博数据访问、执行引擎、回测、风险分析等等
  • 机器学习工作流(如预测市场价格)
  • 绘图和交互式可视化
  • SQL 支持
  • 发送邮件
  • 网页抓取(如获取在线市场数据)
  • 任务自动化/安排
  • Excel 集成(如果你确实非常喜欢 Excel)

Jupyter

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

  • 在浏览器中编辑代码:自动语义高亮、缩进、tab 命令补全/内省(introspection)
  • 运行浏览器中的代码:在代码后附加其计算结果

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

The sweet spot

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

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

  • 正确性和精确性并非优先事项
  • 数据量不大(比如不需要可扩展性)
  • 无需实时更新
  • 使用 Excel 作为便签薄快速整合原型
  • 无需长期维护

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

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

尽管我已经明确提到使用 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 和 Jupyter Notebook 来完成分析和自动化!

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

本文为机器之心编译,转载请联系本公众号获得授权。

本文分享自微信公众号 - 机器之心(almosthuman2014)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Excel狂魔?单元格做计算机视觉:人脸检测、OCR都不在话下

    Excel 基本操作会吧?上网搜索公式会吧?基本的数学理解能力有吧?OK,如果以上你都能做到,你也能上手计算机视觉项目了。

    机器之心
  • 学界 | CMU论文:神经机器翻译和Seq2seq模型导论

    选自arXiv 作者:Graham Neubig 机器之心编译 参与:李泽南、蒋思源 本文是一篇有关机器翻译的详细教程,适用于计算机科学本科背景的读者。据 Pa...

    机器之心
  • 计算机领域顶级科学家、学术会议、期刊影响力排名(附国内排名)

    机器之心报道 参与:李亚洲、蒋思源 近日,Guide2Research 发布了计算机科学领域的论文期刊、学术会议和科学家等内容的学术影响力排名。其排名根据 Go...

    机器之心
  • 【干货】50个Excel常用功能,一秒变数据处理专家

    今天小编给大家分享工作中经常使用到的EXCEL表格实用技巧,整整50个,学会一半,都会让你比别人牛N倍!EXCEL表格制作。 50个实用技巧 ▽附动态说明图▽ ...

    钱塘数据
  • 一文带你全面认识Excel催化剂系列功能

    因插件功能大部分是本人过去在工作中曾经开发过或曾经构想过在工作场景中有较大的使用率,同时也是其他主流插件未提供或提供的功能使用上略有欠缺的。

    心莱科技雪雁
  • 李伟坚(Excel催化剂):Excel离线生成词云图

    在数据分析领域,词云图已经成为在文本分析中装逼的首选图表,大家热烈地讨论如何在Python上做数据分析、做词云图。

    寒树Office与RPA
  • 李伟坚(Excel催化剂):接入AI人工智能NLP自然语言处理

    原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,...

    寒树Office与RPA
  • 50个逆天功能,看完变Excel绝顶高手(全都是动图!)

    Excel的50个逆天功能,动画教程珍藏版。 1、自动筛选 ? 2、在Excel中字符替换 ? 3、在Excel中冻结行列标题 ? 4、在Excel中为导入外部...

    CDA数据分析师
  • 李伟坚(Excel催化剂):带你全面认识《Excel催化剂》系列功能

    本次要介绍的是一款名叫《Excel催化剂》的 Excel 插件,也是目前国内技术含最高的 Excel 插件,共计80大类300个细分功能、180个自定义函数,涉...

    寒树Office与RPA
  • 【AI动态】听说了吗?微软要用Excel试水人工智能的“深”与“浅”

    其实,目前的每一天我们都在与人工智能打交道:它不仅构建了谷歌搜索和Facebook页面,而且还会预测我们所要输入的下一个字是什么。从此方面来说,我们是人工智能的...

    AiTechYun

扫码关注云+社区

领取腾讯云代金券