63d58ec123
补充内容: - Python环境检查(3.14.3,核心依赖完整) - vn.py环境检查(4.3.0,sanguo集成) - 数据库配置检查 - 目录结构验证 - 模块导入测试 - 四位将军环境就绪状态 - 综合环境评估(9.5/10) - 完整部署说明 - 依赖列表安装指南 更新人:姜维(伯约) 检查时间:2026-03-24 12:33 GMT+8 更新时间:2026-03-24 18:24 GMT+8 结论:环境完全就绪
5.1 KiB
5.1 KiB
关羽 - 价值+技术综合选股策略
策略概述
基于五虎上将多因子选股体系第二部分实现的综合选股策略,采用价值筛选 + 技术确认双轮驱动模式,在控制风险的前提下追求稳健收益。
核心框架
价值筛选(缩小范围)→ 技术确认(入场点)→ 仓位控制(风险管理)→ 入场执行 → 持仓监控(出场)
预期绩效
| 指标 | 数值 |
|---|---|
| 年化收益 | 14-17% |
| 最大回撤 | 28-38% |
| 夏普比率 | 0.75-0.85 |
| 卡玛比率 | 0.4-0.5 |
策略特点
1. 价值筛选(风控前置)
排除高风险股票:
- ❌ ST/*ST股票
- ❌ 商誉>20%
- ❌ 大股东质押>50%
- ❌ 连续亏损
- ❌ 低流动性(流通市值<10亿)
估值指标筛选:
- ✅ PE < 阈值(根据风险偏好)
- ✅ PB < 阈值(根据风险偏好)
- ✅ ROE > 阈值(根据风险偏好)
2. 技术确认(入场时机)
技术信号过滤:
- ✅ 股价站在20日均线上(短期趋势向上)
- ✅ 近一个月跌幅不超过20%(排除暴跌趋势)
- ✅ 无极端放量(排除主力出货)
- ✅ MAC MACD金叉或MACD在零轴上方(可选增强)
3. 仓位控制(风险管理)
三种风险偏好:
| 项目 | 保守型 | 平衡型 | 进取型 |
|---|---|---|---|
| PE上限 | < 15 | < 25 | < 35 |
| PB上限 | < 1.5 | < 2.5 | < 3 |
| ROE下限 | > 12% | > 10% | > 8% |
| 单票上限 | 5-8% | 10-15% | 20-25% |
| 行业上限 | 20% | 25% | 30% |
| 股票数量 | 15-20只 | 10-15只 | 5-10只 |
| 止损幅度 | 5% | 6% | 8% |
4. 入场出场规则
入场条件:
- 通过价值筛选
- 通过技术信号确认
- 仓位计算满足风控要求
出场条件:
- 止损:收盘价跌破20日均线 或 单笔亏损5-8%
- 止盈:收益达到30%(可选)
使用方法
1. 安装依赖
pip install akshare pandas numpy
2. 基础使用
from guanyu_value_tech_strategy import GuanYuValueTechStrategy
# 创建策略实例
strategy = GuanYuValueTechStrategy(
risk_profile='balanced', # 保守型/平衡型/进取型
total_capital=1000000.0 # 总资金(元)
)
# 运行策略
result = strategy.run()
# 查看结果
if result['success']:
print(f"选中股票: {len(result['final_stocks'])} 只")
print(f"生成订单: {len(result['orders'])} 个")
# 打印订单详情
strategy.print_orders(result['orders'])
3. 运行完整策略
# 进入策略目录
cd /path/to/sanguo_quant_live/strategies
# 运行策略
python guanyu_value_tech_strategy.py
4. 查看结果
结果将保存到:
sanguo_quant_live/results/guanyu_strategy_result.csv
代码结构
guanyu_value_tech_strategy.py
├── RiskProfile # 风险偏好配置类
├── ValueFilter # 价值筛选器
│ ├── filter_basic_risks() # 排除基本风险
│ ├── filter_valuation_metrics() # 估值指标筛选
│ └── filter_quality_metrics() # 质量指标筛选
├── TechnicalFilter # 技术信号过滤器
│ ├── check_trend_up() # 检查趋势向上
│ ├── check_recent_drawdown() # 检查回撤
│ ├── check_volume_surge() # 检查放量
│ └── check_macd_signal() # 检查MACD信号
├── PositionManager # 仓位管理器
│ ├── calculate_position_size() # 计算仓位
│ ├── calculate_stop_loss() # 计算止损价
│ └── generate_entry_orders() # 生成入场订单
└── GuanYuValueTechStrategy # 主策略类
注意事项
A股市场特征
- T+1制度:当天买入次日才能卖出,影响短期策略效果
- 涨跌停板:极端行情可能无法及时止损,需要预留缓冲
- 流动性:必须过滤小市值股票,防止无法卖出
- 数据延迟:免费数据源可能有延迟,实际使用需注意
数据依赖
当前使用 akshare 作为数据源:
- 股票列表:
ak.stock_zh_a_spot_em() - 历史行情:
ak.stock_zh_a_hist() - 财务指标:需补充
ak.stock_financial_analysis_indicator()
风控建议
- 严格止损:达到止损条件坚决执行,不抱侥幸心理
- 分散持仓:单票仓位不超过风险偏好限制
- 行业分散:避免过度集中在单一行业
- 总仓位控制:市场极端情况下主动降低总仓位
扩展优化方向
- 财务数据补充:接入完整的财务指标数据(ROE、商誉、质押率等)
- 行业分类:实现行业集中度控制
- 因子增强:增加更多技术因子(KDJ、布林带、RSI等)
- 回测验证:实现完整的历史回测框架
- 实盘对接:对接券商交易接口实现自动化交易
贡献者
- 关羽:策略设计者,价值+技术综合选股框架
- 庞统:代码实现与整合
版本
- v1.0.0 (2026-03-24) - 初始版本,实现核心功能
"威震华夏,义薄云天" — 关羽策略,价值为基,技术为锋,风控为盾 ⚔️