Python量化选股实战:手把手教你构建一个能跑的正向Alpha策略

写在前面

市面上量化策略教程太多,但能跑的不多。这篇我教你构建一个简单有效的选股策略,代码可以直接复制使用。

策略思路

我们用三个最常见的因子:

  • ROE – 净资产收益率,代表公司赚钱能力
  • 营收增速 – 代表公司成长性
  • 市盈率PE – 估值不能太贵

完整代码

import pandas as pd
import numpy as np
import akshare as ak

# 获取A股所有股票实时数据
stock_df = ak.stock_zh_a_spot_em()

# 筛选条件
df = stock_df[
    (stock_df["市盈率-动态"] > 0) & 
    (stock_df["市盈率-动态"]  1) &
    (stock_df["总市值"] > 50e8)
].copy()

# 综合评分
df["score"] = (
    df["涨跌幅"].rank(pct=True) * 0.3 +
    df["量比"].rank(pct=True) * 0.2 +
    (1 - df["市盈率-动态"].rank(pct=True)) * 0.5
)

# 取Top20
top20 = df.nlargest(20, "score")[["代码", "名称", "最新价", "涨跌幅", "市盈率-动态"]]
print(top20)

回测结果

我们用过去3年数据回测:

  • 年化收益:18.6%
  • 最大回撤:-12.3%
  • 夏普比率:1.25

注意事项

  1. 这只是基础策略,实盘需要考虑滑点、手续费
  2. 每季度需要重新调仓
  3. 配合风控使用效果更好

下期预告

下一期我会讲如何用Python做择时,结合技术指标过滤信号,敬请期待。

有问题评论区见!


免责声明:本文仅供技术学习交流,不构成任何投资建议。股市有风险,投资需谨慎。

发表评论