# 关羽 - 价值+技术综合选股策略 ## 策略概述 基于五虎上将多因子选股体系第二部分实现的综合选股策略,采用**价值筛选 + 技术确认**双轮驱动模式,在控制风险的前提下追求稳健收益。 ### 核心框架 ``` 价值筛选(缩小范围)→ 技术确认(入场点)→ 仓位控制(风险管理)→ 入场执行 → 持仓监控(出场) ``` ### 预期绩效 | 指标 | 数值 | |------|------| | 年化收益 | 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. 安装依赖 ```bash pip install akshare pandas numpy ``` ### 2. 基础使用 ```python 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. 运行完整策略 ```bash # 进入策略目录 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股市场特征 1. **T+1制度**:当天买入次日才能卖出,影响短期策略效果 2. **涨跌停板**:极端行情可能无法及时止损,需要预留缓冲 3. **流动性**:必须过滤小市值股票,防止无法卖出 4. **数据延迟**:免费数据源可能有延迟,实际使用需注意 ### 数据依赖 当前使用 **akshare** 作为数据源: - 股票列表:`ak.stock_zh_a_spot_em()` - 历史行情:`ak.stock_zh_a_hist()` - 财务指标:需补充 `ak.stock_financial_analysis_indicator()` ### 风控建议 1. **严格止损**:达到止损条件坚决执行,不抱侥幸心理 2. **分散持仓**:单票仓位不超过风险偏好限制 3. **行业分散**:避免过度集中在单一行业 4. **总仓位控制**:市场极端情况下主动降低总仓位 ## 扩展优化方向 1. **财务数据补充**:接入完整的财务指标数据(ROE、商誉、质押率等) 2. **行业分类**:实现行业集中度控制 3. **因子增强**:增加更多技术因子(KDJ、布林带、RSI等) 4. **回测验证**:实现完整的历史回测框架 5. **实盘对接**:对接券商交易接口实现自动化交易 ## 贡献者 - **关羽**:策略设计者,价值+技术综合选股框架 - **庞统**:代码实现与整合 ## 版本 - v1.0.0 (2026-03-24) - 初始版本,实现核心功能 --- *"威震华夏,义薄云天" — 关羽策略,价值为基,技术为锋,风控为盾* ⚔️