资源下载地址:https://download.csdn.net/download/sheziqiong/86169088
资源下载地址:https://download.csdn.net/download/sheziqiong/86169088

数据爬取

晨星列表数据

爬取筛选列表,包括基金代码,基金专属代码,基金分类,三年评级,五年评级这些维度等,有了这些基本数据,为了爬取基金详情页,基金筛选等铺好数据基础。

列表爬取数据截图:

基金详情页数据–不变数据

爬取基金详情页的数据, 根据列表数据 数据,遍历爬取单支基金的详情页数据(包括名称,代码,分类,成立时间,基金公司)等维度,后续还有根据这些数据爬取基金的持仓信息,为后面筛选股票做好进一步铺垫

基金详情页数据–季度变动数据

爬取基金详情页的数据, 根据第二部分基础数据 数据,过滤掉货币,纯债基金,爬取单支基金的详情页数据(包括总资产,投资风格,各种风险信息,评级,股票,债券持仓比例等)等维度

基金详情页数据–十大持仓股票信息

爬取基金详情页的数据, 根据第二部分基础数据 数据,过滤掉没有持有股票的基金,爬取单支基金的十大持仓股票信息(包括每只股票的代码,名称,占比)等维度

基金经理

爬取基金详情页的数据,据此爬取基金经理数据

技术点

  • selenium 模拟登录, 切换分页
  • BeautifulSoup 解析 HTML
  • pandas 处理数据
  • 工具 — 数据库用了pymysql , id 使用雪花 id,验证码识别使用了pytesseract
  • 多线程爬取

爬虫流程

  1. selenium 模拟登录:

    • 可采用验证码识别方式
    • 设置已经登录好的账号 cookies
  2. 利用BeautifulSoup 解析 html,提取当前页的基金列表信息,存入到 mysql 中,或者追加到 csv 中 (目前仅 acquire_fund_snapshot.py 支持导出 csv)
  3. selenium 模拟切换分页,重复第二,第三步
  4. 所有的页数据爬取完,退出浏览器

本地运行

本地运行前置条件:

  1. 安装好 chromedriver 驱动(版本需要和你本地电脑 Chrome 浏览器版本一致), 安装 tesseract(识别二维码需要,如果是用 cookies 方式则不需要) 并将 tesseract 加到环境变量下,运行报错的话可能没有安装训练库,可参考https://stackoverflow.com/questions/14800730/tesseract-running-error,如果是需要连接数据库的话,还要配置好表结构

  2. 如果需要存数据到数据库,需要建好对应表结构,(运行acquire_fund_snapshot.py可以存在 Excel,其他目前都是存在数据库中)

  3. 从环境参数模板(.env.example)中复制一份文件(.env),修改本地环境变量

    cp .env.example .env

    根据自己情况改环境变量值,例如晨星用户名,密码,执行特定的爬虫脚本

  4. 运行 – 先按顺序运行acquire_fund_snapshot,acquire_fund_base, acquire_fund_quarter获取数据源,后面根据自己需要运行统计,分析文件

文件目录介绍

.
├── .env                         #本地环境配置参数
├── .env.example                 #环境配置参数模板实例
├── .gitignore
├── README.md
├── requirements.txt
└── src├── acquire_fund_base.py     # 爬取基金基础数据-- 一些不变动的数据,例如成立时间├── acquire_fund_quarter.py  # 爬取基金季度变动 -- 例如持仓数据├── acquire_fund_snapshot.py # 基金列表快照数据 —— 列表数据├── fund_info_supplement.py  # 执行补充维度清算,总资产信息├── fund_statistic.py        # 基金重仓股分析├── fund_strategy.py         # 高性价比基金筛选├── assets                   # 一些静态资源,例如星级图片│   └── star│       ├── star0.gif│       ├── star1.gif│       ├── star2.gif│       ├── star3.gif│       ├── star4.gif│       ├── star5.gif│       └── tmp.gif├── fund_statistic.py        # 统计数据├── db│   └── connect.py           # 连接数据库├── fund_info│   ├── api.py               # api 基金信息爬取,主要是补充crawler不到一些信息│   ├── crawler.py           # 基金页面爬取│   ├── statistic.py         # 基金统计│   ├── csv.py               # 基金存为csv│   └── supplement.py        # 补充或者更新基金清算,总资产维度信息├── lib├── outcome                      # 数据成果整理子项目│   └── mysnowflake.py       # 雪花id生成└── utils.py                 # 一些工具函数,比如登录,设置cookies等├── __init__.py├── cookies.py├── file_op.py├── index.py└── login.py

提示: 首次执行时先执行 python ./src/acquire_fund_snapshot.py, 因为列表快照数据是其他数据的来源

其他

涉及到一些细节有:

  1. 验证码识别错误的话,怎么处理
  2. 切换分页如果是最后一页时,怎么处理下一页点击
  3. 晨星评级是用图片表示,如果转化成数字表示
  4. 如何保证循环当前页与浏览器当前页一致
  5. 多线程爬取时,线程锁

以上问题,我都做了相对应的处理。

数据汇总&分析

基于上面的数据,简单做了如下数据汇总

性价比高的名单统计

根据基金评级,基金成立时间,基金夏普比例,基金经理从业时间等指标,从几千只股票中选出几十只性比价高的基金,如图所示:

至于”性比价“的定义,大家可以看下面这篇文章
精心整理,给大家汇总一批性价比高的基金名单

基金重仓股

统计股票在这些基金中出现的频率,筛选出 top 50,可用于投资理财辅助,如图:

在基于上面的汇总数据,做出如下分析结果,得到 2021-Q1 与 2020-Q4 的基金重仓股 Top50 持仓结果对比,可以分两个维度排序,一个是基金持有个数,一个是持有总市值:

个股基金持仓明细

上面我们知道了基金重仓股排名,我们当然也可以统计某一只股票的基金持仓明细,如图所示,中国平安基金持仓明细:

中国平安的基金持仓明细,按基金持有市值排序,其部分数据截图如上。
资源下载地址:https://download.csdn.net/download/sheziqiong/86169088
资源下载地址:https://download.csdn.net/download/sheziqiong/86169088

基于Python的基金数据汇总分析相关推荐

  1. 基于python的电影数据可视化分析与推荐系统

    温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从国外某电影网站和国内某电影评论网站采集电影数据,并对电影数据进行可视化分析, ...

  2. 基于Python的电影数据可视化分析系统 设计报告+答辩PPT+项目源码

    目录 引言 2 1.1 编写目的 2 1.2 读者对象 2 1.3 软件项目概述 2 1.4 文档概述 2 1.5 定义 2 1.6 参考资料 3 软件的一般性描述 4 2.1软件产品与其环境之间的关 ...

  3. Python基金数据实战分析:偏债混合基金篇

    Python基金数据实战分析:偏债混合基金篇 如何从众多的基金中选择适合自己的 需求场景 从基金网站获取基金代码 先整体看一下基金情况 获取所有混合C基金的历史净值数据 分析混合C基金 画线图予以核实 ...

  4. R语言dplyr包summarise_if函数计算dataframe数据中所有数值数据列的均值和中位数、基于条件进行数据汇总分析(Summarize all Numeric Variables)

    R语言dplyr包summarise_if函数计算dataframe数据中所有数值数据列的均值和中位数.基于条件进行数据汇总分析(Summarize all Numeric Variables) 目录

  5. python毕业设计开题报告-基于python爬虫的影评情感分析研究开题报告

    论文(设计)题目 基于python爬虫的影评情感分析研究开题报告 选题的背景.意义及研究现状: 研究现状: 文本情感分析又称倾向性分析.情感挖掘,主观分析或评论挖掘,是对带有情感色彩的评论文本内容进行 ...

  6. 基于数据挖掘的疾病数据可视化分析与预测系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 随着医院信息系统(HIS)在全国各大医院的推广和应用,会有大量和病人相关的临床数据每天在医院中记录, ...

  7. 基于python的城市旅游数据采集分析系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从某旅游网站爬取各城市的景点旅游数据,根据旅游网的数据综合分析每个城市的热度. ...

  8. 基于python的Nginx日志管理分析系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 本项目利用 pandas + sklearn 对 Nginx 的日志数据进行统计分析,并利用 fla ...

  9. 基于 Python 的招聘信息可视化分析系统

    温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目简介 本项目利用 Python 从某招聘网站抓取海量招聘数据,进行数据清洗和格式化后存储到关系型数据库中( ...

最新文章

  1. springcloud基于ribbon的canary路由方案
  2. Win10双系统设置默认启动系统的图文教程
  3. request获取各种路径 转,记下来免得 以后忘记了。
  4. 2.2.4 操作系统之作业/进程调度算法(FCFS先来先服务、SJF短作业优先、HRRN高响应比优先)
  5. CodeForces - 1102A(思维题)
  6. Codeforces Round #365 (Div. 2) D. Mishka and Interesting sum (离线树状数组+前缀xor)
  7. 华岗(1977-),男,博士,宁波市智慧城市规划标准发展研究院副研究员.
  8. Starling 动画功能
  9. Leetcode 刷题笔记(三十) ——动态规划篇之子序列问题:回文
  10. 计算机知识选择题库,计算机基础知识篇选择题库
  11. 输出保留3位小数的浮点数
  12. 将通达信的背景设置成白色
  13. win10安装(U盘启动)
  14. CKEditor富文本编辑器使用
  15. 一位基金经理的投资减法:少看研报多读书,少搞勾兑多数数;少跑调研多呼噜,少开晨会多开悟
  16. js的document对象及操作
  17. 知网文献nh、caj格式文件转成pdf
  18. 蓝桥杯T32(树的直径)
  19. 响应式织梦模板家具家居类网站
  20. 自动化脚本Cron工具(MAC和Linux系统)

热门文章

  1. 点击链接新窗口打开页面
  2. Jetson 学习笔记(五):pb转uff---pb转onnx转trt----pth转onnx转pb
  3. IDEA生成jar工具包
  4. 00 C++ UML类图详解
  5. NYU V2数据集提取数据
  6. Vertu手机决定采用Android系统
  7. 入门级运动蓝牙耳机之好评之王!
  8. Java 使用iframe的简单功能页面
  9. 其他:Pycharm 常用快捷键
  10. AndroidStudio0.5.5发布