问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%、连续七天下跌、2021年营收比2018年营收增长率大于10%的股票中进行选择。
选股逻辑分析
该选股逻辑结合了公司的基本面和技术指标,通过筛选在一定换手率和连续下跌条件下,营收增长较好的股票,寻找具有投资价值的股票。
有何风险?
该选股逻辑的风险在于,过于依赖历史财务数据,未考虑未来的业绩变化可能对股票的影响,同时连续下跌不一定代表一定要触底反弹,可能并不具备趋势反转的条件。
如何优化?
为了降低风险,我们可以在选择股票时,关注公司的基本面情况,综合考虑多个方面的指标来评估选股风险和收益;同时,可以加入更多选股条件,如市盈率、市净率等,以提高投资成功的概率。
最终的选股逻辑
选股在换手率3%到12%、连续七天下跌、2021年营收比2018年营收增长率大于10%的股票中进行选择,同时关注公司的基本面情况,综合考虑多个方面的指标来评估选股风险和收益。
同花顺指标公式代码参考
以下是同花顺指标所需的公式:
选股公式:
选股条件:(NOT DFCF(_FCODE, 'CWX_QKBD')) AND (NOT DFCF(_FCODE, 'CWX_KCB')) AND (NPParentCompanyYOYGR > 1.1) AND (-LOW == LLV(-LOW, 7));
DFCF(_FCODE, 'CWX_QKBD'):科创板
DFCF(_FCODE, 'CWX_KCB'):创业板
注:选股公式中的 NPParentCompanyYOYGR、STREND 和 LOW == LLV(-LOW, 7) 需要根据自己数据源的指标名做相应修改。
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['NPParentCompanyYOYGR'].iloc[-1] / df['NPParentCompanyYOYGR'].iloc[-3] > 1.1) and \
not df['CWX_QKBD'].any() and not df['CWX_KCB'].any()):
selected_stocks.append(code)
return selected_stocks
其中,rolling函数表示滚动窗口计算指标,TURNOVERRATE表示换手率,可以通过TA库等开源库来计算。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
