# tushare_sync **Repository Path**: anyushengDemo/tushare_sync ## Basic Information - **Project Name**: tushare_sync - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-02 - **Last Updated**: 2025-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Tushare数据同步系统 一个基于Python的Tushare数据自动同步系统,支持定时任务调度和多种同步模式。 ## 功能特性 - 🔄 **自动同步**: 支持定时任务自动同步tushare数据 - 📊 **多数据源**: 支持股票数据接口,覆盖基础数据、技术指标、资金流向等 - 🔀 **同步模式**: 支持全量同步和增量同步两种模式 - 📝 **日志记录**: 完整的同步日志和错误追踪 - 🎛️ **灵活配置**: 通过配置文件管理所有参数 - 💾 **数据库支持**: 支持MySQL和SQLite数据库 - 🌐 **Web管理界面**: 提供直观的Web界面进行任务管理和监控 - ⚡ **实时执行**: 支持通过Web界面立即执行同步任务 - 🎯 **智能选股**: 多维度选股策略,结合技术面、资金面、行业热度 - 📈 **策略评分**: 量化评分系统,客观筛选优质股票 ### 2025-08-01策略选择(平均涨幅+3.45%) | 股票代码 | 股票名称 | 行业 | 涨跌幅(%) | 换手率(%) | 市值(亿) | 主力净流入率(%) | 量比 | 行业排名 | 总分 | |------------|----------|------------|-----------|-----------|----------|------------------|--------|----------|-------| | 300261.SZ | 雅本化学 | 农药化肥 | 12.09 | 15.12 | 84.9 | 12.36 | 2.54 | 999 | 65 | | 300785.SZ | 值得买 | 互联网 | 7.04 | 22.19 | 72.2 | 10.87 | 2.98 | 999 | 65 | | 300491.SZ | 通合科技 | 电气设备 | 3.89 | 12.53 | 35.0 | 14.12 | 3.20 | 999 | 59 | | 300486.SZ | 东杰智能 | 专用机械 | 6.79 | 16.13 | 48.1 | 8.17 | 2.49 | 999 | 58 | | 300871.SZ | 回盛生物 | 农业综合 | 5.94 | 17.94 | 47.6 | 7.85 | 2.34 | 999 | 58 | ## 安装和配置 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置数据库 系统默认配置为你提供的MySQL数据库,如需修改可以通过环境变量配置: ```bash # MySQL配置 export DB_TYPE=mysql export DB_HOST=xxx export DB_PORT=xxx export DB_USER=xx export DB_PASSWORD=xxx export DB_NAME=tushare # 或使用SQLite(开发测试) export DB_TYPE=sqlite export SQLITE_DB=data/tushare_data.db ``` ### 3. 配置Tushare Token ```bash export TUSHARE_TOKEN=your_tushare_token ``` ## 使用方法 ### 测试连接 ```bash python main.py --test ``` ### 查看可用任务 ```bash python main.py --list ``` ### 立即执行同步任务 ```bash # 同步股票基础信息 python main.py --run stock_basic ``` ### 启动Web管理界面 ```bash python main.py --web # 或者 python start_web.py ``` 然后在浏览器中访问 http://localhost:5000 ### 启动定时任务调度器 ```bash python main.py ``` ### 使用选股策略 ```bash # 进入策略文件夹 cd strategies # 执行选股策略(使用最新交易日数据) python run_stock_selection.py # 指定参数 python run_stock_selection.py --date 20250731 --limit 10 --strategy enhanced # 导出到Excel python run_stock_selection.py --export ``` 支持的策略类型: - `enhanced`: 增强版策略(推荐),综合技术面+资金面+行业热度 - `practical`: 实用版策略,重点关注资金流向 - `simplified`: 简化版策略,基于技术面+热门概念 ### 同步类型说明 - **全量同步 (full)**: 清空现有数据,重新插入所有数据 - **增量同步 (incremental)**: 只更新变化的数据,新增不存在的数据 ## 扩展新的数据源 ### 1. 创建数据获取类 在 `data_fetchers/` 目录下创建新的获取类,继承 `BaseFetcher`: ```python from .base import BaseFetcher class NewDataFetcher(BaseFetcher): def get_task_name(self) -> str: return "新数据类型" def get_sync_type(self) -> str: return "incremental" # 或 "full" def fetch_data(self, **kwargs): # 实现数据获取逻辑 return self.pro.new_api_method(**kwargs) ``` ### 2. 创建数据库模型 在 `database/models.py` 中添加新的数据表模型。 ### 3. 更新数据管理器 在 `database/data_manager.py` 中添加新的数据保存方法。 ### 4. 更新调度器 在 `schedulers/task_scheduler.py` 中添加新的任务处理逻辑。 ### 5. 更新配置 在 `config/settings.py` 中添加新任务的配置。 ## 日志 系统日志保存在 `logs/tushare_sync.log` 文件中,包含: - 任务执行状态 - 数据同步结果 - 错误信息和堆栈跟踪 ## 注意事项 1. 确保Tushare账户有足够的积分访问相应接口 2. 股票基础信息建议每日同步一次即可 3. 生产环境建议使用MySQL数据库 4. 定时任务使用cron表达式配置,格式:`分 时 日 月 周` 5. 选股策略需要完整的数据支持,建议先同步相关数据 6. 策略结果仅供参考,投资需谨慎,建议结合其他分析方法 ## 故障排除 ### 常见问题 1. **数据库连接失败** - 检查数据库配置是否正确 - 确认网络连接正常 2. **Tushare API调用失败** - 检查Token是否正确 - 确认账户积分是否充足 3. **任务执行失败** - 查看日志文件获取详细错误信息 - 检查数据库表是否正确创建 ## 联系方式 ![联系方式](images/wx.pngimage.png)![输入图片说明](images/wx.pngimage.png) ## 示例图片 ![示例](images/image.png) ![示例](images/image2.pngimage.png)