(iwencai量化策略)竞价涨幅>-2<5_、前天macd<0、振幅大于1

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1,前天MACD<0,竞价涨幅>-2<5。该选股策略是基于技术面和市场情况综合考虑的选股方法,筛选出波动较大、技术面存在问题但是市场整体走势看好的股票。

选股逻辑分析

该选股逻辑由三个条件组成:振幅大于1、前天MACD<0,竞价涨幅>-2<5。其中,振幅大于1说明股票的价格比较波动,前天MACD<0反映出股票的技术面存在一些问题,竞价涨幅>-2<5表示该股票在市场整体走势看好的情况下有一定的涨幅潜力。

有何风险?

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

  1. 只关注技术指标和短期市场情况,忽略了公司的基本面和行业发展等因素,可能造成选股结果的不准确性。

  2. 竞价涨幅易受到市场短期波动影响,不能代表股票长期涨幅潜力的大小,需要结合其他指标进行综合分析。

  3. 选取K线频率、MACD、竞价涨幅等指标的参数需要经过充分的数据验证和技术分析,否则可能会引入杂音,影响选股结果的准确性。

如何优化?

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

  1. 在技术面和短期市场情况的基础上,增加对公司的基本面和行业发展的分析,提高选股的准确性和可靠性。

  2. 控制竞价涨幅指标对选股结果的影响,可以通过加入其他市场情况指标或基本面指标进行分析,提高选股策略的准确性和稳定性。

  3. 合理选择K线频率、MACD和竞价涨幅等指标的参数,并结合其他技术指标进行分析,提高选股结果的准确性和稳定性。

最终的选股逻辑

选股条件为:振幅大于1,前天MACD<0,竞价涨幅>-2<5。该选股策略是基于综合市场情况和技术面考虑的选股方法。

同花顺指标公式代码参考

通达信指标公式:

SELECT * FROM (
    SELECT 
        STOCKCODE AS `code`,
        NAME AS `name`,
        low AS `low`,
        high AS `high`,
        (CLOSE - YESTCLOSE) / YESTCLOSE * 100 AS `yesterday_increase`,
        MACD(12,26,9)-REF(MACD(12,26,9),2) AS `macd`,
        VOL / (SUM(PRECLOSE, 1) * 10000) AS `amplitude`
    FROM 
        DSDayKLine
    WHERE
        (VOL > 100000) AND (high - low) / REF(CLOSE, 1) > 0.01
    )
    WHERE (yesterday_increase > -2) AND (yesterday_increase < 5) AND (macd < 0)

该公式基于选股逻辑中的三个条件:振幅大于1、前天MACD<0和竞价涨幅>-2<5,在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='15m', start_time=start_date, end_time=end_date, fields='close,open,high,low,volume')
    if len(df) < 8:
        continue

    # 计算股票的振幅、MACD和竞价涨幅
    amplitude = (df['high'] - df['low']) / df['close'].shift(1)
    macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9, price='close')
    yesterday_increase = (df['close'].iloc[-1] - df['close'].iloc[-2]) / df['close'].iloc[-2] * 100

    # 判断股票是否符合选股条件
    if amplitude.iloc[-1] < 1 or macd['macd'][-3] >= macd['macd'][-2]:
        continue
    if -2 < yesterday_increase < 5:
        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_minute_bars(symbol=symbol, window=1, count=1, fields='close')['close'][0])

以上代码基于选股逻辑为:振幅大于1,前天MACD<0,竞价涨幅>-2<5,加入了风险管理的因素和长期收益的考虑。如果需要排除其他条件,可在代码中进行修改。

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

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

    模板如何使用?

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


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

评论