Tushare积分不够怎么办?——金融数据源的“备胎方案”
模型代码写好了,特征也设计好了,结果数据拉不下来——Tushare积分不够,PE/PB拿不到。
坑:Tushare积分门槛,挡住了关键数据
Tushare的daily_basic接口需要2000积分才能获取PE/PB数据。我只有128分,差了不止一个量级。
没有PE/PB分位,LSTM的估值特征就出不来,模型精度直接卡在V1.0的水平。
解决方案:AKShare作为补充数据源
AKShare是开源免费的金融数据接口库,不需要积分,直接调用就能拿数据。
# AKShare获取PE/PB数据
import akshare as ak
# 获取A股PE/PB数据
stock_pe_pb = ak.stock_a_pe_pb()
# 直接拿到PE、PB数据,无需积分
切换策略:
-
Tushare能拿到的数据优先用Tushare(稳定性更好)
-
Tushare积分不够的(如PE/PB),用AKShare补充
-
两套数据源同时维护,一个挂了切另一个
def get_pe_pb_data(stock_code):
try:
# 尝试Tushare
data = pro.daily_basic(ts_code=stock_code, fields='pe,pb')
if data is not None and not data.empty:
return data
except:
pass
try:
# 备用AKShare
data = ak.stock_a_pe_pb()
return data[data['代码'] == stock_code]
except:
# 都挂了返回本地缓存
return load_local_cache(stock_code)
踩坑总结:
-
个人项目不要死磕单一数据源,用“主+备”方案保证开发不卡壳。
-
本地缓存也很重要——日常用Tushare拉数据存下来,断网也能继续开发。
-
关键数据(如PE/PB)拿到后存入本地,不要每次运行都远程拉取。

浙公网安备 33010602011771号