(supermind量化-)振幅大于1、周线MA5金叉MA10、前天macd<0_

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

问财量化选股策略逻辑

本选股策略选取振幅大于1,周线MA5金叉MA10,前天macd<0的股票为投资目标,通过技术指标和价格波动幅度等因素寻找具有较高潜力的股票。

选股逻辑分析

本选股策略结合了均线趋势和MACD技术指标,并对价格的波动幅度进行筛选,寻找具有上涨趋势和上涨潜力的股票。

有何风险?

本选股策略主要依赖技术指标进行选股,过于依赖短期价格变化,存在较强的市场风险和投资风险,同时缺乏对基本面的考虑。

如何优化?

本选股策略可结合基本面指标加强风险控制和股票筛选,在技术指标和价格波动幅度等因素基础上,加入关注公司实际业绩等因素,提高选股结果的稳定性和收益率。

最终的选股逻辑

本选股策略选取振幅大于1,周线MA5金叉MA10,前天macd<0的股票为投资目标,结合基本面指标对选股结果进行优化,提高投资收益率和稳定性。

同花顺指标公式代码参考

  • 均线公式:
    • MA(N) = SUM(CLOSE, N) / N
  • MACD公式:
    • DIF = EMA(CLOSE, SHORT) - EMA(CLOSE, LONG)
    • DEA = EMA(DIF, MID)
    • MACD = 2 * (DIF - DEA)
  • 筛选前天macd<0的方法:
    • MACD = MACD()
    • MACD_SIGNAL = MACDSignal()
    • MACD_BAR = MACD() - MACDSignal()
    • REF(MACD_BAR, 2) < 0
  • 相关指标公式请参考同花顺财经的数据说明文档

Python代码参考

import tushare as ts

pro = ts.pro_api()

def select_stocks(n):
    selected_stocks = []
    for code in pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,name,industry,market,area,pe,pb,circ_mv')['ts_code']:
        df = pro.daily(ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,open,high,low,close,vol,amount')
        if (df.iloc[-1]['high'] - df.iloc[-1]['low']) / df.iloc[-1]['close'] > 0.01:
            df_weekly = pro.weekly(ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,open,high,low,close,vol,circ_mv,total_mv')
            ma_list = [df_weekly['close'].rolling(n).mean().iloc[-1] for n in range(5, 11)]
            if df_weekly.iloc[-1]['close'] > ma_list[-1] and ma_list.count(ma_list[-1]) >= 5:
                df_macd = pro.index_daily(ts_code='000001.SH', start_date='', end_date='', fields='trade_date,close')
                df_macd['macd'], df_macd['signal'], df_macd['hist'] = talib.MACD(df_macd['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
                if df_macd.iloc[-3]['hist'] < 0:
                    df_limit = pro.limit_list(ts_code=code, trade_date='', limit_type='U')
                    if df_limit.size == 0 or df_limit.iloc[-1]['trade_date'] != df.iloc[-1]['trade_date']:
                        selected_stocks.append(code)
    return selected_stocks[:n]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论