python处理表格很厉害么_还在用excel?太落伍了,现在都用Python和Jupyter处理数据了...

全文共3246字,预计学习时长8分钟

562c11dfa9ec8a13af45262a016bb58aa1ecc00f.jpeg?token=bd8d1b46527a5f69695a99d38c06bea7&s=D1D3EE231ACC38CA56321A7903004067

如果你从事的是商业交易或者在金融机构工作,Excel是必备技能。

你可以用它分析价格及其他tick数据、评估投资组合、计算风险价值、进行事后检等等。你熟练掌握数据透视表、Excel公式、图表甚至是VBA和PowerQuery。这使你可以快速执行一个方案。

但是在你意识到之前,电子表就会扩张成为几十个结构复杂的表格和混乱无序的VBA代码时,读懂和维护这些表格将变得极其困难。并且如果按下F9刷新的话,等待的时间甚至足够喝完一杯茶(如果这期间电脑还没崩溃的话)!

上面的陈述听起来是不是很熟悉?你恐怕正在疯狂点头。

尽管电子表格十分有用,但要用来分析数据的话,它并不能提供寻求的所有答案。让我们看看Excel如此流行的原因及其不足之处,以及最重要的使用Jupyter Notebook这一强大的分析工具来代替Excel的原因。

我们的目的是,让Excel做Excel擅长的事,把分析和自动化交给Python和Jupyter Notebook。

023b5bb5c9ea15cecd8992f844741ef63b87b252.jpeg?token=5da5e346d543bb26a7c9b4c70f943e5d

Excel的优势

Excel有几大优势。最值得一提的就是带有内建函数的反应计算模型,它使得Excel简单而又强大。电子表就像一块空白的幕布。一个“业余程序员”可以使用Excel的专用语言(也就是公式和VBA)在电子表中编写代码。

银行利用各式各样的信息技术系统来执行关键业务流程。然而有越来越多的影子IT以电子表格的形式出现,它们补充了核心信息系统的功能,并充当新的商业计划的默认工具。企业系统不够灵活,无法适应动态金融环境下产品从雏形到进入市场的时间,而Excel解决了这一问题!

尽管Excel非常便利,但它就是最合适的方法吗?

Excel在企业中扮演的角色应该被重新定义。

023b5bb5c9ea15ce777a29c041681ef63887b2d5.jpeg?token=28d297fd15c6f725ef1aa655dcd68bc4&s=FD88F9131BF6E8CE1AD955CA0100E0B0图片来源:unsplash.com/@mbaumi

023b5bb5c9ea15cecd8992f844741ef63b87b252.jpeg?token=5da5e346d543bb26a7c9b4c70f943e5d

Excel的劣势

在涉及大量数据的、高级的、响应式的分析过程中,电子表格并非合适的工具。

下面是某些Excel重度用户面临的问题:

· 级联错误:Excel臭名昭著的问题之一是错误可能会沿着列传播,最终波及整个电子表,就像一个雪球引起一场雪灾。可怕的是,有些错误发现时已经无法补救。有不少这样造成重大损失的案例。

· 可扩展性:Excel表格中的行列数量有限。处理规模呈指数级增长的数据集时,电子表将很快用尽存储空间或占用大部分的中央处理器。这种情况的出现将极大提升数据污染的风险。

· 功能:在复杂的工作表中,改变一个数字可能影响数以百计的重复计算。Excel需要花费时间来重新计算每一个结果。当影响达到一定量级,不仅电子表本身的运行会变得缓慢,其他所有需要占用存储空间的应用都会受到影响。

· 测试:电子表的正确性几乎不可测试,也难以证明后续更改没有造成其他影响。

· 可追踪性/排除故障:即使微小的变化也可能严重篡改复杂的公式。这样微小的改变极难找到和修复。

· 包含一切:数据和算式都存储在Excel文件内并在本地计算机上运行。这意味着合作受到限制,版本控制像噩梦一般困难。并且数据将在最后一次更新后保持不变,而不是随着情况变化实时更新。

传统软件早已在几十年前解决了上述所有问题。

最后一点,也是很重要的一点:

· 操作风险:所有的电子表最初都是小型的,易于维护的算式。但是有些电子表会变成永久的,企业级别的方案。它们被用于大量的业务流程,但由于无法看到数据的全貌,很难保证许多金融、运算和监管过程的完备性。

a08b87d6277f9e2f74fba14de858cd21b999f313.jpeg?token=476c31fd2e5cadfd82efc85602aff870&s=E7D232D0E3E1E8E24AD5924A030010F6图片来源Courtesy: Pixabay

023b5bb5c9ea15cecd8992f844741ef63b87b252.jpeg?token=5da5e346d543bb26a7c9b4c70f943e5d

你好,程序员;再见,交易者

传统来说,银行把定量交易团队分为定量分析交易者和定量分析开发者。前者提出想法,后者把这些想法写成可执行的代码。如果你既是一个交易者又是个专业的程序员,那么这种划分就不再必要。这让你获得了竞争优势:一方面银行希望尽可能减少支出,从而降低了失业风险;另一方面你可以把自己的交易模型投入实践,利用时间优势获取利益。一些单调的任务可以自动处理,这使你获得解放,而且编程实际上非常具有创造性!

这也是为了跟上时代。越来越多的年轻交易者具备在大学中学到的编程知识。所以如果想要保持就业竞争力,你也需要参与其中。

023b5bb5c9ea15cecd8992f844741ef63b87b252.jpeg?token=5da5e346d543bb26a7c9b4c70f943e5d

如何用Python和Jupyter Notebooks进行数据处理

对于意识到Excel局限性的交易者和金融专家来说,如何解决这一问题?答案就是:学习使用Python和Jupyter Notebook。

Python

Python学起来很容易,并且功能丰富,因此在金融领域中得到越来越广泛的应用。如今它和Excel一样,是许多定量分析过程的必备工具。它没有C++(或者Java)那样复杂,这意味着python的学习曲线没有那么陡峭,而且完成任务所需的代码量减少到1/5甚至1/10。

Python的日渐流行明显地体现在大量的库中。这些库可以支持交易者所需要的几乎一切功能。

· 数据的读取、写入、清洗、删改和交叉分析。

· 数学序列、统计序列和时间序列。

· 金融分析:交易和定量金融、市场数据分析、股票/衍生市场分析、彭博数据访问、执行引擎、事后检验、风险分析等等。

· 机器学习渠道(比如预测市场价格)。

· 绘图以及一目了然的/交互性的可视化。

· SQL支持。

· 发送邮件。

· 网页数据抓取(比如从网上获得市场价格)。

· 任务的自动化/日程安排。

· 整合Excel(如果你真的很喜欢使用Excel)。

Jupyter

沿用上述思路,Jupyter Notebook是一个基于网络的编程环境。它能够管理各种文件。这些文件包含代码、图表、小插件、丰富的叙述文本(包括链接、等式等)以及图片。更具体来说,可以:

· 借助自动句法高亮、缩进以及tab自动补全/检查等功能,在浏览器中编辑代码。

· 使用附加在代码上的计算结果,通过浏览器运行代码。

它为计算提供了总括式的、自含式的记录。这样Jupyter就可以代替Excel成为一个实时数据分析平台。

cdbf6c81800a19d8e8e58c48c492a68ea71e4602.jpeg?token=c5dd7073c2747d0e51ea594ccec119ad&s=211A54320707694B424D00DA000080B2Courtesy: Python for Finance Tutoria

023b5bb5c9ea15cecd8992f844741ef63b87b252.jpeg?token=5da5e346d543bb26a7c9b4c70f943e5d

Excel VS Jupyter

所以你可能会想:

我还应该使用Excel吗?当然!电子表依然是处理下列情况时的最佳选择:

· 不那么注重正确性和准确性

· 数据规模不太大(对可扩展性没有要求)

· 不需要实时更新

· 把Excel作为草稿本,快速整合原型

· 不需要长期维护

你需要这样一个工具——它能够支持快速开发,保证正确性和可扩展性,与此同时拥有和Excel一样的反应模型。而这就是Jupyter Notebook提供的功能。

7dd98d1001e939017c18bdfe8d8470e237d19641.png?token=24484f633bb2739bf2208973079e2baa&s=01DAEE7AC8A03E98463FC6170300C0E6

不需要抛弃Excel,但是Jupyter Notebook是更好的数据分析工具!

Python/Jupyter最重要的十个优点:

强大的数据操作能力——Python/Jupyter是数据科学家的工具箱!

先进的可视化能力——再也没有无聊的表格!

更好的用户体验

大规模数据集处理——再也不会崩溃!

运行管理——利用多线程处理

测试驱动开发——注重质量!

可开源——“有专门的库来处理这个问题!”

可追踪错误

更简单的自动化

自我文档化——不要低估这一功能的价值!

023b5bb5c9ea15cecd8992f844741ef63b87b252.jpeg?token=5da5e346d543bb26a7c9b4c70f943e5d

如何开始

进入这一领域的新人可能会被吓倒。但是编程并不是学习语言的句法,而是学会使用正确的语言和工具——也就是Python和Jupyter——来解决问题。

bd3eb13533fa828b66a272230f6b6531950a5ae3.jpeg?token=74b09d1666e3b119b872fe004c724316

留言 点赞 关注

我们一起分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值