量化投资中经常使用Excel,可能会被同事打【邢不行|量化小讲堂54】(上)-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 考研考博>>

考研

>>

量化投资中经常使用Excel,可能会被同事打【邢不行|量化小讲堂54】(上)

量化投资中经常使用Excel,可能会被同事打【邢不行|量化小讲堂54】(上)

发布:邢不行 | 分类:考研

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

引言:邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助。【必读文章】:《10年400倍策略分享-附视频逐行讲解代码》《EOS期现套利,一周时间,15% ...
扫码加入金融交流群


引言:

邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助。

【必读文章】:《10年400倍策略分享-附视频逐行讲解代码》

《EOS期现套利,一周时间,15%无风险收益》

【历史文章汇总】:https://bbs.pinggu.org/thread-3950124-1-1.html


个人微信:xbx9585,有问题欢迎交流


量化投资中经常使用Excel,可能会被同事打


[img=1080,1080][/img]


这是邢不行第 54期量化小讲堂的分享

作者 | 方宁、邢不行


在量化研究中,使用Python处理数据之前,常常需要要先肉眼看一下数据,形成最直观的认识。

当你打开数据文件,99%的情况系统会默认帮你选择Excel打开,这是初学者最常用的表格工具,没有之一。确实在多数情况下,Excel可以很好的显示数据,也方便我们做初步的排序、筛选、作图。

但使用Excel也有一些隐藏的深坑,不注意的话很容易带来麻烦。

本文就来细数Excel的那些坑,并且提供解决方法。同时,也会推荐更适合在量化投资中,用来查看数据的工具。


[img=650,80][/img]


下面这张图就是上证指数日K线的一小段,注意看最后两列数据:



[img=444,202][/img]
Excel 列太窄的时候,会显示成“###”或省略掉小数部分


倒数第二列没有正常显示成交量数字,而是显示为“####”;

最后一列开盘价应该精确到小数点后三位,但图中只有整数部分。

这是数据的问题吗?要不要检查下数据来源重新采集数据?

答案是不需要。让我们看看文件数据本来的样子:



[img=742,188][/img]
真实csv数据的样子


我们发现原始数据跟Excel显示的很不一样,是不是感觉 Excel 吃掉了很多细节?如果我们不知道的话,很容易觉得是数据有问题,然后费劲心思重新爬了一遍,还是显示成这个样子。

但是其实数据好着呢,有问题的是Excel显示格式:你的数字太宽了,Excel忽略显示了部分内容。

这种情况也很好办:把你觉得显示不完整的列拉宽即可。


[img=216,233][/img]


[img=600,90][/img]

上文中倒数两列成交额和开盘价不是显示不完整嘛,我们手动拉宽这两列,然后成交额就显示成了下图中类似于1.2E+10这种格式:



[img=530,365][/img]
Excel 会使用科学记数法显示长数字


这和我们原始数据的中展示的仍然不一样。Excel这么显示的原因是因为当数字过大时,会默认使用科学计数法展示数字,以节省屏幕上显示的空间。

很多人不习惯用科学计数法来看数字,确实科学计数法只显示前几位有效数字,不方便我们形成对数据的直观感受。

不想看到科学计数法也很好办,分两步走:

1.把显示成科学计数法的列拉宽;

2.拉宽还不行的,选中整列,手动调整单元格格式,推荐直接设成文本。



[img=740,598][/img]
选中整列设置单元格格式




[img=580,580][/img]
推荐把单元格格式设成文本


[img=600,85][/img]

我们再来看一个日期格式的例子。

在原始数据中,日期是“年-月-日”这样的格式:



[img=610,174][/img]

原始csv数据,日期格式为 “年-月-日”


但是到了Excel里打开,日期就从“年-月-日”,变成了 “年/月/日”。


[img=604,162][/img]
用Excel查看csv文件,日期格式为“年/月/日”


这么显示是因为 Excel 会自动判断单元格的格式,一旦判断成日期的数据,就会自动转换成“年/月/日”的格式。

这个坑副作用很大:如果用Excel打开并保存了,日期的格式就会从“年-月-日”变成“年/月/日”,原本是我们常用的pandas可以直接识别的日期格式,转换之后就需要手动调用 pd.to_datetime 函数来处理。

针对这个问题,可以只用 Excel 打开,不用 Excel 保存,这样就只是看着不一样了,数据还是不变的。或者在单元格格式里设成“日期”类别里的“年-月-日”格式。


[img=600,85][/img]


有的时候,我们用Excel打开的历史数据所有中文都是乱码,遇到过的人都知道那是怎样一种绝望的体验:



[img=566,132][/img]
用Excel看某些csv文件中文是乱码


这是因为不同系统下中文的编码格式不同,unix/linux家族,包括mac、linux、ios、android系统默认使用utf8编码,windows使用的是GBK/GB2312编码。这两种编码的中文字符都是互不兼容的。

当我们使用Python读入导出数据时默认使用utf8编码,而不管是mac还是windows下的Excel都使用GBK编码,这就导致了Python导出的文件用Excel读中文会乱码的问题。



[img=640,391][/img]
不同编码问题的例子和原因


只要不使用Excel修改文件,对我们用Python量化分析就没有影响。不可避免地会干扰我们看数据:中文乱码了之后,我们就不知道每一列数据对应的是什么了,连哪列是开盘价哪列是前收盘价都不知道,很难形成对数据的直观认识。

而一旦用Excel打开发现是乱码,然后用Excel保存了之后,在Python里面读取中文也是乱码,到了这一步基本上就无药可救了。



「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-8295711-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。