Skip to content

Repository files navigation

A股量化交易系统

基于多因子模型的A股量化选股、分析、回测与交易系统。

技术栈

层级 技术选型
数据源 AKShare(免费)/ Tushare(备选)
数据库 SQLite + SQLAlchemy ORM
后端 Python 3.10+ / FastAPI
前端 Vue 3 + Vite
券商接口 easytrader
定时任务 APScheduler
日志 loguru
数据分析 pandas + numpy + TA-Lib

功能模块

  • 多因子智能选股(基本面40分 + 技术面30分 + 情绪面30分)
  • 个股基本面深度分析(排雷 + 盈利 + 现金流 + 估值)
  • 技术面买卖信号判定(均线/量价/MACD/筹码)
  • 市场情绪监测(涨跌家数/涨停数/北向资金/融资余额)
  • 策略回测评估(年化收益/最大回撤/夏普比率/胜率)
  • 实盘风控(仓位管理/止损止盈/黑名单/交易频率)

快速启动

1. 环境准备

# 克隆项目
git clone <repo-url>
cd finance

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows

# 安装依赖
pip install -r requirements.txt

2. 配置环境变量

cp .env.example .env
# 编辑 .env 填入实际配置

3. 数据初始化(首次必须执行)

# 初始化数据库表结构 + 拉取全市场股票列表 + 近1年历史行情
python scripts/init_data.py --all

# 或分步执行
python scripts/init_data.py --db       # 仅建表
python scripts/init_data.py --stocks   # 仅更新股票列表
python scripts/init_data.py --history 365  # 拉取近365天行情

4. 启动后端

# Windows 一键启动
scripts\start_backend.bat

# 或手动启动
python -m uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000
# API文档: http://localhost:8000/docs

5. 启动前端

cd frontend
npm install
npm run dev
# 访问: http://localhost:5173

6. 启动盯盘监控(交易日可选)

# Windows
scripts\start_monitor.bat

# 或手动启动(在数据库中先添加自选股)
python -c "
from backend.services.monitor.watcher import MarketWatcher
watcher = MarketWatcher()
watcher.load_watchlist_from_db()
watcher.start()
"

每日自动化流程

时间 任务 说明
08:30 盘前数据更新 财务数据、股东数据
09:30 开启盯盘监控 轮询自选股信号(10秒/次)
11:30-13:00 午间暂停 自动跳过
15:00 关闭盯盘 -
15:30 盘后数据更新 日K线、北向资金、龙虎榜

风险提示

⚠️ 重要声明

  • 本系统所有信号仅供参考,不构成任何投资建议
  • 自动交易模块存在风险,建议先模拟验证后再实盘使用
  • easytrader 需要本地运行同花顺/东方财富客户端
  • 请严格遵守风控规则,单日亏损超3%自动暂停交易
  • 投资有风险,入市需谨慎

项目结构

finance/
├── backend/              # Python后端
│   ├── api/             # FastAPI路由
│   ├── core/            # 核心配置
│   ├── models/          # SQLAlchemy ORM模型
│   ├── schemas/         # Pydantic数据模型
│   ├── services/        # 业务逻辑层
│   │   ├── data_feed/   # 数据采集
│   │   ├── stock_picker/# 选股服务
│   │   ├── analysis/    # 分析服务
│   │   ├── backtest/    # 回测引擎
│   │   ├── monitor/     # 盯盘监控
│   │   └── trader/      # 交易对接
│   ├── tasks/           # 定时任务
│   └── utils/           # 工具函数
├── frontend/             # Vue3前端
├── scripts/              # 部署运维脚本
├── tests/                # 测试
├── data/                 # 数据存储
└── logs/                 # 日志

License

MIT

About

我的金融分析工具

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages