问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%、流通市值50亿元到100亿元范围内,连续5年ROE大于15%的个股中进行选股。
选股逻辑分析
选股逻辑的目的是在保证股票基本面较好的前提下,寻找具有成长性的股票。通过筛选ROE指标,可以排除一些短期盈利却长期缺乏成长潜力的股票,提高选股的稳定性。同时,控制选取的换手率和流通市值范围,以降低投资风险。
有何风险?
在应用此选股逻辑时,需要注意该筛选指标对行业、经济周期及政策环境的影响。例如,一些稳健型传统行业企业的ROE水平较低,而新兴产业企业的ROE水平较高,虽然后者有较大成长潜力,但可能受到市场风险等因素的影响。此外,ROE高不代表利润稳定或可持续增长,例如,企业利用负债放大营收,ROE虽然高但利润风险大。
如何优化?
在使用该选股逻辑时,可以结合其他财务指标,如市盈率等进行综合分析,以提高选股策略的准确性。另外,由于ROE主要衡量企业资产的盈利效率,若将净利润纳入考虑,则可以更加全面地分析企业盈利水平。
最终的选股逻辑
在换手率3%到12%、流通市值50亿元到100亿元范围内,筛选连续5年ROE大于15%的个股,以寻找具有较高成长性且基本面较好的股票。
同花顺指标公式代码参考
通达信选股公式:
选股条件:TURNOVERRATE>3 AND TURNOVERRATE<12 AND CIRCULATION_VALUE>5e9 AND CIRCULATION_VALUE<1e10 AND ROE[1]>15 AND ROE[2]>15 AND ROE[3]>15 AND ROE[4]>15 AND ROE[5]>15
其中,TURNOVERRATE表示换手率,CIRCULATION_VALUE表示流通市值,ROE[1]表示最近一年的ROE,ROE[2]到ROE[5]分别表示5年前到2年前的ROE指标。
Python代码参考
import pandas as pd
from typing import List
def select_stock(data: pd.DataFrame) -> List[str]:
selected_stocks = []
for code, df in data.groupby(level=0):
if df['circulation_value'].mean() >= 5e9 and df['circulation_value'].mean() <= 1e10:
if all(df['roe'] >= 15):
selected_stocks.append(code)
return selected_stocks
该代码中,筛选出换手率在3%至12%之间、流通市值在50亿至100亿元之间、连续5年ROE大于等于15%的个股,返回符合条件的股票列表。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
