阿里巴巴股票行情数据分析
一.数据来源:
1.阿里股票历史数据下载:https://www.nasdaq.com/symbol/baba/historical
2.也可以抓取雪球等股票app的数据
3.阿里股票走势图:https://xueqiu.com/S/BABA
4.道琼斯走势:https://xueqiu.com/S/.DJI
二. 背景
投资股票作为一种高风险高收益的投资理财手段,越来越受到投资者的青睐,面对波谲云诡的股市,越来越多的客户寻求基于科学数据分析探索股票行情的帮助。作为全球最大的电商企业,阿里不仅在美股上市,如今更是回到港股准备二次上市了。本项目基于python的数据挖掘、清洗、分析该股票的一段时间内的行情走势,并讨论了一般股票的买卖策略,同时以生动的投资模拟案例佐证了该股票作为长期持有的可行性,为投资理财的客户提供一些经验与建议。
三. 数据概况
3.1 数据整体描述


3.2上涨下跌的天数
上涨的天数:

下跌的天数:


由数据知在统计的755天的周期内,上涨天数为395天,下跌的天数为360天,在该周期内的上涨天数比为52.32%,说明阿里巴巴股票的整体表现良好。
3.3将日线转换为周线
什么是周线
就是一周的K线,以周一开盘价为周线的开盘价,以周五收盘价为周线收盘价。以一周内最高价为周线最高价,以一周内最低价为最低价。

其中loadtxt方法有一个converters参数,可以利用自定义的函数把string做转换:

得到排列如下:

随后进行倒序排列

同时我们需要按照每周去分组,先找到星期一的数据的索引:

得到:

再按照周一去分组,split返回给定索引的分组,可以指定任意间隔的索引,所以split以一个list的形式返回:

为了简单起见,我们这里只使用一周数据只有五天,每个星期的数据都是一样的了,我们在把它转换成ndarray:

转化可知,总共是114周,每周有五天,每天有五个数据;
我们把一周的数据放到一行,可以直接用转置矩阵:

我们再先查看以下数据,将索引转换为datetime形式,然后将数据中最近的日期排在前面,按照日期重新排序:

得到对应的日期及收盘价:

由此可以引出我们对于股票的买卖策略,以下是股票买卖策略的分析。
3.4买卖的策略
3.4.1策略一:股价超出10日均线买入,跌破十日均线卖出
先计算10日均线数据

得到结果如下:

再探究10日买卖的买点与卖点:



由此可得一个股票的策略:当对应日期的值由false向true转换时是卖点时间,true变成false就是买点时刻!
特别注意的是,第一个值False,第二个值是True,在True的时候买入,我们需要自定义一个移动窗口处理函数。因为卖的时候还需要定义类似的函数,所以这里把这两个函数放在一起,可以在自定义函数中print一些信息,例如w值,以方便调试---这也是调试的一种方式

得到:


由此我们还可以得到具体的买卖点:

得到买点:

及卖点:

虽然买和卖的索引值不一样,但数据都有63条,所以可以删除时间索引信息

我们还可以看到每次交易的盈利情况

由此可以得到大体的数据:

及总的利益

由数据可知总利润是36.07,注意这是每次买和卖一股的利润(买固定的股数),三年的时间交易了63次;最多投入210.86,平均投入143.366954,按最高投入算利润率(36.07 / 210.860000),年化差不多5%,按平均投入算0.2515,年化将近8%,当然还有手续费没有算。
3.4.2由此引申以下例子:
假如有1w美元,最终盈利是多少:


最后剩下13799.294014,年化10%多点,说明收益还不错!
3.4.3如果加上每次交易金额的万分之三手续费


最终金额13540.898129,整体收益还不错,说明该股票是值得长期持有的潜力股,或许将时间线放长可发展为白马股。
四. 总结
1通过Python数据清洗处理,我们将看似杂乱无章的股票数据整理得有规矩可循,包括将日线转换为周线,找到数据索引分组切片,转置矩阵等等;
2.由股票数据分析,我们总结处股票买卖策略:股价超出十日均线买入,跌破十日均线卖出,通过数据分析科研精确求出股票的买点和买点;
3.由数据案例分析,我们可以看到阿里巴巴的股票整体收益不错,是值得长期持有的潜力股,或许将时间线放长可发展为白马股。
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ15101117,本站将立刻清除。