写在前面
市面上量化策略教程太多,但能跑的不多。这篇我教你构建一个简单有效的选股策略,代码可以直接复制使用。
策略思路
我们用三个最常见的因子:
- 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
注意事项
- 这只是基础策略,实盘需要考虑滑点、手续费
- 每季度需要重新调仓
- 配合风控使用效果更好
下期预告
下一期我会讲如何用Python做择时,结合技术指标过滤信号,敬请期待。
有问题评论区见!
免责声明:本文仅供技术学习交流,不构成任何投资建议。股市有风险,投资需谨慎。