(原mindgo量化策略-)非科创_、振幅大于1、高点为两日最高

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

问财量化选股策略逻辑

  • 高点为两日最高
  • 振幅大于1
  • 非科创

选股逻辑分析

  • 高点为两日最高:表示该股票在最近两天内出现过最高价,说明该股票有一定的上涨动力。
  • 振幅大于1:表示该股票在最近两天内的价格波动幅度大于1%,说明该股票的波动性较大,可能存在一定的投资机会。
  • 非科创:表示该股票不属于科技创新板股票,避免了科技创新板股票的高风险。

有何风险?

  • 该策略只考虑了股票的短期波动性,没有考虑长期趋势和公司的基本面情况,因此可能存在一定的风险。
  • 如果股票在短期内出现大幅回调,该策略可能会产生较大的亏损。

如何优化?

  • 可以考虑加入更多的因素,如股票的市盈率、市净率等基本面指标,以更好地评估股票的价值和风险。
  • 可以考虑加入技术指标,如移动平均线、布林线等,以更好地判断股票的走势和买卖时机。

最终的选股逻辑

  • 高点为两日最高
  • 振幅大于1
  • 市盈率小于20
  • 市净率大于1
  • 移动平均线在布林线上方
  • 非科创

python代码参考

import talib
import pandas as pd

def get_top_gainers():
    # 获取最近两天内所有股票的最高价和收盘价
    highs = pd.DataFrame()
    lows = pd.DataFrame()
    closes = pd.DataFrame()
    for symbol in stock_data.keys():
        highs[symbol] = stock_data[symbol]['high']
        lows[symbol] = stock_data[symbol]['low']
        closes[symbol] = stock_data[symbol]['close']
    # 计算股票的振幅
    highs['high_diff'] = highs['high'] - highs.shift(1)['high']
    lows['low_diff'] = lows['low'] - lows.shift(1)['low']
    closes['close_diff'] = closes['close'] - closes.shift(1)['close']
    # 计算股票的振幅
    highs['std'] = talib.STDDEV(highs['high_diff'], time

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

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

    模板如何使用?

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


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

评论