脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - python爬虫爬取股票的北上资金持仓数据

python爬虫爬取股票的北上资金持仓数据

2022-12-16 11:34斜月 Python

这篇文章主要介绍了python爬虫爬取股票的北上资金持仓数据,文章基于python的相关资料展开爬取数据的详细内容,具有一定的参考价值,需要的小伙伴可以参考一下

前言

前面已经讲述了如何获取股票的k线数据,今天我们来分析一下股票的资金流入情况,股票的上涨和下跌都是由资金推动的,这其中的北上资金就是一个风向标,今天就抓取一下北上资金对股票的逐天持仓变动和资金变动。

数据分析

照例先贴一下数据的访问地址:

# 以海尔智家为例贴一下数据的页面连接地址,再次吐槽一下拼音前缀
https://data.eastmoney.com/hsgtcg/StockHdStatistics/600690.html

下图就是北上资金逐天的访问数据页面,我们要抓取的是持股数量、持股市值、持股百分比和市值变化信息。

python爬虫爬取股票的北上资金持仓数据

通过浏览器后台的接口可以看到这样一个接口数据:

python爬虫爬取股票的北上资金持仓数据

这个接口的参数为:

python爬虫爬取股票的北上资金持仓数据

# 请求地址数据,这里的参数和请求的不太一样,因为其它的参数我试过了,可以忽略掉,以下是必要参数
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 ,不然不会这么传入参数,建议做个参数转换吧,这样直传不太好。

python爬虫爬取股票的北上资金持仓数据

数据查询返回的结果是json 格式,进行了解析后我们采用 prettyTable 打印结果。

python爬虫爬取股票的北上资金持仓数据

由于获取的数据没有经过格式化,显示的位数比较长,所以对持股数和市值之类的数据进行了格式化展示,

代码如下:

# 如果是亿级的就格式化为亿,万的话格式化为万
def cal_num(num):
  if abs(num / 100000000) > 0:
      return str(round(num / 100000000, 3)) + "亿"
  else:
      return str(round(num / 10000, 3)) + "万"

最终我们得到的结果如下:

python爬虫爬取股票的北上资金持仓数据

 

建立模型

我们已经获取到了股票的北上资金的情况,我们建立一个简单的模型筛选一下:

  • 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

总结

今天我们使用接口获取了个股北上资金的持仓数据,并建立了简单的分析模型来选择股票,这个技术实现比较简单,作为学习和练习使用已经就足够了。

到此这篇关于python爬虫爬取股票的北上资金持仓数据的文章就介绍到这了,更多相关python爬取数据内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://juejin.cn/post/7059030392308760583

延伸 · 阅读

精彩推荐
  • PythonPython写的一个定时重跑获取数据库数据

    Python写的一个定时重跑获取数据库数据

    本文给大家分享基于python写的一个定时重跑获取数据库数据的方法,非常不错,具有参考借鉴价值,需要的朋友参考下 ...

    脚本之家8242020-09-15
  • Pythonpython中opencv实现图片文本倾斜校正

    python中opencv实现图片文本倾斜校正

    图片有的时候需要矫正,本文主要介绍了python中opencv实现图片文本倾斜校正,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    庞国明4022021-11-30
  • Pythonpython 实现体质指数BMI计算

    python 实现体质指数BMI计算

    这篇文章主要介绍了python 实现体质指数BMI计算操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    juunnry9682021-11-14
  • Python总结Python连接CS2000的详细步骤

    总结Python连接CS2000的详细步骤

    今天给大家带来的是关于Python的相关知识,文章围绕着Python连接CS2000的详细步骤展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下...

    ShareWow丶11692021-12-07
  • Pythonpython中if-elif-else语句实例用法讲解

    python中if-elif-else语句实例用法讲解

    在本篇文章里小编给大家整理的是一篇关于python中if-elif-else语句的使用注意事项,有需要的便宜么可以跟着参考下。...

    小妮浅浅5702022-01-24
  • PythonPython 3.8新特征之asyncio REPL

    Python 3.8新特征之asyncio REPL

    我最近都在写一些Python 3.8的新功能介绍的文章,在自己的项目中也在提前体验新的Python版本。这篇文章主要介绍了Python 3.8新特征之asyncio REPL,需要的朋友可...

    小明明S À DOMICILE8992021-06-30
  • Pythonflask 实现上传图片并缩放作为头像的例子

    flask 实现上传图片并缩放作为头像的例子

    今天小编就为大家分享一篇flask 实现上传图片并缩放作为头像的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    子辰曦8842020-04-30
  • PythonPython中请不要再用re.compile了

    Python中请不要再用re.compile了

    这篇文章主要给大家介绍了关于Python中为何不要再用re.compile的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习...

    青南11612021-07-27