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

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

相关文章

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介