时间:2023-02-13 10:22:43 | 栏目:Python代码 | 点击:次
在前面的章节中我们牛刀小试,一直在使用python爬虫去抓取数据,然后把数据信息存放在数据库中,至此已经完成了基本的基本信息的处理,接下来就来处理高级一点儿的内容,今天就从基金的趋势分析开始。
基金的趋势,就是选择一些表现强势的基金,什么样的才是强势呢?那就是要稳定的,逐步的一路北上。通常情况下,基金都会沿着一条趋势线向上或者向下,基金的趋势形成比股票的趋势更加确定一些。 以下图为例,展示的是华夏中证新能源汽车ETF的走势情况,可以看到这个基金的走势基本上就是按照红色的趋势线。今天要做的就是使用数学-线性回归的方式来计算这个趋势的斜率以及趋势表的可靠性。
这里分析基金走势的模型采用线性回归,假定其走势符合 { y = kx + b }y=kx+b , y 就是对应的收益率, x 为时间。k 值为斜率。现在要做的就是使用这组基金的数据计算这个k值,这样就可以使用这个k值进行基金的对比。
抓取基金数据历史收益率的数据
# 抓取基金历史收益率数据连接 http://api.fund.eastmoney.com/pinzhong/LJSYLZS?fundCode=515030&indexcode=000300&type=y # 参数说明 fundCode 为需要查询的基金代码 indexcode 基金对比基准数据,默认为沪深300(000300) type 为数据查询的周期,m 一个月 q 3个月 hy 6个月 y 一年 try 3年 fiy 5年 sy 今年来 se 最大 复制代码
在api接口返回的数据中,0 代表的是基金数据, 1 是同类基金的平均值,2 为沪深300的数据。
具体的实现代码见图:
数据分析的方式使用 matplotlib
和 sklearn.linear_model
,第一个是用于数据的图形展示,第二个是线性分析工具,用于计算基金的k值。有关线性分析的内容,有兴趣的可以去查询线性分析的计算细节。
如下图所示,为数据模型计算和图形展示的代码。
以新能源ETF数据为例,我们得到了 y= 0.3541x + b 的趋势线,这个线性模型的评分为0.741。其实这个评分已经相当高了,收益率越大,其波动越大,和线性规划的契合度就越低。
但是有没有例外呢,以天弘增利短债C(008647)为例,其评分相当高,看图形展示就可以知道,但是债券基金的k值比股票基金的k值比是相当的低,高风险,高回报,低风险,低回报。收益是对风险的补偿。
在这一章中,介绍了使用线性规划的方式分析基金的趋势情况,并使用量化分析的方法进行基金的分析和筛选。最后可以使用这个方法对所以的基金进行分析,筛选出趋势性强的基金进行投资。