利用tushare获取数据,使用python根据以下要求处理数据:剔除了交易当天停牌、ST、以及涨跌停不能交易的股票;对获取的基本面数据进行了MAD(绝对中位值)去极值处理;ROE>15%;PE<=15;PEG较小的前10支股票纳入备买股票池

时间: 2024-02-22 20:55:44 浏览: 20
好的,根据你的要求,首先需要安装并引入tushare库,然后获取股票基本面数据并进行数据处理。在获取数据的过程中,我们需要注意剔除停牌、ST、涨跌停的股票,可以通过筛选条件实现。代码如下: ```python import tushare as ts import pandas as pd import numpy as np # 获取股票基本面数据 pro = ts.pro_api() df = pro.query('daily_basic', ts_code='', trade_date='20210528', fields='ts_code,trade_date,close,turnover_rate,pe,pb,total_share,total_mv,' 'circ_mv,roe,net_profit_ratio,eps') # 剔除交易当天停牌、ST、以及涨跌停不能交易的股票 df = df[df['close'] != 0] df = df[df['trade_date'] == '20210528'] df = df[df['turnover_rate'] != 0] df = df[df['pe'] != 0] df = df[df['pb'] != 0] df = df[df['roe'] != 0] df = df[df['net_profit_ratio'] != 0] df = df[df['eps'] != 0] df = df[(df['close'] < df['close'].rolling(window=20, min_periods=1).max() * 0.98) & (df['close'] > df['close'].rolling(window=20, min_periods=1).min() * 1.02)] df = df[df['name'].str.contains('ST') == False] df = df[df['name'].str.contains('*ST') == False] #MAD去极值处理 def mad_method(data,rate=3): data_median = np.median(data) mad_value = np.median(np.abs(data - data_median)) max_value = data_median + rate * mad_value min_value = data_median - rate * mad_value data[data > max_value] = max_value data[data < min_value] = min_value return data df['roe'] = mad_method(df['roe']) df = df[(df['roe'] > 15) & (df['pe'] <= 15)] # 找出PEG较小的前10支股票 df['peg'] = df['pe'] / df['net_profit_ratio'] df = df.sort_values(by=['peg'], ascending=True) stocks = df.head(10)['ts_code'].tolist() print(stocks) ``` 以上代码中,我们使用了mad_method函数进行MAD去极值处理,将ROE大于15%且PE小于等于15的股票筛选出来,并根据PEG大小排序,最后找出PEG较小的前10支股票作为备买股票池。

最新推荐

recommend-type

Python数据分析基础:异常值检测和处理

异常检测和处理是一个比较小的分支,或者说,是机器学习的一个副产物,因为在一般的预测问题中,模型通常是对整体样本数据结构的一种表达方式,这种表达方式通常抓住的是整体样本一般性的性质,而那些在这些性质上...
recommend-type

使用Python Pandas处理亿级数据的方法

主要介绍了使用Python Pandas处理亿级数据的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
recommend-type

Python数据处理课程设计-房屋价格预测

鉴于此,我将根据比赛的数据,构建特征变量集,选取有代表性的特征变量,在已有数据的基础上,对数据进行处理,使用机器学习算法分析房价问题,选择预测模型将其用于预测测试集的房屋价格。 此外,无论是对于监管者...
recommend-type

使用python获取csv文本的某行或某列数据的实例

下面小编就为大家分享一篇使用python获取csv文本的某行或某列数据的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

详解python实现数据归一化处理的方式:(0,1)标准化

主要介绍了详解python实现数据归一化处理的方式:(0,1)标准化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

云原生架构与soa架构区别?

云原生架构和SOA架构是两种不同的架构模式,主要有以下区别: 1. 设计理念不同: 云原生架构的设计理念是“设计为云”,注重应用程序的可移植性、可伸缩性、弹性和高可用性等特点。而SOA架构的设计理念是“面向服务”,注重实现业务逻辑的解耦和复用,提高系统的灵活性和可维护性。 2. 技术实现不同: 云原生架构的实现技术包括Docker、Kubernetes、Service Mesh等,注重容器化、自动化、微服务等技术。而SOA架构的实现技术包括Web Services、消息队列等,注重服务化、异步通信等技术。 3. 应用场景不同: 云原生架构适用于云计算环境下的应用场景,如容器化部署、微服务
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。