(iwencai量化策略)竞价涨幅>-2<5_、外盘除内盘大于1

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

问财量化选股策略逻辑

选股逻辑:在 MACD 指标零轴以上、外盘/内盘比例大于1.3、竞价涨幅介于-2%和5%之间的股票中,筛选符合选股条件的股票作为选股结果。

该选股逻辑作为第一个段落放入标题为 ## 问财量化选股策略逻辑 的段落中。分析以上的选股逻辑(每个逻辑以 "," 进行分隔),分析选股的逻辑(放入标题为 ## 选股逻辑分析 的段落),有什么风险?(放入标题为 ## 有何风险? 的段落)如何优化?(放入标题为 ## 如何优化? 的段落)并最终给出完善选股逻辑(放入标题为 ## 最终的选股逻辑 的段落),请用 Markdown 格式。

选股逻辑分析

该选股策略基于 MACD 指标、外盘/内盘比例和竞价涨幅等指标,综合考虑股票的走势等因素,筛选符合条件的股票进行选股。

MACD 指标选股逻辑是基于零轴以上的 MACD 柱确认股票在短期和中期存在上涨趋势。外盘/内盘比例则强调市场的风格转移和成交量,可以对市场整体走势产生启示作用。竞价涨幅的指标可以衡量股票短期内的情绪因素和市场表现,适合用于敏感性高的指标进行选择。

有何风险?

该选股策略存在以下风险:

  1. 该选股策略的逻辑仅考虑了少量的技术指标,过度依赖短期涨幅等因素,跳动变化大,也容易忽略其他影响因素;
  2. 市场行情变化和交易时间短导致筛选的数据小,会对选股结果产生影响;
  3. 股票市场的短期波动和风险因素增加,该策略的稳健性可能会收到影响。

如何优化?

以下是该选股策略的优化建议:

  1. 修正选股逻辑中的竞价涨幅指标,应该结合其他指标一起过滤,提高选股的可靠性和稳健性;
  2. 引入其他基本面和财务数据指标,例如 EPS、PE 等,提升选股模型的全面性和出错率;
  3. 除了 MACD 指标外,也应该引入其它技术指标,例如均线、RSI 等指标来进行选股,全面端到端考虑市场和个股因素;
  4. 区分不同的市场阶段和情况,针对性地调整选股策略和参数,减少市场周期性风险;
  5. 提高交易策略的全流程控制,包括买卖逻辑的完善、交易代码的错误处理、风险控制策略的创造和最佳性价比的评估等。

最终的选股逻辑

选股策略为:在 MACD 指标零轴以上、外盘/内盘比例大于1.3、竞价涨幅介于-2%和5%之间的股票中,筛选符合选股条件的股票作为选股结果。

同花顺指标公式代码参考

以下是该选股逻辑中涉及到的通达信指标公式:

MACD 指标公式同前面的例子。

计算外盘、内盘等指标的公式为:

VOLH:SUM(IFF(LOW=REF(LOW,1),0,VOL*(2*CLOSE-LOW-HIGH)/(HIGH-LOW)),2);
VOL:SUM(VOL,2);

竞价涨幅的指标在通达信中没有具体的函数计算,需要通过其他指标计算,例如动量指标可以计算出买卖决策的强度来衡量股票上涨的可能性,暂不赘述。

Python代码参考

以下是获取符合选股条件的股票列表的 Python 代码:

import tushare as ts
import pandas as pd
import talib as ta

# 设置 tushare pro 的 token
token = 'your_token_here'
ts.set_token(token)

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

# 获取符合选股条件的股票列表
result = []
for stock_code in pro.stock_basic(exchange='', list_status='L', is_hs='S', fields='ts_code,symbol,market,industry')['ts_code']:
    
    # 获取 MACD 指标
    df_macd = pro.daily(ts_code=stock_code, start_date='20210101', end_date='20211231')
    dif = ta.EMA(df_macd['close'].values, 12) - ta.EMA(df_macd['close'].values, 26)
    dea = ta.EMA(dif, 9)
    macd = (dif - dea) * 2

    # 计算外盘和内盘
    df_base = pro.moneyflow(ts_code=stock_code, start_date='20210101', end_date='20211231')
    vol = df_base['net_mf_vol'].values
    volh = df_base['buy_lg_vol'].values + df_base['sell_lg_vol'].values

    # 计算竞价涨幅
    pct_chg = pro.margin_detail(ts_code=stock_code, start_date='20220101', end_date='20221231')['bs_ratio'].values

    # 判断是否符合选股条件
    if macd[-1] > 0 and vol[0] / (vol[0] + volh[0]) > 1.3 and -2 < pct_chg[-1] < 5:
        result.append(stock_code)

print(result)

注:该代码仅供参考,真实情况中需要根据自己的实际需求进行调整。

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

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

    模板如何使用?

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


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

评论