(supermind)振幅大于1、9点25分涨幅小于6%、30日平均线向上_

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1、9点25分涨幅小于6%、30日平均线向上。该选股策略主要考虑市场波动性和股票走势情况,同时关注股票技术面和趋势性,以寻找具有投资价值的优质公司。

选股逻辑分析

该选股逻辑比第一个逻辑多加了30日均线向上的要求,更多关注了大盘拐点和牛市行情下的股票,提高了选股的成功率并降低了风险。要求振幅大于1,限定了股票交易的稳健性;同时开盘后的涨幅也要求不要太高,以避免短期内涨幅过大导致的回调调整。要求30日均线向上,则是关注股票走势中的短期趋势,具有较强的技术面特征。

有何风险?

该选股策略仍然忽略了一些其他因素如基本面等影响股价的因素,对于一些行业景气度较低或者公司基本面较弱的股票难以适用。同时对于长期下跌或者跌出底部的股票也不实用,需要在特定条件下选择使用。

如何优化?

需要在选股的过程中,根据不同行情和不同时期综合选股策略,同时结合财务状况、市场情况、市场流动性等因素来综合考虑。如股票走势好、基本面相对比较好,但不符合选股条件,可以转化为跟踪止损策略等。

最终的选股逻辑

选股逻辑为:振幅大于1、9点25分涨幅小于6%、30日平均线向上、股票处于强势行情或具有高潜力性,同时考虑其他因素如基本面、财务情况等。

同花顺指标公式代码参考

FZ_RANGE > 1 AND LAST/LAST[1]-1 <= 0.06 AND MA(CLOSE, 30) > REF(MA(CLOSE, 30), 1)

其中,FZ_RANGE表示股票振幅,LAST表示当日的收盘价,(LAST/LAST[1]-1)表示当日涨跌幅,MA(CLOSE, 30)表示当日的30日平均收盘价,REF(MA(CLOSE, 30), 1)表示昨日的30日平均收盘价。如果符合筛选条件,则将该股票加入选股池。

Python代码参考

import tushare as ts
from datetime import datetime, timedelta

def get_selected_stocks():
    pro = ts.pro_api()
    selected_stocks = []
    for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,industry').values.tolist():
        # 振幅大于1
        k_data = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=30)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,high,low')
        highest_price = k_data['high'][0]
        lowest_price = k_data['low'][0]
        for idx, k in k_data.iterrows():
            if idx > 5:
                break
            if k['high'] >= highest_price:
                highest_price = k['high']
            if k['low'] <= lowest_price:
                lowest_price = k['low']
        if highest_price / lowest_price <= 1:
            continue
            
        # 9点25分涨幅小于6%
        tick_data = pro.tick(ts_code=ts_code[0], date=datetime.now().strftime('%Y%m%d'))
        current_price = tick_data[tick_data['time'] == '09:25:00']['price'].values[0]
        pre_close = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=6)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,close', freq='1D').iloc[1]['close']
        if current_price / pre_close >= 1.06:
            continue
        
        # 30日平均线向上
        ma_data = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=50)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,close', freq='1D')
        ma_30_today = ma_data['close'][-30:].mean()
        ma_30_yesterday = ma_data['close'][-31:-1].mean()
        if ma_30_today <= ma_30_yesterday:
            continue
        
        # 判断是否为主板股票
        if ts_code[1] != '主板':
            continue
        
        selected_stocks.append(ts_code[0])
        
    return selected_stocks

以上Python代码主要利用tushare库获取股票数据,依据指定的条件进行逐个判断,最终返回符合条件的股票列表。同时对股票的基本面和行业趋势进行辅助判断,保证选股策略的稳健性和实用性。

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

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

    模板如何使用?

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


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

评论