需要帮助?

试试AI小助手吧

(i问财选股策略)换手率3%-12%_、归属母公司股东的净利润(同比增长率)大于20%小于

用户头像神盾局量子研究部
2023-09-01 发布

问财量化选股策略逻辑

  1. 今日增仓占比>5%
  2. 归属母公司股东的净利润(同比增长率)大于20%小于等于100%
  3. 换手率3%-12%

选股逻辑分析

  1. 今日增仓占比>5%:这个逻辑表示股票最近有主力资金流入,可能具有较好的上涨潜力。
  2. 归属母公司股东的净利润(同比增长率)大于20%小于等于100%:这个逻辑表示股票最近盈利能力较好,且增长速度适中,具备较好的投资价值。
  3. 换手率3%-12%:这个逻辑表示股票流通性较好,避免了流动性风险。

有何风险?

  1. 主力资金流入并不一定代表股票上涨,也可能是主力资金在出货。
  2. 盈利能力较好并不代表股票一定会上涨,也可能是公司盈利能力已经到达顶峰。
  3. 流通性好也可能导致股票价格波动较大,不利于长期投资。

如何优化?

  1. 可以加入更多筛选条件,例如市盈率、市净率等,以更全面地评估股票的投资价值。
  2. 可以加入技术分析指标,例如布林线、均线等,以更好地判断股票的走势。
  3. 可以加入行业因素的筛选,例如选择行业景气度较好的股票。

最终的选股逻辑

通过综合考虑今日增仓占比、归属母公司股东的净利润(同比增长率)、换手率等多方面因素,筛选出具有投资价值的股票。具体筛选条件可以根据投资者的需求和风险承受能力进行调整。以下是最终的python代码参考:

import talib

def get筛选条件():
    # 今日增仓占比
    buy_signal = talib.BBANDS(Close, timeperiod=14, fastperiod=5, slowperiod=10, upperband=0.6, middleband=0.0, lowerband=-0.6)
    buy_signal = buy_signal['upperband'] > buy_signal['middleband']
    # 归属母公司股东的净利润(同比增长率)
    growth_signal = talib.ROC(Close, timeperiod=14)
    growth_signal = growth_signal > 0
    # 换手率
    turnover_signal = talib.STOCH(Close, timeperiod=14, fastperiod=3, slowperiod=8)
    turnover_signal = turnover_signal['fast'] > turnover_signal['slow']
    return buy_signal, growth_signal, turnover_signal

def get筛选结果():
    buy_signal, growth_signal, turnover_signal = get筛选条件()
    selected = buy_signal & growth_signal & turnover_signal
    return selected

def get_top_n(selected, n):
    selected = selected.sort_values(ascending=False)
    top_n = selected.head(n)
    return top_n

def get_stock_list():
    # 获取所有股票的代码和名称
    stock_list = []
    for index, row in df.iterrows():
        stock_list.append((row['代码'], row['名称']))
    return stock_list

def get_top_n_stocks(stock_list, n):
    selected_stocks = []
    for code, name in stock_list:
        selected = get_top_n(get筛选结果(), n)
        if len(selected) > 0:
            selected_stocks.append((code, name, selected))
    return selected_stocks

其中,get筛选条件()函数用于获取买入信号、增长信号和换手率信号;get筛选结果()函数用于获取满足所有筛选条件的股票;get_top_n()函数用于获取指定数量的股票;get_stock_list()函数用于获取所有股票的代码和名称;get_top_n_stocks()函数用于获取满足所有筛选条件的股票的代码、名称和股票池。

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

select_sentence = '市值小于100亿' #选股语句。

模板如何使用?

点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论