问财量化选股策略逻辑
选股逻辑为:振幅大于1、PE>0、连续5年ROE>15%。将选股逻辑作为第一个标题放入段落中。
选股逻辑分析
该选股策略的逻辑如下:
1.振幅大于1:表示该股票交易活跃度较高;
2.PE>0:表示该股票未亏损,有一定盈利能力;
3.连续5年ROE>15%:表示该股票有较好的盈利能力,具有一定的长期投资价值。
综合以上三个点,在符合阈值要求的股票中进行选择。
有何风险?
该选股策略的可能风险包括:
1.振幅大的股票可能存在波动性较大的风险;
2.PE>0仅表示企业未亏损,不能代表企业的盈利能力非常强大;
3.连续5年ROE>15%可能使得筛选范围较小,使得选股难度较大。
如何优化?
为了降低风险和提高选股准确率,可以在以上基础上进行如下优化:
1.加入其他技术指标,如MACD、RSI等,进行综合筛选;
2.加入其他基本面指标,如市值、净利润等,进行综合筛选;
3.加入自定义策略,如选取连续5年ROE不少于10%且未被亏损的行业中的个股进行筛选,以提高选股的准确性。
最终的选股逻辑
综合以上分析和优化,我们最终的选股逻辑为:在振幅较大、盈利能力好、具有长期盈利潜力的股票中进行选择,并结合其他技术指标和基本面指标进行综合分析,以尽可能降低风险,提高选股准确率。
同花顺指标公式代码参考
该策略可引入以下指标进行辅助分析:
1.振幅的指标。
振幅:
((HIGH-LOW)/REF(CLOSE,1))>0.01
2.PE的指标。
同花顺PE指标:
pe > 0
3.ROE的指标。
5年ROE均值大于等于15%的公式:
(AVE(ROE,5)/100)>=0.15
Python代码参考
以下是使用Python进行选股的代码参考:
import pandas as pd
import tushare as ts
def stock_selection():
# 获取股票数据
all_data = ts.get_k_data("002230", ktype="D")
all_data = pd.DataFrame(all_data, columns=["date", "open", "close", "high", "low", "volume", "code"])
# 振幅大于1,PE>0,连续5年ROE>15%
condition1 = ((all_data["high"] - all_data["low"]) / all_data["close"].shift(1) > 0.01)
condition2 = all_data["pe"] > 0
condition3 = pd.Series([all_data["code"][i] for i in range(4, len(all_data))]).apply(lambda x: ts.get_profit_data(x).iloc[-5:]["roe"].mean() >= 15)
# 返回符合条件的股票代码
return all_data[condition1 & condition2 & condition3]["code"].values.tolist()
其中,在代码中需要根据实际需求进行相应的设置。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
