(supermind量化)流通市值大于100亿元_、涨幅_2

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

问财量化选股策略逻辑

今日增仓占比>5%,涨幅<2.6且涨幅>-5,流通市值大于100亿元

选股逻辑分析

这个策略的逻辑是基于三个条件来筛选股票。首先,要求股票今天的增仓比例大于5%,这意味着机构投资者对这只股票有较大的买入力度。其次,要求股票的涨幅小于2.6%,这意味着这只股票的涨幅没有超过市场平均水平。最后,要求股票的流通市值大于100亿元,这意味着这只股票的规模较大,更有可能成为市场中的领导者。

有何风险?

这个策略的潜在风险是过于依赖机构投资者的买入行为,因为机构投资者的买入行为可能会受到市场环境和政策的影响。此外,如果股票的涨幅过大,也可能导致这只股票被高估,从而带来风险。

如何优化?

为了优化这个策略,可以考虑加入更多的条件来筛选股票,例如加入股票的市盈率、市净率等指标,以更好地评估股票的价值。此外,可以考虑加入技术分析指标,例如收盘价的移动平均线等,以更好地预测股票的走势。

最终的选股逻辑

最终的选股逻辑如下:

import talib

def select_stock():
    # 获取所有A股股票的列表
    stocks = get_stock_list()
    
    # 初始化筛选条件
    selected_stocks = []
    for stock in stocks:
        # 获取股票今天的增仓比例
        buy_amount = get_buy_amount(stock)
        if buy_amount is None:
            continue
        buy_amount_percentage = buy_amount / stock.close * 100
        if buy_amount_percentage > 5:
            selected_stocks.append(stock)
        
        # 获取股票今天的涨幅
        close_price = stock.close
        open_price = stock.open
        high_price = stock.high
        low_price = stock.low
        if close_price > open_price:
            gain_percentage = (close_price - open_price) / open_price * 100
        else:
            gain_percentage = (close_price - low_price) / low_price * 100
        if gain_percentage > 2.6 and gain_percentage < 5:
            selected_stocks.append(stock)
        
        # 获取股票的流通市值
        market_cap = stock.mkt_cap
        if market_cap > 100e9:
            selected_stocks.append(stock)
    
    # 返回筛选后的股票列表
    return selected_stocks

python代码参考

import talib

def get_stock_list():
    # 获取所有A股股票的列表
    stocks = []
    for stock in get_all_stocks():
        if stock.is_a_shares():
            stocks.append(stock)
    return stocks

def get_buy_amount(stock):
    # 获取股票今天的买入金额
    # 注意,这里假设买入行为发生在昨天收盘之后
    data = stock.get_k_data('close', '1d')
    close_prices = data['close']
    volume = data['volume']
    close_amount = close_prices[-1] * volume
    return close_amount

def get_gain_percentage(stock):
    # 获取股票今天的涨幅
    close_price = stock.close
    open_price = stock.open
    high_price = stock.high
    low_price = stock.low
    if close_price > open_price:
        gain_percentage = (close_price - open_price) / open_price * 100
    else:
        gain_percentage = (close_price - low_price) / low_price * 100
    return gain_percentage

def get_mkt_cap(stock):
    # 获取股票的流通市值
    market_cap = stock.mkt_cap
    return market_cap

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧