根据股票列表获取资金流入情况

news2024/9/20 15:04:53

获取股票列表

作为演示,以创业板为例(数据不多),我们通过自编的 get_stock_list 方法获取股票列表:

import pandas
from bad import BigAData
from tqdm.notebook import tqdm

plate = 'cyb'
bad = BigAData()
json = bad.get_stock_list(node=plate, num_per_page=100)
df = pandas.DataFrame(json)
df.to_excel('创业板股票20240825.xlsx', index=False)
print(df)

共有1349个,结果如下:
创业板股票列表

获取每个股票的资金流入情况

自定义一个 bad.py 文件(忍不住吐槽一下:大A数据,BigAData,真的够 bad 的)。

    # 获取资金流入趋势数据
    def get_money_flow(self, symbol, page=1, num=20, sort='opendate', asc=0):
        '''
        该函数通过股票代码从新浪财经API获取资金流入趋势数据。参数包括股票代码、页数、每页数量、排序字段及升序标志。以JSON格式返回数据或在请求失败时返回None。
        stock_code: 股票代码
        page: 页码
        num: 每页数据量
        sort: 排序字段
        asc: 排序方式
        return: 资金流入趋势数据
        '''
        url = f'https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/MoneyFlow.ssl_qsfx_zjlrqs?page={page}&num={num}&sort={sort}&asc={asc}&daima={symbol}'
        # 获取数据
        resp = requests.get(url)
        # 返回数据
        if resp.status_code == 200:
            return resp.json()
        else:
            return None

根据列表获取股票的资金流入情况

按照给定的板块股票列表,获取每只股票的资金流入情况,默认每只采样20个交易日,这是一个比较漫长的过程,增加了进度条功能,需要添加库ipywidgets,可参考这个 stackoverflow 上的 帖子,代码如下:

data  = []
progress_bar = tqdm(total=df.shape[0])
for row in df.itertuples():
    json_arr = bad.get_money_flow(row.symbol)
    for item in json_arr:
        item['symbol'] = row.symbol
        item['code'] = row.code
        item['name'] = row.name
    data.extend(json_arr)
    progress_bar.update(1)
result = pandas.DataFrame(data)  
result.to_excel('bad_list_stocks_money_flow_20240825.xlsx')
print(result)

进度条
结果
从结果可以发现,有些新股不足20个交易日。

提高数据易读性

# 重新命名列名,并返回一个新的DataFrame(inplace=False)
new_columns={
                'symbol': '股票代码',
                'code': '股票编号', 
                'name': '股票名称', 
                'opendate': '交易日', 
                'trade': '收盘价', 
                'changeratio': '涨跌幅', 
                'turnover':'换手率', 
                'netamount': '净流入(元)', 
                'ratioamount': '净流入率', 
                'r0_net': '主力净流入(元)', 
                'r0_ratio':'主力净流入率', 
                'r0x_ratio': '主力罗盘(°)', 
                'cate_ra': '行业净流入率'
             }
# 返回新的DataFrame
exp_result = result.rename(columns=new_columns, inplace=False)
print(exp_result)
exp_result.to_excel('创业板股票资金流入情况20240825.xlsx', index=False)

小结

以上举例了一个简单的应用,有时候因为网络和访问限制原因,会出现连接网站数据超过重试次数失败的情况,故增加了个进度条可以看看去到哪里出错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2072627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

180页某项目可视化智能停车场系统技术解决方案WORD

今天分享的是一份《180页某项目可视化智能停车场系统技术解决方案WORD》,资料详细完整的描述了关于数智化停车场的建设方案,参考价值很高。 传统停车场存在进出场效率低、找车位难、找车难、管理难、管理成本高等诸多问题,本次建设的XX项目将…

四、控制结构

文章目录 引言一、顺序控制二、分支控制(if,else,switch)2.1 if 单分支2.2 if 双分支2.3 if 多分支2.4 if 嵌套分支2.5 switch分支结构2.6 switch和if的比较 三、循环控制(for,while,dowhile&am…

[Linux#47][网络] 网络协议 | TCP/IP模型 | 以太网通信

目录 1.网络协议 2.协议分层 2.1 OSI七层模型 2.2TCP/IP五层(四层)模型 2.3 以太网通信 1.网络协议 "协议"本质就是一种约定 计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表示 0 和 1 这样的 信息. 要想传递各种不同…

全志616系统启动和登录

一、系统启动 刷完机烧入镜像,直接用MobaXterm软件串口登陆 约定固定的波特率115200。 默认登录: 用户:orangepi 密码:orangepi 或用户:root 密码:orangepi 在输入密码时…

SEO之网站结构优化(十三-网站地图)

** 初创企业搭建网站的朋友看1号文章;想学习云计算,怎么入门看2号文章谢谢支持: ** 1、我给不会敲代码又想搭建网站的人建议 2、“新手上云”能够为你开启探索云世界的第一步 博客:阿幸SEO~探索搜索排名之道 网站无论大小&…

5分钟学会使用Linux的 grep、find、ls、wc 命令

Linux基础命令和工具 一、前导:概述1.1、监控1.2、测试1.3、优化 二、grep 搜索字符三、find 查找文件四、ls 显示文件五、wc 命令六、总结 一、前导:概述 本系列主要讲解Linux运行时命令,包括网络、磁盘、内存、CPU相关参数等,主…

伏图芯片应力仿真功能介绍

随着电子产品向小型化、规模化、集成化方向发展,机械应力对器件性能的影响日益显著。产品在晶圆加工、芯片封装、元器件装配等过程中均会受到机械应力的作用,可能会直接影响芯片的电性能和可靠性。 仿真技术在芯片产品研发设计和故障排查阶段扮演着至关…

Python | Leetcode Python题解之第372题超级次方

题目: 题解: class Solution:def superPow(self, a: int, b: List[int]) -> int:MOD 1337ans 1for e in b:ans pow(ans, 10, MOD) * pow(a, e, MOD) % MODreturn ans

NIOS Eclipse突然报错:No rule to make target `/system.h

NIOS Eclipse突然报错:No rule to make target /system.h 今天打开NIOS Eclipse编译昨天完好的工程,发现报错。我就纳闷了,代码没有修改,编译结果报错 控制台中problems选线中显示: No rule to make target /system…

嵌入式开发神器——vim配置

本期主题: 讲解vim的一些配置,让大家也可以用上自己定制化的vim 目录 0. 目前个人所用的vim配置截图1. vim的插件1. 怎么找插件2. 如何安装插件3. 安装好了如何使用插件 2. 个人配置的vim链接 0. 目前个人所用的vim配置截图 1. vim的插件 1. 怎么找插件…

【Qt】输入类控件QSlider

目录 输入类控件QSlider 例子:调整窗口大小 例子:通过自定义快捷键调整滑动条位置 输入类控件QSlider 使用QSlider表示一个滑动条 QDail与QSlider都继承于QAbstractSlider,所以其用法基本相似。 核心属性 属性说明 value 持有的数值 mi…

【hot100篇-python刷题记录】【反转链表】

R6-链表篇 思路:想到使用2个指针来做 pre在head前,now就是head 初始:nowhead,predummy 每次需要进行的操作: tmpnow.next now.next-->pre prenow nowtmp class Solution:def reverseList(self, head: Optional[ListNode]) -> …

280Hz显示器哪家强

280Hz显示器哪家强?今天就给大家带来6大品牌和型号的280Hz显示器一起对比对比! 1.280Hz显示器 - HKC G27H3显示器 HKC G27H3是一款高性价比的电竞显示器,以下是它的一些特点: - **高刷新率与快速响应**: - 拥有280H…

【Arduino】试验带识别模块的吃鸡助手

在前面的试验中,我们试验了声音触发点击,方面多指操作的辅助功能, 【Arduino】自制声控点击器(吼叫吃鸡助手)-CSDN博客 如果声控模块换成图像识别模块,就是一个自动识别并shot的功能了, 通过…

使用GDIView工具排查GDI对象泄漏案例的若干细节总结

目录 1、查看任务管理器,发现程序中有明显的GDI对象泄漏 2、使用GDIView工具查看发生泄漏的是哪一种GDI对象 3、尝试找到复现问题的方法,缩小排查范围,逐步地找到GDI对象的泄漏点 4、本案例中的相关细节点的思考与总结(有价值…

httpClient与openfeign

目录 介绍 maven坐标 发送请求步骤 发送get请求 ​发送post请求 介绍 是一个客户端编程的工具包&#xff0c;也就是在java程序中&#xff0c;可以构造http请求并且发送请求 maven坐标 httpclient <dependency> <groupId>org.apache.httpcomponents</g…

【Kotlin设计模式】建造者模式在Android中的应用

前言 建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;一步一步地构建一个复杂对象的不同部分&#xff0c;而不是直接创建该对象的实例。建造者模式的核心思想是将对象的构建过程与其表示分离&#xff0c;使得同样的构建过程可以创建不同的…

如何使用ssm实现基于ssm的疫情物质管理系统

TOC ssm170基于ssm的疫情物质管理系统jsp 第一章 绪论 1.1 研究背景 时代总是在进步的&#xff0c;自从进入了信息时代&#xff0c;面对大量的不同种类的数据&#xff0c;仅仅依靠有限的人力去处理&#xff0c;显然是不行的&#xff0c;毕竟人工处理大量的数据会耗费较长时…

git提交项目,报403无权限

这个在公司内网git上提交项目时&#xff0c;使用的是刚分配到的账号和密码。创建完组和项目后一切准备完毕了&#xff0c;但是在提交时缺出了乌龙&#xff0c;报403&#xff0c;上面一堆英文&#xff0c;大致的意思是说我没有上传本项目的权限&#xff0c;报错信息如下图所示&a…

5.1二叉树——基本概念梳理

本篇博客梳理二叉树相关的基本概念 一、树的概念与结构 1&#xff0e;树是递归定义的 树根N棵子树&#xff0c;每棵子树也可按照相同方式拆分 注意&#xff1a;子树之间不能有交集&#xff0c;否则变成图&#xff08;是另一种数据结构&#xff09; 2&#xff0e;树的相关概…