问财量化选股策略逻辑
本选股策略为:RSI指标小于65,今日上涨幅度大于1%,主板股票,连续5年ROE>15%。期望通过技术面、市场情绪和公司的盈利能力控制,找到具备较好投资价值的高质量股票。
选股逻辑分析
本选股策略增加了连续5年ROE>15%的条件,选取具有高质量的公司股票。同时,RSI指标小于65代表股票处于超卖区间,可以预期股票将会反弹;今日上涨幅度大于1%代表股票动能较强,预期未来将继续上涨;选择主板股票,代表该股票具备较强的市场地位和良好的基本面。期望长期内能够获得具有较好市场表现的投资收益,同时避免行业、技术面和资金面的风险。
有何风险?
ROE指标单一,不一定能够反映出公司的整体业绩,不能完全代表公司盈利能力。同时,虽然连续5年ROE>15%代表公司的盈利水平较高,但这个条件也可能排除了一些正在成长期的好公司。
如何优化?
可以结合其他基本面指标(如市盈率、市净率、PEG等)综合判断股票的投资价值。同时,在风险控制的前提下,尽量扩大选股范围,提高选股的灵活性。
最终的选股逻辑
本选股策略为:RSI指标小于65,今日上涨幅度大于1%,主板股票,连续5年ROE>15%。期望通过技术面、市场情绪和公司的盈利能力控制,找到具备较好投资价值的高质量股票。
同花顺指标公式代码参考
连续5年ROE>15%:ROE>15 AND COUNT(MTM_ROE>15, 5)>=5
python代码参考
# 导入需要使用的库
import pandas as pd
import tushare as ts
# 选股函数
def stock_picking():
# 获取RSI指标小于65、今日上涨幅度大于1%、主板股票、近25个交易日有单日涨幅大于等于百分之10的股票
data = ts.get_today_all()
data.dropna(inplace=True)
hist_data = ts.get_hist_data(code_list=data['code'].tolist(), ktype='D', start=(pd.Timestamp.today() - pd.Timedelta('300 days')).strftime('%Y-%m-%d'))
calc_data = pd.concat([data, hist_data], axis=1, join='inner')
finance_data = ts.get_profit_data(year=pd.Timestamp.today().year-1)
merge_data = pd.merge(calc_data, finance_data, on='code')
filter_data = merge_data[(merge_data['rsi'] < 65) & (merge_data['changepercent'] > 1.0) & (merge_data['stock_type'] == '主板') & (merge_data['roe'] > 15) & (pd.rolling_apply(merge_data['roe']>15,5,sum)>=5)]
filter_data = filter_data[['name', 'industry', 'open', 'price', 'outstanding', 'totals', 'totalAssets', 'liquidAssets', 'fixedAssets', 'reserved','reservedPerShare', 'esp', 'bvps', 'pb', 'timeToMarket']]
return filter_data
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


