ROE>15%
时间: 2023-08-07 20:19:22 浏览: 55
好的,下面是使用 akshare 获取股票数据并筛选 ROE 大于 15% 的股票的 Python 代码示例:
```python
import akshare as ak
import pandas as pd
# 获取 A 股股票数据
stock_zh_a_spot_df = ak.stock_zh_a_spot()
# 获取股票基本面数据
stock_zh_a_profit_df = ak.stock_zh_a_profit()
# 合并数据
stock_data_df = pd.merge(stock_zh_a_spot_df, stock_zh_a_profit_df, on='代码')
# 筛选 ROE 大于 15% 的股票
selected_stock_df = stock_data_df[stock_data_df['ROE'] > 15]
# 输出结果
print(selected_stock_df)
```
以上代码中,我们首先使用 akshare 获取 A 股股票数据和股票基本面数据,然后将两个数据集合并起来。最后,筛选出 ROE 大于 15% 的股票,并输出结果。需要注意的是,这只是一个简单的示例,实际上还需要进行更多的数据处理和筛选,以得到更准确的选股结果。
相关问题
利用tushare获取数据,使用python根据以下要求处理数据:剔除了交易当天停牌、ST、以及涨跌停不能交易的股票;对获取的基本面数据进行了MAD(绝对中位值)去极值处理;ROE>15%;PE<=15;PEG较小的前10支股票纳入备买股票池
好的,根据你的要求,首先需要安装并引入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支股票作为备买股票池。
股票翻倍妖股条件选股代码
选择股票翻倍的妖股,需要综合考虑多个因素,包括公司基本面、财务状况、行业前景、市场情况等等。以下是一些基本的条件和选股代码:
1. 公司成长性强,营收和利润增长稳定,具备较强的盈利能力和现金流水平。
代码示例:ROE>15% & 净利润同比增长率>20%
2. 公司业务领域具备较强的行业竞争力和前景,有望成为行业龙头。
代码示例:行业龙头 & 营收同比增长率>20%
3. 公司具备较强的研发能力和技术优势,有望在新兴领域取得突破性进展。
代码示例:研发投入占比>10% & 技术领先
4. 公司具备较高的安全边际和估值优势,具备较高的投资价值和风险控制能力。
代码示例:市盈率<20 & 市净率<3 & 股息率>2%
以上仅是一些基本的条件和选股代码,投资者在选择股票时,也需要结合自己的投资目标、风险偏好和市场情况进行综合考虑。同时,投资者也需要注意风险控制,不要盲目追求高收益。