仿alphaarena项目增加A股ai自动量化

This commit is contained in:
oficcejo
2025-10-26 10:02:55 +08:00
parent b9f0368d25
commit 16071f81e8
21 changed files with 6218 additions and 16 deletions
+103
View File
@@ -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)