「这是我参与 2022 首次更文挑战的第 29 天,活动详情查看:2022 首次更文挑战」
君子以见善则迁,有过则改。
前言
前文已经讲述了股票的相关建模以及数据获取,现在已经可以根据 k 线信息进行图形的绘制,那么能不能对场外基金的也进行数据的抓取,然后绘制走势图进行分析呢,这是一个好问题,答案是肯定的,那么今天就利用公开的场外基金净值信息绘制基金的走势图,计算均线数据,就可以使用股票分析的那一套技术形态来分析基金了,是不是觉得很赞?
获取基金的净值信息
本次以方正富邦保险主题指数(167301) 为例进行数据的展示和说明:
# 基金净值信息地址
http://fundf10.eastmoney.com/jjjz_167301.html
如下图所示,要获取净值的日期和单位净值的数据,在页面的低端看到了分页,通过之前的经验,获取净值明细的数据是可以通过接口来获取到的,通过查看浏览器的控制台,就可以得到接口的数据:
# 获取净值数据接口,需要传入基金代码信息查询的开始日期和结束日期
http://api.fund.eastmoney.com/f10/lsjz?
fundCode=167301&pageIndex=1&pageSize=1000
&startDate=2020-01-01&endDate=2030-01-01
通过对比接口返回的数据和页面展示的数据,我们可以知道:
数据信息是在 Data.LSJZList 节点下
FSRQ 净值日期
DWJZ 单位净值
通过以上的分析,我们已经大体知道了数据如何获取,依旧使用 requests 来获取基金的净值数据,这里在请求数据时需要加上请求头信息才能正确的获取数据:
{
"Referer": "http://fundf10.eastmoney.com/"
}
获取基金净值信息代码如下,在获取数据后则需要对净值数据进行转换:
基金数据图绘制
根据前文讲述的基金净值数据,需要将数据进行转换,然后再使用 talib 进行均线的数据计算,然后再使用 matplotlib 将收盘价的数据、均线的数据进行绘制。
最终绘制的数据图如下:
总结
在本文中根据基金的净值数据,利用金融分析包 talib 计算均线数据,并利用 python 绘图工具来绘制数据,也可以根据此图绘制 macd 和 kdj 的图形,有了绘图数据的支持,则可以根据计算的数据进行模型的建立,就可以根据选股的技术分析来分析基金了。