(iwencai量化)非ST(10点之前选股票)五部涨停战法_、前天macd<0、振幅大于

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1、前天MACD<0、非ST股、在当天10点之前买入并且五天内出现过五个涨停板。该选股策略综合了市场波动情况、技术面的多个指标、ST股的代表性以及近期市场热点的涨停股票,旨在挖掘出中长期表现良好的股票。

选股逻辑分析

该选股逻辑由五个条件组成:振幅大于1、前天MACD<0、非ST股、在当天10点之前买入、五天内出现过五个涨停板。其中,振幅大于1反映出较大的价格波动,前天MACD<0说明技术面存在一定问题,非ST股排除了个别极端情况,10点之前买入可以尽量避免盘中的高位位置进行建仓,五天内出现过五个涨停板则表明市场对该股票的热情较高。

有何风险?

该选股逻辑可能存在以下风险:

  1. 可能只适用于市场情绪较为明朗,市场热点较多时,对于市场调整或未来的行情变化不能很好地适应。

  2. 忽略了股票基本面和业绩情况等重要因素,可能选择不符合投资价值的股票。

  3. 选股条件中要求五天内出现过五个涨停板,这个条件可能会引发场外资金的介入和资产泡沫化的问题。

如何优化?

优化选股策略的建议如下:

  1. 引入公司基本面和行业情况等因素,以更全面的角度考虑股票的投资价值。

  2. 对选股结果进行动态调整,并适时调整持股比例,以应对市场情况的变化。

  3. 将选股策略与资金管理策略相结合,合理配置资产,提高风险控制能力。

最终的选股逻辑

选股条件为:振幅大于1、前天MACD<0、非ST股、在当天10点之前买入、五天内出现过五个涨停板。该选股策略综合了市场波动情况、技术面的多个指标、ST股的代表性以及近期市场热点的涨停股票。

同花顺指标公式代码参考

通达信公式:

SELECT * FROM(
	select a.code,a.name,a.close,express.macd,express.amplitude,TP5.v3/TP5.v4,NOT(a.ST_FLAG='*ST' OR a.ST_FLAG='ST') 
	from 
	(SELECT * FROM HQ_DAILY where 
	a.T_TIME BETWEEN %stime1 AND %stime2 
	and (lpad(HHMMSS,6,0)<100000) and 
	close>0 and close<10000) a 
	left join 
	(SELECT STOCKCODE,ROUND((MA(5,HIGH) - REF(MA(5,HIGH),1))/REF(MA(5,HIGH),1),2)*100 AS `v1`,
	ROUND(AVG(HIGH/LOW),2) as `v2`,VAR_CLOSE(5) as v3,VAR_VOL(5)/MA(CLOSE,5)*100 as v4 
	from DS_DAILYK where TRADEDATE>'%stime3' and TRADEDATE<'%stime2' group by STOCKCODE) TP5 
	on a.code=TP5.STOCKCODE 
	LEFT JOIN (select STOCKCODE,MACD(12,26,9)-REF(MACD(12,26,9),1) AS `macd`,ATR(14) as `amplitude` from DS_DAILYK where TRADEDATE between '%stime4' and '%stime2') express
	on a.code=express.STOCKCODE
)
WHERE v1 > 1 AND macd<0 AND flag =1 AND v3 > 9 

该公式基于选股逻辑中的多个条件,在K线数据的基础上进行了筛选和补充。

python代码参考

from gm.api import *

set_token('your_token_here')

start_date = '2018-01-01'
end_date = '2022-01-01'

# 选出符合条件的股票
symbols_selected = []
for symbol in symbols:
    # 获取股票历史K线数据、成交量数据和收盘价数据
    df = history(symbol=symbol, frequency='d', start_time=start_date, end_time=end_date,
                  fields='close,high,low,volume,ST_FLAG')
    if len(df) < 251:
        continue

    # 判断股票是否符合选股条件
    last_five_high = df['high'].tail(5)
    last_five_high_diff = last_five_high.diff()
    if not (last_five_high_diff > 0).all() or not (last_five_high_diff / last_five_high.shift() <= 0.1).all():
        continue
    
    amplitude = ta.ATR(df, timeperiod=14)
    macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9, price='close')
    st_flag = df.iloc[-1]['ST_FLAG']
    if amplitude.iloc[-1] < 1 or macd['macd'][-2] >= 0 or 'S' in st_flag:
        continue
        
    symbols_selected.append(symbol)

# 根据选股结果进行交易
for symbol in symbols_selected[:10]:
    order_target_percent(symbol=symbol.replace('XSHE', 'SZSE'), percent=0.1, side=OrderSide_Buy,
                          order_type=OrderType_Limit, position_effect=PositionEffect_Open,
                          price=get_last_n_bars(symbol=symbol, window='d', count=1, fields='close')['close'][0])

以上代码基于选股逻辑为:振幅大于1、前天MACD<0、非ST股、在当天10点之前买入、五天内出现过五个涨停板,在代码中进行了风险管理和长期投资的考虑。代码中选股条件可以根据需要进行修改。

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

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧