stock-ai-agent/backend/check_api_fields.py
2026-03-11 00:01:18 +08:00

71 lines
1.8 KiB
Python

#!/usr/bin/env python3
"""
检查 Tushare ths_daily API 返回的数据字段
"""
import asyncio
import sys
import os
from datetime import datetime, timedelta
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from app.config import get_settings
from app.astock_agent.tushare_client import get_tushare_client
async def check_api_fields():
"""检查API字段"""
print("\n" + "=" * 80)
print("🔍 检查 ths_daily API 返回字段")
print("=" * 80)
settings = get_settings()
ts_client = get_tushare_client(settings.tushare_token)
# 获取智能电网板块
sectors_df = ts_client.get_concept_sectors()
smart_grid = sectors_df[sectors_df['name'] == '智能电网']
if smart_grid.empty:
print("未找到智能电网板块")
return
ts_code = smart_grid.iloc[0]['ts_code']
print(f"\n板块代码: {ts_code}")
today = datetime.now().strftime('%Y%m%d')
yesterday = (datetime.now() - timedelta(days=10)).strftime('%Y%m%d')
daily_df = ts_client.pro.ths_daily(
ts_code=ts_code,
start_date=yesterday,
end_date=today
)
if daily_df.empty:
print("未获取到数据")
return
print(f"\n获取到 {len(daily_df)} 条数据")
print("\n数据列:")
print(daily_df.columns.tolist())
print("\n最近3天的数据:")
print(daily_df.tail(3).to_string())
print("\n" + "=" * 80)
print("\n字段分析:")
for col in daily_df.columns:
print(f" {col}: {daily_df[col].dtype}")
if col in ['volume', 'amount', 'vol', 'amt']:
print(f" 最新值: {daily_df[col].iloc[-1]}")
print(f" 前一日: {daily_df[col].iloc[-2] if len(daily_df) > 1 else 'N/A'}")
async def main():
await check_api_fields()
if __name__ == "__main__":
asyncio.run(main())