(iwencai量化策略)竞价涨幅>-2<5_、深证主板中市盈率0-29

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

问财量化选股策略逻辑

选股逻辑:选择RSI小于65的股票,深证主板中市盈率在0-29.01之间,市净率在0-3.11之间,同时竞价涨幅在-2%到5%之间的股票。

选股逻辑分析

该选股逻辑在技术面和基本面综合考虑,技术面选取RSI小于65的股票,筛选出近期入场较佳的可能性较高的股票,并结合竞价涨幅判断股票短期内是否受到市场的热捧;基本面选取市盈率和市净率在合理范围内,同时结合流通市值,寻找具有一定规模和稳定性的股票。

有何风险?

该选股逻辑较为依赖技术面指标和竞价涨幅,而这两个指标都有很大的随机性和不确定性,当市场行情异常时容易出现选股不准确的情况,股票的涨跌也可能受到其他因素的影响。同时,竞价涨幅也可能受到大宗交易等因素的影响。

如何优化?

在保留已有指标的基础上,可以加入其他指标例如市场热度、大宗交易等来评估股票的短期表现。可以考虑引入机器学习等算法,从历史数据中挖掘出更有效的选股逻辑。同时,在市场行情不确定的情况下,可以根据技术面指标的变化频率、带宽等对技术面指标进行分析和加权。

最终的选股逻辑

选股逻辑:选择RSI小于65的股票,深证主板中市盈率在0-29.01之间,市净率在0-3.11之间,同时竞价涨幅在-2%到5%之间的股票。

同花顺指标公式代码参考

  • RSI小于65: RSI(C, 14) < 65
  • 深证主板中市盈率0-29.01: PE>0 AND PE<29.01
  • 市净率0-3.11: PB>0 AND PB<3.11
  • 竞价涨幅-2%到5%: (CP-JS)/JS>=-0.02 AND (CP-JS)/JS<0.05

python代码参考

import pandas as pd
import tushare as ts

# 连接tushare并获取股票基本信息
token = 'token'
pro = ts.pro_api(token)
basic = pro.stock_basic(exchange='SZSE', list_status='L', fields='ts_code,symbol,name,area,industry,pe,roe,eps,circ_mktcap')

# 初始化条件
rsi = 65
pe_low = 0
pe_high = 29.01
pb_low = 0
pb_high = 3.11
jbzf_low = -0.02
jbzf_high = 0.05

# 遍历每支股票
result = []
for code in basic['ts_code']:
    # 判断条件
    finance = pro.query('daily_basic', ts_code=code, fields='pe,pb,circ_mktcap')
    if finance.empty: continue
    pe = finance['pe'].iloc[-1]
    pb = finance['pb'].iloc[-1]
    circ_mktcap = finance['circ_mktcap'].iloc[-1]
    if pe < pe_low or pe > pe_high or pb < pb_low or pb > pb_high or circ_mktcap < circ_mktcap_low or circ_mktcap > circ_mktcap_high: continue
    tech = pro.query('daily', ts_code=code, fields='open,high,low,close')
    if tech.empty: continue
    # 计算指标并判断是否符合条件
    open_price = tech['open'].iloc[-1]
    close_price = tech['close'].iloc[-1]
    high_price = tech['high'].iloc[-1]
    low_price = tech['low'].iloc[-1]
    rsi = talib.RSI(close_price, timeperiod=14)[-1]
    jbzf = (close_price - open_price) / open_price
    if jbzf >= jbzf_low and jbzf < jbzf_high and rsi < rsi_threshold:
        result.append([code, basic[basic['ts_code'] == code].iloc[0]['name']])
# 将符合条件的代码和名称加入结果列表
result_df = pd.DataFrame(result, columns=['代码', '名称'])
result_df.to_excel('result.xlsx', index=False)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论