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

2024-08-25 12:28

本文主要是介绍根据股票列表获取资金流入情况,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

获取股票列表

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

import pandas
from bad import BigAData
from tqdm.notebook import tqdmplate = '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.symbolitem['code'] = row.codeitem['name'] = row.namedata.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.chinasem.cn/article/1105549

相关文章

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加