(supermind量化-)振幅大于1、机构抄底、剔除昨日涨停_

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

问财量化选股策略逻辑

选股条件为:振幅大于1、机构抄底、剔除昨日涨停。选出符合条件的个股进行投资。

选股逻辑分析

该选股策略同样是基于三个条件进行选股,振幅大于1说明股票波动较大,机构抄底则说明机构看好股票的价值,而剔除昨日涨停则可以排除股价短期内走势过于强势的股票,在选股时更为精确。这三个条件相互结合,能筛选出处于上涨趋势中、被机构看好的优质股票,同时剔除了短期内过于热门的个股,是一种技术面和基本面相结合的量化选股策略。

有何风险?

该选股策略同样没有考虑到公司的基本面、估值水平等其他重要因素,还存在过度依赖技术面指标的风险。同时,选股条件也可能导致漏选优质股票,尤其是一些长期走势良好但波动较小的股票,被剔除之后可能会错失机会,有一定的选股盲区。

如何优化?

可以加入更多指标,如市盈率、市净率等指标,以多维度进行评估股票的价值和潜在风险;同时,也可以进一步优化选股条件,考虑加入资金流向、行业走势等因素,提高策略的精度。

最终的选股逻辑

选股条件为:振幅大于1(SYNJZ('AMO',1) > 1)、机构抄底(ABS(ORG_DIFF_VOL_TO-ORG_DIFF_VOL_YESTERDAY) > 0)以及剔除昨日涨停(NOT(YC>0))。选出符合条件的股票进行投资。

同花顺指标公式代码参考

振幅大于1:SYNJZ('AMO',1) > 1

机构抄底:ABS(ORG_DIFF_VOL_TO-ORG_DIFF_VOL_YESTERDAY) > 0

剔除昨日涨停:NOT(YC>0)

符合全部条件的选股公式:SYNJZ('AMO',1) > 1 AND ABS(ORG_DIFF_VOL_TO-ORG_DIFF_VOL_YESTERDAY) > 0 AND NOT(YC>0)

python代码参考

import tushare as ts

def get_selected_stocks():
    # 振幅大于1
    condition1 = SYNJZ('AMO',1) > 1
    # 机构抄底 
    org_data = ts.get_hist_data('600519', '20210901', '20211001')
    org_data['ORG_DIFF_VOL_TO'] = org_data['turnover'] - org_data['volume'] 
    org_data['ORG_DIFF_VOL_YESTERDAY'] = org_data['ORG_DIFF_VOL_TO'].shift(1)
    condition2 = abs(org_data['ORG_DIFF_VOL_TO'] - org_data['ORG_DIFF_VOL_YESTERDAY']) > 0
    # 剔除昨日涨停
    yesterday_data = ts.get_today_ticks('600519', date='2021-10-12')
    condition3 = ~(yesterday_data['change'] > 0)
    # 选取符合条件的股票
    selected_data = stock_data[condition1 & condition2 & condition3].index.tolist()
    return selected_data

result = get_selected_stocks()
print(result)

注:以上代码仅供参考,实际选股可结合具体情况进行适度修改。

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

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

    模板如何使用?

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


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

评论