仿alphaarena项目增加A股ai自动量化
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
智能盯盘 - 数据获取功能测试脚本
|
||||
|
||||
用于验证实时行情数据获取是否正常工作
|
||||
"""
|
||||
|
||||
import logging
|
||||
import sys
|
||||
|
||||
# 配置日志
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s - %(levelname)s - %(message)s'
|
||||
)
|
||||
|
||||
def test_data_fetcher():
|
||||
"""测试数据获取功能"""
|
||||
print("\n" + "="*70)
|
||||
print("智能盯盘 - 数据获取功能测试")
|
||||
print("="*70 + "\n")
|
||||
|
||||
try:
|
||||
from smart_monitor_data import SmartMonitorDataFetcher
|
||||
|
||||
# 创建数据获取器
|
||||
fetcher = SmartMonitorDataFetcher()
|
||||
print("✅ 数据获取器初始化成功\n")
|
||||
|
||||
# 测试股票列表(可以自行修改)
|
||||
test_stocks = [
|
||||
('600519', '贵州茅台'),
|
||||
('000001', '平安银行'),
|
||||
('002167', '东方锆业')
|
||||
]
|
||||
|
||||
for stock_code, stock_name in test_stocks:
|
||||
print(f"\n{'─'*70}")
|
||||
print(f"测试股票: {stock_code} ({stock_name})")
|
||||
print(f"{'─'*70}")
|
||||
|
||||
# 获取实时行情
|
||||
quote = fetcher.get_realtime_quote(stock_code)
|
||||
|
||||
if quote:
|
||||
print(f"\n✅ 数据获取成功:")
|
||||
print(f" 📌 股票代码: {quote['code']}")
|
||||
print(f" 📌 股票名称: {quote['name']}")
|
||||
print(f" 💰 当前价格: ¥{quote['current_price']:.2f}")
|
||||
print(f" 📊 涨跌幅: {quote['change_pct']:+.2f}%")
|
||||
print(f" 💵 涨跌额: ¥{quote['change_amount']:+.2f}")
|
||||
print(f" 📦 成交量: {quote['volume']:.0f}手")
|
||||
print(f" 💸 成交额: ¥{quote['amount']/10000:.2f}万")
|
||||
print(f" 📈 最高: ¥{quote['high']:.2f}")
|
||||
print(f" 📉 最低: ¥{quote['low']:.2f}")
|
||||
print(f" 🔓 今开: ¥{quote['open']:.2f}")
|
||||
print(f" 🔒 昨收: ¥{quote['pre_close']:.2f}")
|
||||
print(f" 🔄 换手率: {quote['turnover_rate']:.2f}%")
|
||||
print(f" ⏰ 更新时间: {quote['update_time']}")
|
||||
print(f" 🌐 数据源: {quote['data_source']}")
|
||||
|
||||
# 验证数据是否有效(不全为0)
|
||||
if quote['current_price'] > 0:
|
||||
print(f"\n ✅ 数据有效性检查: 通过")
|
||||
else:
|
||||
print(f"\n ⚠️ 数据有效性检查: 价格为0,可能是非交易时间")
|
||||
else:
|
||||
print(f"\n❌ 获取 {stock_code} 的数据失败")
|
||||
return False
|
||||
|
||||
print("\n" + "="*70)
|
||||
print("✅ 所有测试通过!数据获取功能正常工作")
|
||||
print("="*70 + "\n")
|
||||
return True
|
||||
|
||||
except ImportError as e:
|
||||
print(f"❌ 导入模块失败: {e}")
|
||||
print("请确保 smart_monitor_data.py 文件存在")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"❌ 测试过程中出现错误: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print("\n💡 提示:")
|
||||
print(" - 此脚本用于测试智能盯盘的数据获取功能")
|
||||
print(" - 需要网络连接以访问AKShare API")
|
||||
print(" - 如果所有数据都正常显示,说明修复成功")
|
||||
print(" - 如果仍然显示0,请检查网络或查看日志\n")
|
||||
|
||||
success = test_data_fetcher()
|
||||
|
||||
if success:
|
||||
print("🎉 恭喜!数据获取功能测试通过,可以正常使用智能盯盘了!\n")
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("⚠️ 测试失败,请查看上方错误信息并联系技术支持\n")
|
||||
sys.exit(1)
|
||||
|
||||
Reference in New Issue
Block a user