Python数据分析之股票走势(python及数据分析基础ppt)

资讯 sddy008 2023-03-22 16:08 1391 0

本篇文章讲了用python爬取六家公司的股票数据,分析股票走势、波动性、涨幅等,最终得出一点点结论。

一、包的安装

Python进行数据分析时,有几个包比较重要,所以需提前把这几个包安装好。

pandas包用于分析数据,pandas-datareader用于读取互联网股票数据,matplotlib包用于绘图。

Anaconda下在自己的运行环境中用conda install 命令安装这几个包,比如用的base环境就安在base下,用的自己建的py3环境就安在py3下(activate py3进入环境,conda list显示已经安装的包,如果没有,conda install ... 安装)

二、获取数据

准备工作做好了,第二步当然是导入包,然后建立一个有六只股票及股票代码的字典:

然后,给出获取数据的始末时间start_date和end_date,在此选取了从2017-01-01到2018-01-01一整年(当然你也可以爬取其他时间的),然后获取数据。

本来打算从雅虎财经上获取数据,但是报错了,后来查询发现是雅虎的API出现了问题。

于是换其他数据源,这里付一个网址:Remote Data Access

终于从morningstar成功获取到了数据,但是好慢好慢......

阿里巴巴的获取了之后,获取谷歌的怎么也获取不来了,每次都卡成星号*,然后换从iex获取,顺畅了很多!!!

每个都是251条数据,与从morningstar获取的(261条)不同,并且注意open、close、volume都变成了小写(morningstar获取的是大写),在后面定义函数的时候要注意大小写之分。为了统一,把阿里巴巴的又从iex重新获取了一遍。

最后获取腾讯股票数据的时候,一直显示股票代码不对,试了好多遍无果,最终手动从Excel中导入了数据......并且为了统一 方便后续操作,提前把Excel中的“close”也改成了小写。

从获取的描述统计数据中,可以简单地看出平均值、标准差、最低值、下四分位数、中位数、上四分位数、最大值,可以对股票市值大小和波动性有个初步了解。比如谷歌和亚马逊平均值都在九百多,比阿里巴巴的一百四十多高了好几倍;谷歌的标准差是77,亚马逊107,相比而言,谷歌比亚马逊要稳定一点,阿里巴巴的标准差32,但不意味着比前两者更稳定,因为基数小,所以股票的稳定性/波动性还要结合基数来对比。

三、股票涨幅计算

人们投资股票,最关心的就是股票涨幅了,下面就定义函数,计算一年以来各股票的涨幅:

然后调用函数,就可以看到各支股票的涨幅了:

(因为一开始从morningstar上获取的描述统计数据“Close”是大写,所以一开始这里也是写的大写,当换从iex获取数据之后,这里就运行错误了,当然,改成小写“close”之后就立马OK了。这也说明了前后代码的一致。)

腾讯的数据一共有248条,重新定义了一遍函数(其实就改了一个地方)计算它的涨幅:

由此可见,2017年一整年间,腾讯累计上涨了114.36%,涨幅最大,其次是阿里巴巴,累计上涨94.62%,这两支股票最突出,其他也均实现了上涨,涨幅百分之三十多到五十多不等,2017年表现还都不错。

下面绘图更清晰地展示。

四、股票走势图

导入之间安装的matplotlib包,以六支股票的收盘价为纵坐标作股票走势图。

为了展示地更清晰,将上面两支单独拿出来:

这两支股票在前三季度齐头并进,都在上涨,而在最后两个月,亚马逊涨幅更大,胜过谷歌。

谷歌的标准差(std)比亚马逊小一点,即波动性小一点,但是涨幅也不如亚马逊,你买哪一个呢?其实在股市,收益与风险(波动性)成正比,高收益意味着高风险,想要高收益必须承担对应的高风险,从来没有收益高风险又低的“神股票”,所以投资股市一定头脑清醒,理智+慎重选择。

如何保持头脑清醒呢,建议风险投资不超过个人资产的20%,心理学研究发现,风险投资超过个人资产的25%时,你将无法对这部分资产熟视无睹......根据“凯利判据”,当你拿出20%的资产做风险投资时,已经是“押上全部”了......这里推荐一篇文章:

就算是“文盲”也千万别是“险盲”……

所以,20%是红线,是人保持头脑清醒的红线;其次就是进行长投,然后专注于做好自己当前的工作,不为某一时的涨落而乱了分寸。

另外,“鸡蛋不放在同一个篮子里”,同时买多支有潜力的股票也是个分担风险的不错办法。比如亚马逊和谷歌的你都买了,哪个涨的多你都是高兴的嘛~

然后,将剩下的四支再作一个图:

腾讯一枝独秀啊~~~均值比另外三支高,涨幅也大,如果你2017年投资了腾讯,赚翻了~~(翻了一番~)

为了看的更清晰,最后,将底下三个再拿出来重新作图:

蓝色的,阿里巴巴,涨幅最大,苹果和Facebook有点齐头并进的感觉,总体趋势非常一致,2017年表现也都非常好。

五、结论

综上所述,这六支股票(谷歌、亚马逊、腾讯、阿里巴巴、苹果、Facebook)在2017年里表现都不错,均有不同幅度的上涨;其中腾讯和阿里巴巴上涨幅度最大,腾讯114.36%,阿里巴巴94.62,并且是持续上涨,涨势也都比较稳,值得持续关注;谷歌和腾讯的走势很相像,但涨幅其实差别挺大(因为基数的原因)。从2017年的表现来看,这六支股票都可以考虑长期定投。但是其他年份可能没有2017年表现这么好,所以投资股市仍然需谨慎、需理性。

评论区