(同花顺量化)30日平均线向上_、剔除昨日涨停、振幅大于1

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1、剔除昨日涨停、30日平均线向上的股票。该选股策略兼顾短期波动性和中长期趋势,尝试发现有望中长期上涨的股票。

选股逻辑分析

该选股逻辑考虑了股票的短期波动性和中长期趋势的特征,寻找振幅大于1的股票且过滤昨日涨停,然后再筛选出30日平均线向上的股票,以此来预测中长期的上涨趋势。

有何风险?

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

  1. 过度关注技术指标而忽视公司基本面和行业情况。

  2. 忽略特定市场风格的影响,如有些周期性股票或防御性股票就不一定遵循这一选股逻辑。

  3. 该选股策略不能保证在任何市场条件下都能正确选出优秀的股票,需要动态进行咨询和优化。

如何优化?

以下是对该选股逻辑的优化建议:

  1. 确保技术指标和基本面分析的平衡,对于有前景的股票优先考虑。

  2. 加强个股的行业研究和整体市场环境的分析,对于适应特定市场风格的股票进行关注,进而提高选股的精度和准确性。

  3. 配合独立的研究分析和交易计划一起使用该算法来进行选股。

最终权益选股逻辑

选股策略为:振幅大于1、剔除昨日涨停、30日平均线向上。

同花顺指标公式代码参考

以下是该选股策略的通达信指标公式代码:

振幅指标:AMO=(HIGH-LOW)/REF(CLOSE,1);

平均线指标:MA(CLOSE, 30);

剔除昨日涨停:NOT LIMIT;

选股条件:AMO > 1 AND NOT LIMIT AND MA(CLOSE, 30) > REF(MA(CLOSE, 30), 1);

python代码参考

from gm.api import *

set_token('your_token_here')

# 设置回测起点和终点
start_date = '2017-01-01'
end_date = '2022-01-01'

# 获取历史数据
def get_close(symbol, days):
    df = history(symbol=symbol,
                  frequency='1d',
                  start_time=start_date,
                  end_time=end_date,
                  fill_missing='ffill',
                  adjust=ADJUST_PREV,
                  fields=['symbol', 'close', 'limit_status'])
    if len(df) < days:
        return 0
    return df.iloc[-days]['close']

# 过滤出符合条件的股票列表
symbols_selected = []
for symbol in get_symbols(exchanges=['SHSE', 'SZSE'], sec_types=['STOCK'], fields=['symbol']):
    if (AMO > 1) and (not LIMIT) and (MA(CLOSE, 30) > REF(MA(CLOSE, 30), 1)):
        symbols_selected.append(symbol)

print(symbols_selected)

上述代码为选股逻辑为振幅大于1、剔除昨日涨停、30日平均线向上的股票,使用了自定义函数get_close来获取历史数据,并使用了CLOSE、REF、MA和AMO指标函数来判断。同时使用了get_symbols函数来获取股票代码列表。

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

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

    模板如何使用?

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


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

评论