(iwencai量化策略)竞价涨幅>-2<5_、昨日9_15匹配价跌停、今日增仓占比_5%

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

问财量化选股策略逻辑

  • 今日增仓占比>5%, 表示这只股票最近有资金流入,说明有主力资金在关注这只股票。
  • 昨日9:15匹配价跌停, 表示这只股票在昨日开盘价跌停,说明市场对该股票的预期非常悲观。
  • 竞价涨幅>-2<5, 表示这只股票在竞价阶段的涨幅在-2%到5%之间,说明这只股票有比较大的波动性。

选股逻辑分析

  • 今日增仓占比>5%, 表示这只股票有主力资金流入,说明有资金对该股票的预期比较乐观,可能会带来股价的上涨。
  • 昨日9:15匹配价跌停, 表示市场对该股票的预期非常悲观,可能会导致股价的下跌。
  • 竞价涨幅>-2<5, 表示这只股票在竞价阶段的波动性较大,可能会带来一定的风险。

有何风险?

  • 由于这只股票有较大的波动性,可能会带来一定的风险。
  • 如果这只股票没有主力资金流入,可能会导致股价的下跌。

如何优化?

  • 可以考虑加入更多因素来优化选股逻辑,例如这只股票的市值、市盈率等。
  • 可以考虑加入更多的技术指标来优化选股逻辑,例如布林线、移动平均线等。

最终的选股逻辑

  • 今日增仓占比>5%, 昨日9:15匹配价跌停, 竞价涨幅>-2<5, 表示这只股票有主力资金流入,市场对该股票的预期比较悲观,波动性较大,但有一定的上涨潜力。

python代码参考

  • 以下代码使用了问财的量化交易库,需要先安装问财库。
  • 可以使用以下代码来实现上述的选股逻辑:
import talib
from qtpylib import talib as talib_qtpy
from qtpylib.data import yf

def get筛选条件():
    # 获取今日的股票数据
    df = yf.download('600036', start='2021-01-01', end='2021-01-01')
    # 获取今日的股票成交量数据
    df_v = df['volume']
    # 获取今日的股票增仓数据
    df_a = df['amount']
    # 计算今日的股票增仓占比
    df_a = df_a / df_v
    # 获取昨日的股票跌停数据
    df_d = df['close'].shift(1)
    df_d = df_d.where(df_d <= 0, 0)
    df_d = df_d.shift(-1)
    df_d = df_d.where(df_d >= 0, 0)
    df_d = df_d.where(df_d == 0, np.nan)
    df_d = df_d.dropna()
    df_d = df_d.iloc[:-1]
    df_d = df_d['close']
    # 计算昨日的股票跌停价
    df_l = df_d.mean()
    # 获取昨日的股票竞价涨幅数据
    df_p = df['high'] - df['open']
    df_p = df_p.where(df_p >= 0, 0)
    df_p = df_p.where(df_p == 0, np.nan)
    df_p = df_p.dropna()
    df_p = df_p.iloc[:-1]
    df_p = df_p['high'] - df['open']
    # 计算竞价涨幅的均值
    df_m = df_p.mean()
    # 判断是否满足筛选条件
    df筛选 = df_a > 0.05
    df筛选 = df筛选 & df_d == df_l
    df筛选 = df筛选 & df_p > -2
    df筛选 = df筛选 & df_p < 5
    return df筛选

def get股票池():
    # 获取所有股票的代码
    codes = yf.ticker.all_codes()
    # 获取筛选后的股票数据
    df筛选 = get筛选条件()
    # 获取股票池
    df_pool = df筛选.index[df筛选]
    return codes[df_pool]

def get_top_n(df_pool, n):
    # 获取股票池的成交量数据
    df_v = df_pool['volume']
    # 获取股票池的成交额数据
    df_m = df_pool['amount']
    # 计算股票池的成交额排名
    df_rank = df_m.rank(pct=True)
    # 获取股票池的成交量排名
    df_v_rank = df_v.rank(pct=True)
    # 获取股票池的成交额和成交量排名

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

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

模板如何使用?

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


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

评论