编写程序利用Tushare库下载股票数据,自选一个股票指标,对所有股票数据进行分析,得出该指标的成功率。
时间: 2024-03-01 11:51:30 浏览: 128
好的,下面是可以实现该功能的代码:
```python
import tushare as ts
# 获取所有股票代码
pro = ts.pro_api("YOUR_TOKEN_HERE") # 需要替换为自己的 token
stocks = pro.stock_basic(exchange='', list_status='L', fields='ts_code')
# 自选股票指标
indicator = 'pe'
# 初始化成功率和总数
success_count = 0
total_count = 0
# 遍历所有股票
for stock in stocks['ts_code']:
try:
# 获取股票指标数据
data = pro.query(f'tushare.pro_daily_basic(ts_code="{stock}", fields="{indicator}")')
# 判断指标数据是否为 NaN
if not data.empty:
total_count += 1
if not data[indicator].isna().all():
success_count += 1
except:
continue
# 计算成功率
success_rate = success_count / total_count
print(f"指标为 {indicator} 的成功率为 {success_rate:.2%}")
```
其中,`YOUR_TOKEN_HERE` 部分需要替换为你自己的 token。在代码中,我们首先使用 Tushare 库获取所有股票代码,然后遍历所有股票,获取对应股票的指标数据(这里我们选择了 `pe` 指标),并判断该指标数据是否为 NaN。如果该股票的指标数据不全为 NaN,则认为该指标成功,success_count 加一。最后,根据公式 success_rate = success_count / total_count 计算出指标成功率。
阅读全文