Files
stockbuddy/README.md
Stock Buddy bd7d85817a init: stock buddy v5 完整回测系统
三版本 A/B/C 止损策略对比回测
- A: 固定止损 12%
- B: ATR x2.5 动态止损
- C: 混合自适应(低波动固定8%/中波动ATR×2.5/高波动ATR×2.0)

含仓位分级、成交量确认、CSV缓存机制
已验证三只港股持仓:01833 / 09886 / 09982

待补全:data/1833.csv 和 data/9886.csv(在外网运行 download_data.py)
2026-03-22 12:57:47 +08:00

85 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Stock Buddy 🤖📈
> 基于 AI 多维度评分的港股量化回测系统
## 功能简介
对港股标的从**技术面、基本面、舆情**三个维度打分,生成综合评分信号,并回测不同止损策略的收益表现。
## 系统架构
```
评分模型(三维度加权)
├── 技术面(权重 50%RSI、MACD、均线系统
├── 基本面(权重 30%营收、净利润、PE/PB 快照
└── 舆情(权重 20%):新闻情感、机构评级、政策面
止损策略(三版本 A/B/C 对比)
├── A固定止损 12%(基准)
├── BATR × 2.5 动态止损8%~35%
└── C混合自适应★推荐
├── ATR < 5% → 低波动,固定止损 8%
├── ATR 5~15% → 中波动ATR × 2.5
└── ATR > 15% → 高波动ATR × 2.0(上限 40%
仓位分级(按评分强度)
├── 评分 1.5~3 → 30% 仓位
├── 评分 3~5 → 60% 仓位
└── 评分 > 5 → 100% 仓位
```
## 回测结果摘要(近 2 年)
| 股票 | ATR | C策略 | A 固定12% | B ATR动态 | C 混合★ | 买入持有 |
|------|-----|------|---------|---------|--------|--------|
| 平安好医生 01833 | 3% | 低波动→固定8% | +140% | +130%☆ | +125%☆ | +181% |
| 叮当健康 09886 | 10% | 中波动→ATR×2.5 | +46% | +84%☆ | +84%☆ | -35% |
| 中原建业 09982 | 1% | 低波动→固定8% | 0% | 0% | 0% | -21% |
| **平均** | | | **+62%** | **+71%** | **+70%** | +42% |
> ★=实测 ☆=基于ATR推算yfinance 数据限速,待完整实测验证)
## 文件说明
```
stock-buddy/
├── README.md 本文件
├── TODO.md 待办事项
├── requirements.txt 依赖库
├── stock_backtest_v2.py v2基础三维度评分 + 全仓买卖
├── stock_backtest_v3_ab.py v3固定止损 vs 全仓A/B 对比
├── stock_backtest_v4_ab.py v4固定止损 vs ATR动态A/B 对比
├── stock_backtest_v5_abc.py v5三版本 A/B/C 完整对比(★当前主版本)
└── data/ 本地数据缓存CSV避免重复下载
├── 9982.csv 中原建业(已有)
├── 1833.csv 平安好医生(待下载)
└── 9886.csv 叮当健康(待下载)
```
## 快速开始
```bash
# 安装依赖
pip install -r requirements.txt
# 运行三版本对比回测
python3 stock_backtest_v5_abc.py
# 强制重新下载数据
python3 stock_backtest_v5_abc.py --refresh
# 下载数据缓存(首次或外网环境运行)
python3 download_data.py
```
## 数据说明
数据来源yfinance雅虎财经
> ⚠️ yfinance 有请求频率限制,频繁运行可能触发限速(通常 1~4 小时恢复)。
> 脚本已内置 CSV 缓存机制,下载成功一次后后续直接读本地文件。
## 待完成
详见 [TODO.md](./TODO.md)