(iwencai量化策略)竞价涨幅>-2<5_、10天内涨停天数大于2、至少5根均线重合的

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 10天内涨停天数大于2
  • 竞价涨幅>-2<5

选股逻辑分析

  • 第一条均线是5日均线,表示最近5天的平均价格。
  • 第二条均线是10日均线,表示最近10天的平均价格。
  • 第三条均线是20日均线,表示最近20天的平均价格。
  • 第四条均线是30日均线,表示最近30天的平均价格。
  • 第五条均线是60日均线,表示最近60天的平均价格。

当5日、10日、20日、30日和60日均线重合时,表示股价在短期内处于相对稳定的水平,可能有上涨的趋势。

有何风险?

  • 该策略的选出的股票可能并不是市场上最优秀的股票,因为仅仅考虑了短期的价格波动。
  • 该策略的选出的股票可能在短期内表现不佳,因为股价可能在短期内出现回调。

如何优化?

  • 可以考虑加入更多均线,例如90日均线、180日均线等,以更好地反映股票的长期趋势。
  • 可以考虑加入其他指标,例如成交量、MACD等,以更好地判断股票的走势。

最终的选股逻辑

  • 选取5日、10日、20日、30日和60日均线重合的股票
  • 选取10天内涨停天数大于2的股票
  • 选取竞价涨幅>-2<5的股票

python代码参考

import tushare as ts

# 设置token
ts.set_token('your_token')

# 初始化pro接口
pro = ts.pro_api()

# 获取所有股票的代码和名称
data = pro.realtime_quotes('600036.XSHG')
codes = data['code']
names = data['name']

# 选取5日、10日、20日、30日和60日均线重合的股票
def get_consecutive_moving_average(codes):
    ma5 = pro.realtime_quotes(codes, fields=['close'], count=5)
    ma10 = pro.realtime_quotes(codes, fields=['close'], count=10)
    ma20 = pro.realtime_quotes(codes, fields=['close'], count=20)
    ma30 = pro.realtime_quotes(codes, fields=['close'], count=30)
    ma60 = pro.realtime_quotes(codes, fields=['close'], count=60)
    ma5 = ma5['close'].values
    ma10 = ma10['close'].values
    ma20 = ma20['close'].values
    ma30 = ma30['close'].values
    ma60 = ma60['close'].values
    return ma5, ma10, ma20, ma30, ma60

# 选取10天内涨停天数大于2的股票
def get_stocks_with_large_gain(codes):
    data = pro.query('ts_code in (%s)' % (', '.join(codes)), fields=['ts_code', 'trade_date', 'is_stk_chg'], count=10)
    df = pd.DataFrame(data, columns=['ts_code', 'trade_date', 'is_stk_chg'])
    df['is_stk_chg'] = df['is_stk_chg'].astype(int)
    df = df[df['is_stk_chg'] > 2]
    codes = df['ts_code'].values
    return codes

# 选取竞价涨幅>-2<5的股票
def get_stocks_with_pro_bidding_price(codes):
    data = pro.query('ts_code in (%s)' % (', '.join(codes)), fields=['ts_code', 'trade_date', 'pre_close', 'pre_open', 'pre_bid', 'pre_ask'], count=10)
    df = pd.DataFrame(data, columns=['ts_code', 'trade_date', 'pre_close', 'pre_open', 'pre_bid', 'pre_ask'])
    df['pre_bid'] = df['pre_bid'].astype(float)
    df['pre_ask'] = df['pre_ask'].astype(float)
    df = df[df['pre_bid'] > df['pre_ask'] - 2]
    df = df[df['pre_bid'] < df['pre_ask'] + 5]
    codes = df['ts_code'].values
    return codes

# 组合筛选条件
codes = get_consecutive_moving_average(codes)
codes = get_stocks_with_large_gain(codes)
codes

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

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

模板如何使用?

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


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

评论