能打一串用python选取股市中净资产大于市值且在盈利的股票的代码吗
时间: 2024-03-21 09:43:17 浏览: 73
可以的,以下是一个示例代码:
```python
import tushare as ts
# 设置token
ts.set_token('your_token')
# 初始化pro接口
pro = ts.pro_api()
# 获取所有股票代码
stocks = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,market,pe,pb,total_assets,total_liab')
# 遍历每个股票
for stock in stocks['ts_code']:
# 获取该股票的资产负债表数据
balancesheet = pro.balancesheet(ts_code=stock, start_date='20200101', end_date='20201231')
if len(balancesheet) > 0:
# 获取该股票最新的市值和净资产
market_cap = pro.daily_basic(ts_code=stock, trade_date='20210326')['total_mv'][0]
total_assets = balancesheet.iloc[-1]['total_assets']
total_liab = balancesheet.iloc[-1]['total_liab']
net_assets = total_assets - total_liab
# 判断净资产是否大于市值,且是否盈利
if net_assets > market_cap and pro.income(ts_code=stock, start_date='20200101', end_date='20201231').iloc[-1]['n_income'] > 0:
print(stock)
```
需要注意的是,代码中需要替换掉 `your_token` 为自己的 tushare token。同时,由于 tushare 接口调用频率有限制,如果股票数量过多,可能需要分批次获取数据。另外,代码中为了简化,只取了每个股票最近一年的资产负债表和利润表数据,实际使用中可以根据需要进行调整。
阅读全文