64 lines
2.1 KiB
Bash
Executable File
64 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# 赵云全量分钟数据下载启动脚本
|
|
# 开始时间: 2026-04-06 22:44:42
|
|
|
|
cd /Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhaoyun-data/scripts/data_acquisition
|
|
|
|
echo "🚀 开始全量分钟数据下载..."
|
|
echo "📊 目标: 下载5500只A股的15min数据"
|
|
echo "⏱️ 开始时间: $(date)"
|
|
|
|
# 使用稳定下载器开始下载
|
|
python3 << 'EOF'
|
|
import sys
|
|
import os
|
|
sys.path.append('/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhaoyun-data/scripts/data_acquisition')
|
|
|
|
from minute_kline_collector import MinuteKlineCollector, TimeFrame
|
|
|
|
collector = MinuteKlineCollector(
|
|
base_dir='/Users/chufeng/nas/stock/minute_kline'
|
|
)
|
|
|
|
print('🎯 赵云开始全量15min数据下载任务...')
|
|
# 获取股票列表
|
|
import json
|
|
stock_list_file = '/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/zhaoyun-data/data/raw/stock_info/stock_basic_info_raw_20260326_113530.json'
|
|
with open(stock_list_file, 'r', encoding='utf-8') as f:
|
|
stock_data = json.load(f)
|
|
|
|
# 提取股票代码列表,添加sh/sz前缀
|
|
symbols = []
|
|
for stock in stock_data:
|
|
code = stock['code']
|
|
if code.startswith('6'):
|
|
symbol = f'sh{code}'
|
|
elif code.startswith('0') or code.startswith('3'):
|
|
symbol = f'sz{code}'
|
|
else:
|
|
continue # 跳过其他代码
|
|
symbols.append(symbol)
|
|
print(f'📊 总共 {len(symbols)} 只股票需要下载')
|
|
|
|
# 使用分批下载
|
|
result = collector.batch_download_stocks(
|
|
symbols=symbols,
|
|
timeframe=TimeFrame.MIN15,
|
|
start_date='2021-01-01',
|
|
end_date='2026-03-27',
|
|
batch_size=100,
|
|
max_workers=5
|
|
)
|
|
|
|
print(f'✅ 全量下载任务完成!成功: {result["success_count"]}, 失败: {result["failed_count"]}')
|
|
# 保存结果
|
|
result_file = '/Users/chufeng/nas/stock/minute_kline/reports/15min_download_result.json'
|
|
with open(result_file, 'w', encoding='utf-8') as f:
|
|
json.dump(result, f, ensure_ascii=False, indent=2)
|
|
print(f'📝 下载结果已保存到: {result_file}')
|
|
|
|
EOF
|
|
|
|
echo "⏱️ 结束时间: $(date)"
|
|
echo "📈 下载总结: 请查看 /Users/chufeng/nas/stock/minute_kline/reports/"
|