问财量化选股策略逻辑
选股逻辑为:振幅大于1,企业性质优秀,连续5年ROE>15%。
选股逻辑分析
该选股策略主要关注以下几个方面:
- 振幅大于1表示该股股价近期波动较大,可以抓住投资机会;
- 企业性质优秀可以保证该股在长期内具有较好的价值;
- 连续5年ROE>15%表示该公司能够稳定地赚取高额的利润,具有较强的盈利能力。
综合考虑以上因素可以筛选出具备较好的长期价值、盈利能力强的股票。
有何风险?
该选股逻辑存在以下风险:
- 仅考虑过去5年的ROE表现,忽略近期动态变化,可能存在选股结果不准确的风险;
- 过分依赖ROE这一指标,可能忽略了其他经营指标的影响;
- 振幅作为选股条件过于简单,不一定能够反映出真正的投资机会。
如何优化?
在选股策略上,可以考虑下面的优化措施:
- 考虑不同阶段的ROE变化,例如近5年、近2年等,以便更全面地评估企业的盈利能力;
- 结合其他指标和基本面资料,例如市盈率、市净率等指标,以便更全面地判断企业的价值;
- 根据选股结果推导出其他因素,例如行业因素、竞争因素等,通过深入挖掘得出更优质的选股结果。
最终的选股逻辑
综合以上分析,完善后的选股逻辑如下:
- 振幅大于1;
- 企业性质优秀,包括但不限于利润率、成长性、股息率等;
- 连续5年ROE>15%;
- 根据市场情况和个人风险偏好,选择适当的排名范围;
- 在选股过程中,充分考虑技术指标、基本面指标等多个方面进行筛选;
- 根据综合信息判断股票的投资价值及风险情况,最终得出投资决策。
同花顺指标公式代码参考
该选股逻辑对应的同花顺指标公式如下:
/* 选股公式 */
A:振幅大于1;
B:不包含ST;
C:优选企业性质;
D:连续5年ROE>15%;
A AND B AND C AND D<=N; /* N为排名范围 */
其中,A:振幅大于1
表示该股近期波动较大,可以抓住投资机会。 B:不包含ST
表示排除ST股票。 C:优选企业性质
表示选择优秀的企业性质。 D:连续5年ROE>15%
表示公司能够稳定地赚取高额的利润。 A AND B AND C AND D<=N
表示逻辑与且排名不高于N。
Python代码参考
该选股逻辑的Tushare库Python代码如下:
import tushare as ts
def is_selected(code, eps=1, rank_range=(1, 50)):
'''
判断股票是否满足选股逻辑
'''
if ts.get_stock_basics()[code]['name'].startswith('*ST'):
return False
if ts.get_stock_basics()[code]['totals'] * ts.get_price(code).iloc[-1]['price'] >= 500:
return False
base = ts.get_stock_basics()[code]
if base['roe'] < 0.15 or any(base['dupont'].iloc[-1][['roe','profit_rate','asset_sto_ratio','tax_rate']] < eps):
return False
return True
# 获取热度排名前N的股票列表,遍历股票进行选股
stocks = ts.top_list()
selected_stocks = []
for i in range(N):
code = stocks['code'].iloc[i]
if is_selected(code, rank_range=(1, N)):
selected_stocks.append(code)
# 利用选股结果进行股票交易
for code in selected_stocks:
pass # 参考其他策略
需要根据选股策略修改参数,通过Tushare库获取股票基本面信息和历史交易数据,并利用策略中设定的其他指标进行计算判断,最后利用选股结果进行股票交易。注意代码中各参数的设定,如企业性质优秀、连续5年ROE等。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
