python爬虫爬取股票的北上资金持仓数据
作者:??斜月???? 时间:2023-11-18 20:44:56
前言
前面已经讲述了如何获取股票的k线数据,今天我们来分析一下股票的资金流入情况,股票的上涨和下跌都是由资金推动的,这其中的北上资金就是一个风向标,今天就抓取一下北上资金对股票的逐天持仓变动和资金变动。
数据分析
照例先贴一下数据的访问地址:
# 以海尔智家为例贴一下数据的页面连接地址,再次吐槽一下拼音前缀
https://data.eastmoney.com/hsgtcg/StockHdStatistics/600690.html
下图就是北上资金逐天的访问数据页面,我们要抓取的是持股数量、持股市值、持股百分比和市值变化信息。
通过浏览器后台的接口可以看到这样一个接口数据:
这个接口的参数为:
# 请求地址数据,这里的参数和请求的不太一样,因为其它的参数我试过了,可以忽略掉,以下是必要参数
https://datacenter-web.eastmoney.com/api/data/v1/get?
# 排序字段和排序的类型, -1 为倒序排列
sortColumns=TRADE_DATE
&sortTypes=-1
# 后两个参数比较简单,就是分页参数而已
&pageSize=50
&pageNumber=1
# 报告类型,固定为北上资金数据
&reportName=RPT_MUTUAL_HOLDSTOCKNORTH_STA
# 返回的数据列,默认返回所有
&columns=ALL
# 获取数据参数为股票代码和交易日期
&filter=(SECURITY_CODE="600690")(TRADE_DATE>='2021-10-29')
数据抓取
我们已经解析了获取资金的参数,以下就是使用 python
来获取数据,并进行展示。我们依旧使用 requets
来获取数据。
我们需要先组装请求的参数,这里的 fliter 只传入了代码,日期选择了固定,这个个人感觉是查询的 ES ,不然不会这么传入参数,建议做个参数转换吧,这样直传不太好。
数据查询返回的结果是json
格式,进行了解析后我们采用 prettyTable
打印结果。
由于获取的数据没有经过格式化,显示的位数比较长,所以对持股数和市值之类的数据进行了格式化展示,
代码如下:
# 如果是亿级的就格式化为亿,万的话格式化为万
def cal_num(num):
if abs(num / 100000000) > 0:
return str(round(num / 100000000, 3)) + "亿"
else:
return str(round(num / 10000, 3)) + "万"
最终我们得到的结果如下:
建立模型
我们已经获取到了股票的北上资金的情况,我们建立一个简单的模型筛选一下:
1 选取最近一个月内北上资金连续加仓的股票,加仓幅度超过流通股份的1%。
在这个模型中,我们可以根据最近一个月每天的持仓百分比建立线性规划模型,y = kx + b
来计算斜率和截距,但是这个觉得有点儿复杂了,我们可以简化一下,就偷个懒计算当天的持仓量与一个月前的持仓比例差值即可,
具体代码如下:
# rate_list 为持股比例的集合,将 ratio 添加进集合中,这里为什么是22呢,
# 一般情况下一个月有22个交易日,所以减去22就是一个月前的持仓比例
def cal_model(rate_list):
if len(rate_list) >= 22:
cur_node = rate_list[0]
pre_node = rate_list[22]
return cur_node - pre_node
return -100
来源:https://juejin.cn/post/7059030392308760583
标签:python,爬取,股票,资金,数据
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
BootStrap创建响应式导航条实例代码
2023-08-09 02:09:55
![](https://img.aspxhome.com/file/2023/4/56054_0s.gif)
Go语言正则表达式示例
2023-04-13 19:41:34
python字典多条件排序方法实例
2023-06-22 03:43:07
去除新云CMS文章列表前的小圆点
2008-09-27 13:36:00
![](https://img.aspxhome.com/file/UploadPic/20089/27/2008927133830362s.jpg)
Java正则表达式的基本用法和实例大全
2023-04-14 06:17:22
![](https://img.aspxhome.com/file/2023/8/90028_0s.png)
python 基于Apscheduler实现定时任务
2022-03-29 00:53:32
Python3 MySQL 数据库连接的使用示例
2024-01-21 18:15:40
Python实现免费音乐下载器
2023-12-26 23:51:16
![](https://img.aspxhome.com/file/2023/3/97213_0s.gif)
SQLServer中bigint转int带符号时报错问题解决方法
2024-01-16 00:13:01
pytest conftest.py文件的使用讲解
2023-10-16 14:22:44
![](https://img.aspxhome.com/file/2023/9/71479_0s.png)
JS中怎样判断undefined(比较不错的方法)
2024-04-19 09:54:20
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2022-11-08 00:54:03
![](https://img.aspxhome.com/file/2023/9/80619_0s.png)
PostgreSQL COALESCE使用方法代码解析
2024-01-28 19:55:01
goland中文件头自动注释的操作
2024-05-05 09:32:50
![](https://img.aspxhome.com/file/2023/9/127469_0s.jpg)
网页设计标准尺寸参考
2007-12-29 20:42:00
mysql的日期和时间函数
2024-01-22 12:46:18
如何运行Python程序的方法
2023-01-13 07:56:03
![](https://img.aspxhome.com/file/2023/6/86686_0s.jpg)
ASP进阶学习之认识数学函数
2007-10-08 13:15:00
python求列表对应元素的乘积和的实现
2023-05-13 15:10:24
使用 Django Highcharts 实现数据可视化过程解析
2022-12-27 19:18:51
![](https://img.aspxhome.com/file/2023/8/99238_0s.png)