问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%范围内,选择连续七天下跌且收盘价在布林线中线与上轨之间的股票。
选股逻辑分析
该选股逻辑侧重于选取市场情绪比较低迷的股票,过去七天表现不佳,并且当前处于上升趋势中的股票。选股条件包括换手率和收盘价在布林线中线与上轨之间。
有何风险?
该选股逻辑过于侧重短期走势,不能有效挖掘长期投资价值。而选股条件过于简单,无法有效排除噪音或市场干扰的影响,可能会出现误判。
如何优化?
可以加入其他技术指标,如RSI、MACD等来加强选股的横向比较和纵向比较,更加全面地评价标的股票。同时,可以考虑将选股条件动态化,根据历史数据和日常市场变化来优化选股条件。
最终的选股逻辑
针对以上分析和风险提示,可以考虑修正选股条件,选择市值较大、成长性较好、历史业绩稳定的股票,并加入其他技术指标来进一步筛选。
最终选股逻辑为:在换手率3%到12%范围内,选择市值大于100亿、过去七天ROE和净利润同比增长率均大于10%且连续七天下跌且收盘价在布林线中线与上轨之间的股票。
同花顺指标公式代码参考
以下是通达信选股公式:
选股公式:
选股条件:TURNOVERRATE > 3 AND TURNOVERRATE < 12 AND COUNT(TRAVEL(CLOSE,1) < 0, 7) = 7 AND CLOSE > BOLL(20, 2) AND CLOSE < BOLL(20, 1) AND CAP >= 100000 AND ROEYOY1 > 10 AND NETPROFITYOY1 > 10
注:CAP为总股本,ROEYOY1为近一年净资产收益率同比增长率,NETPROFITYOY1为近一年净利润增长率。旨在选择市值较大、成长性较好、历史业绩稳定的股票,并加入其他技术指标来进一步筛选。
python代码参考
import pandas as pd
def select_stock(data: pd.DataFrame) -> List[str]:
selected_stocks = []
for code, df in data.groupby(level=0):
if (df['turnoverratio'].iloc[-1] > 3 and df['turnoverratio'].iloc[-1] < 12 and \
df['close'].rolling(window=7).apply(lambda x: (x[:-1] > x[-1]).all()).iloc[-1] and \
df['close'].iloc[-1] > df['boll_mid'].iloc[-1] and df['close'].iloc[-1] < df['boll_upper'].iloc[-1] and \
df['total_mv'].iloc[-1] >= 1e10 and df['roe_yoy'].iloc[-1] > 0.1 and df['net_profit_yoy'].iloc[-1] > 0.1):
selected_stocks.append(code)
return selected_stocks
其中,total_mv为总市值,roe_yoy和net_profit_yoy分别为净资产收益率同比增长率和净利润同比增长率,可以根据实际需求进行指标的修改。需要注意数据源指标名称的相应修改。最终的选股策略可以根据实际情况和市场变化进行微调和调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


