(iwencai选股策略)近一个月内有过涨停_、竞价涨幅>-2<5、今日增仓占比_5%

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

问财量化选股策略逻辑

今日增仓占比>5%,竞价涨幅>-2<5,近一个月内有过涨停

选股逻辑分析

该策略主要关注股票的买入意愿和市场表现。首先,要求股票在今日的增仓比例超过5%,说明机构投资者对该股票较为看好,买入意愿较强。其次,要求股票在竞价阶段的涨幅大于-2%且小于5%,说明股票价格在开盘价附近波动较大,可能存在交易机会。最后,要求股票在过去一个月内有过涨停,说明股票短期内有较强的市场表现。

有何风险?

该策略存在一定的风险。首先,如果机构投资者买入意愿过强,可能导致股票价格短期内快速上涨,投资者可能无法及时买入。其次,如果股票在竞价阶段的涨幅过大,可能导致股票价格在开盘价附近出现回调,投资者可能面临损失。最后,如果股票在过去一个月内没有出现过涨停,说明股票市场表现较弱,可能存在交易风险。

如何优化?

为了降低风险,可以考虑以下优化措施:

  1. 设置合理的买入价格,避免在股票价格快速上涨时买入。
  2. 对股票价格波动进行限制,避免在股票价格出现回调时买入。
  3. 在选择股票时,可以考虑加入其他因素,如股票的基本面、技术面等,以提高策略的准确性和稳定性。

最终的选股逻辑

以下是最终的选股逻辑:

def select_stock():
    # 获取今日所有股票的增仓比例和竞价涨幅数据
    data = get_stock_data()
    
    # 选择今日增仓比例超过5%的股票
    selected_stocks = data[data['volume_change'] > 0.05]['code'].tolist()
    
    # 选择竞价涨幅大于-2%且小于5%的股票
    selected_stocks = selected_stocks[
        data[selected_stocks]['pre_close'] * 1.05 > data[selected_stocks]['open'] 
        and data[selected_stocks]['pre_close'] * 0.95 < data[selected_stocks]['open']]
    
    # 选择过去一个月内有过涨停的股票
    selected_stocks = selected_stocks[
        data[selected_stocks]['pre_close'] * 1.05 > data[selected_stocks]['open'] 
        and data[selected_stocks]['pre_close'] * 0.95 < data[selected_stocks]['open']
        and data[selected_stocks]['close'] > data[selected_stocks]['open'] * 1.05
        and data[selected_stocks]['close'] < data[selected_stocks]['open'] * 1.1]
    
    return selected_stocks

python代码参考

import talib
import pandas as pd

def get_stock_data():
    # 获取股票数据
    data = pd.read_csv('stock_data.csv')
    
    # 计算今日增仓比例
    data['volume_change'] = data['volume'] / data['volume'].shift(1)
    data['volume_change'] = data['volume_change'].fillna(0)
    data['volume_change'] = data['volume_change'] * 100
    
    # 计算竞价涨幅
    data['pre_close'] = data['close'].shift(1)
    data['open'] = data['open'].shift(1)
    data['pre_close'] = data['pre_close'].fillna(data['close'])
    data['open'] = data['open'].fillna(data['close'])
    data['pre_close'] = data['pre_close'] * 100
    data['open'] = data['open'] * 100
    data['pre_close'] = talib.MAX(data['pre_close'], data['open'])
    data['open'] = talib.MIN(data['pre_close'], data['open'])
    data['pre_close'] = data['pre_close'] - data['open']
    
    return data

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论