问财量化选股策略逻辑
本选股策略选取振幅大于1、上市时间大于一年、过去连续五年ROE大于15%的股票。
选股逻辑分析
ROE是衡量企业盈利能力和资本利用效率的指标,连续五年ROE大于15%的股票具有较好的盈利能力。振幅和上市时间与之前的策略相同。
有何风险?
ROE只能反映企业过去的盈利情况,不能代表企业未来的盈利表现。若产业景气或行业环境发生改变,ROE可能下降,从而影响股票表现。此外,ROE不同行业之间的比较性有限,需要考虑行业特点。
如何优化?
可以结合其他指标如PEG、市盈率等进行进一步筛选,确定股票的投资价值和潜力。同时,应该对选取到的股票进行广泛的研究和分析,以确定其是否具有足够的长期投资价值。
最终的选股逻辑
本选股策略选取振幅大于1、上市时间大于一年、过去连续五年ROE大于15%的股票。
同花顺指标公式代码参考
振幅和上市时间与之前的策略相同。过去五年ROE可使用通达信公式:(Q4(净利润/每股净资产)/5) > 0.15
python代码参考
# 引入Tushare库
import tushare as ts
# 连接Tushare库
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
today = pro.trade_cal(exchange='', is_open='1')["cal_date"].values[-1]
for i in range(3):
# 筛选出振幅大于1、上市时间大于一年的股票
basic = pro.stock_basic(list_status='L', fields='ts_code,name,list_date')
basic = basic[basic["list_date"].apply(int).apply(lambda x: (int(today) - x) > 365)]
stock_list = basic["ts_code"].tolist()
# 筛选出过去五年ROE大于15%的股票
indicators = pro.fin_indicator(ts_code=",".join(stock_list),
start_date=str(int(today)-600),
end_date=today,
fields="ts_code,end_date,roediluted")
indicators["roediluted"] = indicators["roediluted"].fillna(0)
recent_roe = indicators.groupby("ts_code")["roediluted"].apply(lambda x: (x > 0.15).all()).reset_index(name='recent_roe')
for code in stock_list:
if recent_roe[recent_roe['ts_code']==code]["recent_roe"].values:
selected_stocks.append(code)
if len(selected_stocks) >= n:
break
if len(selected_stocks) >= n:
break
return selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


