(iwencai选股策略)今日增仓占比_5%_、10日涨幅大于0小于35、至少5根均线重合

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

问财量化选股策略逻辑

首先,我们需要确定一个时间周期,这里我们选择10日。接下来,我们需要找到至少5根均线,这里我们选择5日、10日、20日、50日和200日均线。然后,我们需要筛选出10日涨幅大于0小于35的股票,即上涨趋势明显但涨幅还未过大的股票。最后,我们需要筛选出今日增仓占比大于5%的股票,即机构投资者今日加仓比例较大的股票。

综上所述,我们的选股逻辑如下:

def select_stock():
    # 确定时间周期
    time周期 = 10
    
    # 确定均线
    ma5 = df['close'].rolling(time周期).mean()
    ma10 = df['close'].rolling(time周期).mean()
    ma20 = df['close'].rolling(time周期).mean()
    ma50 = df['close'].rolling(time周期).mean()
    ma200 = df['close'].rolling(time周期).mean()
    
    # 筛选出10日涨幅大于0小于35的股票
    df['10_day_return'] = df['close'].pct_change(time周期)
    df = df[df['10_day_return'] > 0]
    df = df[df['10_day_return'] < 35]
    
    # 筛选出今日增仓占比大于5%的股票
    df['net_amount'] = df['amount'] - df['amount'].shift(time周期)
    df['net_amount'] = df['net_amount'].cumsum()
    df = df[df['net_amount'] > 0]
    df = df[df['net_amount'] / df['amount'].sum() > 0.05]
    
    # 将所有符合条件的股票合并
    selected_stocks = df.merge(ma5, on='date')
    selected_stocks = selected_stocks.merge(ma10, on='date')
    selected_stocks = selected_stocks.merge(ma20, on='date')
    selected_stocks = selected_stocks.merge(ma50, on='date')
    selected_stocks = selected_stocks.merge(ma200, on='date')
    
    # 返回符合条件的股票列表
    return selected_stocks

选股逻辑分析

以上策略基于5日、10日、20日、50日和200日均线的移动平均线来筛选股票,这些均线能够反映股票的长期趋势和短期波动。同时,策略还考虑了10日涨幅和今日增仓占比两个因素,这两个因素能够反映股票的上涨动力和机构投资者的参与程度。综合来看,该策略能够筛选出一些具有上涨潜力和机构投资者参与的股票。

然而,该策略也存在一些风险。首先,该策略只考虑了短期趋势和机构投资者的参与程度,而忽略了其他因素,如公司的财务状况、行业前景等。因此,筛选出的股票可能存在一定的风险。其次,该策略的筛选条件较为严格,可能会漏掉一些具有潜力的股票。最后,该策略只考虑了股票的短期表现,而忽略了长期表现,可能会导致一些股票被筛选出来但实际上表现不佳。

如何优化?

为了优化该策略,我们可以考虑加入一些其他因素,如公司的财务状况、行业前景等。此外,我们还可以考虑调整筛选条件的严格程度,以更好地平衡筛选出的股票的质量和数量。最后,我们还可以考虑加入一些长期表现的指标,如市盈率、市净率等,以更好地评估股票的价值。

最终的选股逻辑

最终的选股逻辑如下:

def select_stock():
    # 确定时间周期
    time周期 = 10
    
    # 确定均线
    ma5 = df['close'].rolling(time周期).mean()
    ma10 = df['close'].rolling(time周期).mean()
    ma20 = df['close'].rolling(time周期).mean()
    ma50 = df['close'].rolling(time周期).mean()
    ma200 = df['close'].rolling(time周期).mean()
    
    # 筛选出10日涨幅大于0小于35的股票
    df['10_day_return'] = df['close'].pct_change(time周期)
    df = df[df['10_day_return'] > 0]
    df = df[df['10_day_return'] < 35]
    
    # 筛选出今日增仓占比大于5%的股票
    df['net_amount'] = df['amount'] - df['amount'].shift(time周期)
    df['net_amount'] = df['net_amount'].cumsum()
    df = df[df['net_amount']

## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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


## 如果有任何问题请添加 下方的二维码进群提问。
![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论