(supermind量化-)振幅大于1、非ST(10点之前选股票)五部涨停战法、主升起动_

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

问财量化选股策略逻辑

本选股策略选择振幅大于1、非ST(上午10点之前选股票)、五部涨停战法、主升起动的股票。

选股逻辑分析

本选股策略基于技术面,选取振幅大、非ST的股票,并且通过五部涨停战法找到股价波动性大但趋于上涨的股票,再通过主升起动条件判断大盘是否处于上升期,从而判断股票是否处于上升行情中。

有何风险?

本选股策略对于市场快速波动的情况,可能选出不太适宜的股票。同时,主升起动这一条件相对主观,选择的准确性也有一定局限性。

如何优化?

可以加入更多基本面指标及量化因素,进行筛选,比如加入财务数据、股价相对低估程度、成交量等等。针对主升起动这一条件,可以制定更加严谨的技术指标,针对大盘的整体趋势进行判断。

最终的选股逻辑

本选股策略的完善逻辑为:振幅大于1、非ST、五部涨停战法、主升起动的股票。

同花顺指标公式代码参考

暂无

python代码参考

import pandas as pd

# 读取股票数据
df = pd.read_csv('stock_data.csv')

# 筛选条件1:振幅大于1
df['AMPLITUTE'] = df.apply(lambda row: max(row['HIGH'] - row['LOW'], abs(row['HIGH'] - row['PREV_CLOSE']), abs(row['LOW'] - row['PREV_CLOSE'])), axis=1)
df = df[df['AMPLITUTE'] > 1]

# 筛选条件2:非ST
df = df[df['NAME'].str.upper().str.find('ST')==-1]

# 筛选条件3:五部涨停战法
df['CLOSE_MAX'] = df['CLOSE'].rolling(5).max()
df = df[df['CLOSE'] == df['CLOSE_MAX']]

# 筛选条件4:主升起动
df['MA5'] = df['CLOSE'].rolling(5).mean()
df['MA10'] = df['CLOSE'].rolling(10).mean()
df['DIFF'] = df['MA5'] - df['MA10']
df['DEA'] = df['DIFF'].ewm(span=9, adjust=False).mean()
df['MACD'] = (df['DIFF'] - df['DEA']) * 2
df['MAIN_UP'] = (df['MACD'] > df['MACD'].shift(1)) & (df['MACD'] > 0)
df = df[df['MAIN_UP']]

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

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

    模板如何使用?

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


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

评论