问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%、连续七天下跌以及归属母公司股东的净利润同比增长率大于20%小于等于100%的股票中进行选择。
选股逻辑分析
该选股逻辑从市场情绪和公司基本面两方面出发,首先选取了连续下跌的股票来避免市场情绪较差的时期出现大幅回撤,同时还加入了公司基本面的因素,选取了归属母公司股东的净利润同比增长率在20%到100%之间的股票,可以筛选出业绩较好的股票。
有何风险?
该选股逻辑的风险在于仅仅从两个角度出发进行选股,可能忽略了其他重要因素,如宏观经济情况、公司估值等,选择出的股票可能并没有太高的投资价值。
如何优化?
为了降低风险,同样可以加入更多的选股因素,如宏观经济情况和公司估值等,以综合考虑多个方面的指标,评估选股风险和收益。同时,也可以适度调整选股条件,如增加交易量等条件,以提高筛选的准确性。
最终的选股逻辑
在换手率3%到12%、连续七天下跌以及归属母公司股东的净利润同比增长率大于20%小于等于100%的股票中进行选择,并加入宏观经济情况和公司估值等指标,综合考虑,评估选股风险和收益。
同花顺指标公式代码参考
以下是同花顺指标所需的公式:
选股公式:
选股条件:TURNOVERRATE > 3 AND TURNOVERRATE < 12 AND -Σ(L < REF(L, 1) WHEN L < REF(L, 1), 7) == 7 AND MULTIPLY(TR.NETPROFITPARENTYOY, 100) > 20 AND MULTIPLY(TR.NETPROFITPARENTYOY, 100) <= 100
注:其中 TURNOVERRATE 表示换手率, TR.NETPROFITPARENTYOY 表示归属母公司股东的净利润同比增长率,同样需要根据自己数据源的指标名做相应修改。
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['turnoverratio'].iloc[-1] > 3 and \
df['turnoverratio'].iloc[-1] < 12 and \
(df['close'] < df['open']).rolling(window=7).sum().iloc[-1] == 7 and \
(df['netprofitparentcompanygrowrate'].iloc[-1] > 0.2) and \
(df['netprofitparentcompanygrowrate'].iloc[-1] <= 1) ):
selected_stocks.append(code)
return selected_stocks
可以根据需要调整选股条件,并根据自己数据源的指标名做相应修改。同时,使用startswith函数来选择自己感兴趣的行业的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
