(iwencai量化策略)竞价涨幅>-2<5_、七连阴、今日增仓占比_5%

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

问财量化选股策略逻辑

今日增仓占比>5%

表示最近一段时间内,这只股票的成交量在不断增加,且新增的成交量比例超过了5%,说明市场对该股票的关注度在不断提升,可能有资金在积极介入。

七连阴

七连阴表示这只股票在最近七天内连续下跌,表明市场对该股票的看空情绪较高,可能有投资者在抛售该股票。

竞价涨幅>-2<5%

竞价涨幅表示这只股票在竞价交易阶段的涨幅,如果涨幅大于-2%,说明这只股票的价格在下跌,但跌幅不大,可能有抄底资金在介入;如果涨幅小于5%,说明这只股票的价格在上涨,但涨幅不大,可能有投资者在等待更好的买入机会。

选股逻辑分析

以上三个条件组合在一起,可以筛选出在最近一段时间内连续下跌,但下跌幅度不大,且有抄底资金介入的股票。这些股票可能具有反弹的机会,值得关注。

有何风险?

然而,以上三个条件组合在一起,也可能筛选出一些绩差股或被市场抛弃的股票。因此,在使用以上策略时,需要结合公司的基本面和行业背景进行综合分析,以降低投资风险。

如何优化?

为了进一步提高策略的准确性和稳定性,可以考虑加入更多的条件,例如公司的财务数据、盈利能力、市场份额等。同时,也可以通过调整参数和筛选条件,来优化策略的表现。

最终的选股逻辑

以下是最终的选股逻辑:

def select_stock():
    # 获取所有A股股票
    stocks = get_stocks()

    # 筛选出最近七天内连续下跌的股票
    declining_stocks = [stock for stock in stocks if stock['close'] < stock['close'].shift(-7)]

    # 筛选出竞价涨幅大于-2%且小于5%的股票
    buying_stocks = [stock for stock in declining_stocks if stock['pre_close'] > stock['pre_close'].shift(-1) * (-2 / 5) and stock['pre_close'] < stock['pre_close'].shift(-1) * (5 / 2)]

    # 筛选出今日增仓占比超过5%的股票
    active_stocks = [stock for stock in buying_stocks if stock['net_buy'] / stock['total'] > 0.05]

    # 返回符合条件的股票列表
    return active_stocks

python代码参考

import talib
import pandas as pd

def get_stocks():
    # 获取所有A股股票
    stocks = pd.read_csv('stock_data.csv')
    stocks = stocks[stocks['industry'] == 'A股']
    stocks = stocks[stocks['exchange'] == '深交所']
    stocks = stocks[stocks['is_stocks'] == True]
    stocks = stocks[stocks['close'] > 0]
    stocks = stocks[stocks['close'] < stocks['close'].max()]
    return stocks

def calculate_pre_close(stock):
    # 计算前收盘价
    pre_close = stock['close'].shift(-1)
    pre_close = pre_close.fillna(method='ffill')
    return pre_close

def calculate_net_buy(stock):
    # 计算净买入量
    net_buy = stock['net_buy'] / stock['total']
    return net_buy

def select_stock():
    # 获取所有A股股票
    stocks = get_stocks()

    # 筛选出最近七天内连续下跌的股票
    declining_stocks = [stock for stock in stocks if stock['close'] < stock['close'].shift(-7)]

    # 筛选出竞价涨幅大于-2%且小于5%的股票
    buying_stocks = [stock for stock in declining_stocks if stock['pre_close'] > stock['pre_close'].shift(-1) * (-2 / 5) and stock['pre_close'] < stock['pre_close'].shift(-1) * (5 / 2)]

    # 筛选出今日增仓占比超过5%的股票
    active_stocks = [stock for stock in buying_stocks if stock['net_buy'] / stock['total'] > 0.05]

    # 返回符合条件的股票列表
    return active_stocks

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论