前言:
此时你们对“java电子表代码”大概比较关心,我们都需要了解一些“java电子表代码”的相关文章。那么小编也在网上收集了一些对于“java电子表代码””的相关知识,希望看官们能喜欢,姐妹们快快来学习一下吧!全文共3246字,预计学习时长8分钟
如果你从事的是商业交易或者在金融机构工作,Excel是必备技能。
你可以用它分析价格及其他tick数据、评估投资组合、计算风险价值、进行事后检等等。你熟练掌握数据透视表、Excel公式、图表甚至是VBA和PowerQuery。这使你可以快速执行一个方案。
但是在你意识到之前,电子表就会扩张成为几十个结构复杂的表格和混乱无序的VBA代码时,读懂和维护这些表格将变得极其困难。并且如果按下F9刷新的话,等待的时间甚至足够喝完一杯茶(如果这期间电脑还没崩溃的话)!
上面的陈述听起来是不是很熟悉?你恐怕正在疯狂点头。
尽管电子表格十分有用,但要用来分析数据的话,它并不能提供寻求的所有答案。让我们看看Excel如此流行的原因及其不足之处,以及最重要的使用Jupyter Notebook这一强大的分析工具来代替Excel的原因。
我们的目的是,让Excel做Excel擅长的事,把分析和自动化交给Python和Jupyter Notebook。
Excel的优势
Excel有几大优势。最值得一提的就是带有内建函数的反应计算模型,它使得Excel简单而又强大。电子表就像一块空白的幕布。一个“业余程序员”可以使用Excel的专用语言(也就是公式和VBA)在电子表中编写代码。
银行利用各式各样的信息技术系统来执行关键业务流程。然而有越来越多的影子IT以电子表格的形式出现,它们补充了核心信息系统的功能,并充当新的商业计划的默认工具。企业系统不够灵活,无法适应动态金融环境下产品从雏形到进入市场的时间,而Excel解决了这一问题!
尽管Excel非常便利,但它就是最合适的方法吗?
Excel在企业中扮演的角色应该被重新定义。
Excel的劣势
在涉及大量数据的、高级的、响应式的分析过程中,电子表格并非合适的工具。
下面是某些Excel重度用户面临的问题:
· 级联错误:Excel臭名昭著的问题之一是错误可能会沿着列传播,最终波及整个电子表,就像一个雪球引起一场雪灾。可怕的是,有些错误发现时已经无法补救。有不少这样造成重大损失的案例。
· 可扩展性:Excel表格中的行列数量有限。处理规模呈指数级增长的数据集时,电子表将很快用尽存储空间或占用大部分的中央处理器。这种情况的出现将极大提升数据污染的风险。
· 功能:在复杂的工作表中,改变一个数字可能影响数以百计的重复计算。Excel需要花费时间来重新计算每一个结果。当影响达到一定量级,不仅电子表本身的运行会变得缓慢,其他所有需要占用存储空间的应用都会受到影响。
· 测试:电子表的正确性几乎不可测试,也难以证明后续更改没有造成其他影响。
· 可追踪性/排除故障:即使微小的变化也可能严重篡改复杂的公式。这样微小的改变极难找到和修复。
· 包含一切:数据和算式都存储在Excel文件内并在本地计算机上运行。这意味着合作受到限制,版本控制像噩梦一般困难。并且数据将在最后一次更新后保持不变,而不是随着情况变化实时更新。
传统软件早已在几十年前解决了上述所有问题。
最后一点,也是很重要的一点:
· 操作风险:所有的电子表最初都是小型的,易于维护的算式。但是有些电子表会变成永久的,企业级别的方案。它们被用于大量的业务流程,但由于无法看到数据的全貌,很难保证许多金融、运算和监管过程的完备性。
你好,程序员;再见,交易者
传统来说,银行把定量交易团队分为定量分析交易者和定量分析开发者。前者提出想法,后者把这些想法写成可执行的代码。如果你既是一个交易者又是个专业的程序员,那么这种划分就不再必要。这让你获得了竞争优势:一方面银行希望尽可能减少支出,从而降低了失业风险;另一方面你可以把自己的交易模型投入实践,利用时间优势获取利益。一些单调的任务可以自动处理,这使你获得解放,而且编程实际上非常具有创造性!
这也是为了跟上时代。越来越多的年轻交易者具备在大学中学到的编程知识。所以如果想要保持就业竞争力,你也需要参与其中。
如何用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成为一个实时数据分析平台。
Excel VS Jupyter
所以你可能会想:
我还应该使用Excel吗?当然!电子表依然是处理下列情况时的最佳选择:
· 不那么注重正确性和准确性
· 数据规模不太大(对可扩展性没有要求)
· 不需要实时更新
· 把Excel作为草稿本,快速整合原型
· 不需要长期维护
你需要这样一个工具——它能够支持快速开发,保证正确性和可扩展性,与此同时拥有和Excel一样的反应模型。而这就是Jupyter Notebook提供的功能。
不需要抛弃Excel,但是Jupyter Notebook是更好的数据分析工具!
Python/Jupyter最重要的十个优点:
✔强大的数据操作能力——Python/Jupyter是数据科学家的工具箱!
✔先进的可视化能力——再也没有无聊的表格!
✔更好的用户体验
✔大规模数据集处理——再也不会崩溃!
✔运行管理——利用多线程处理
✔测试驱动开发——注重质量!
✔可开源——“有专门的库来处理这个问题!”
✔可追踪错误
✔更简单的自动化
✔自我文档化——不要低估这一功能的价值!
如何开始
进入这一领域的新人可能会被吓倒。但是编程并不是学习语言的句法,而是学会使用正确的语言和工具——也就是Python和Jupyter——来解决问题。
留言 点赞 关注
我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”
标签: #java电子表代码 #java电子表程序编写