前些日子一个喜欢买基金的老哥为怎么买基金犯愁,自己没有工具也不会技术,进基金群又怕被当韭菜收割,但不买心里又痒痒,买了十几年了,自己去选风险又比较大......
看着他的一个本子密密麻麻地写了一大堆东西,全是基金的分析,一大把年纪了挺不容易的,于是就决定帮他一把,在跟他详谈了买基金的一些情况之后(因为我是不懂这个的),按照他的要求,我用Python直接给他选出来他想买的好基金。
这几天他特意到我家来感谢,还特意提了2瓶酒,因为在我给他筛选的基金名单中,他选中后买的基金已经赚了,抽出了本金还剩一些还放在里面养着。
今天我把如何用Python选出好基金的方法分享给大家,希望能够帮助到一些喜欢买基金的朋友。
1. 获取基金排名信息,使用四四三三法则筛选排名靠前的基金
天天基金网上有基金的排名,可以用Python爬虫程序进行抓取和筛选。四四三三法则即挑选出3年/2年/1年的排名在前四分之一,6个月/3个月的排名在前三分之一的基金。
URL参数释义:
返回值如下:
Tips:以上内容实际只需要datas后面的值,这个例子里可以看到最近1年共有5053支基金。那么排名四分之一就是在25%*5053=1263支基金。(返回数据已经按照从高到低进行了排序,抽取前n支基金即可。)
这样就把数据抽出了。当然,只是部分。需要循环把数据补充完整。dataframe 内的数据是这样的。
2. 获取网上的基金的基本信息和夏普比率,筛选出夏普比率高的基金。
通过四四三三法则挑选出排名靠前的基金共有171个。需要继续进行筛选。目标是从171支基金里选出20支基金。规则是资金规模超过1亿的高夏普比率的基金。
同样从天天基金网获取资金规模和获取夏普比率。URL如下:
http://fund.eastmoney.com/f10/006279.html
http://fund.eastmoney.com/f10/tsdata_006279.html
把上述两个dataframe拼接
把3年/2年/1年/6个月/3个月的排名乘上权重(0.3/0.25/0.2/0.15/0.1)计算综合排名并排序。取前50条数据。
取排名前20
导出为csv格式文件(类似Excel的文件)
经过以上步骤就成功挑选出了最好的排名前20的基金名单,再此祝各位不再被噶韭菜,基金一路红红红~!
不过还是得提醒大家,这只是比人工去分析和判断省时省力以及稍微精准一些,但不排除数据也会骗人,说不好你所看到的正是别人安排好的,投资有风险,入市需谨慎。