(supermind)振幅大于1、酷特智能早晨之星、收盘价_boll(upper值)且收盘

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1、酷特智能早晨之星、收盘价位于boll(upper,mid)区间内的股票。该选股策略主要从技术面出发,选取boll(upper,mid)区间内的股票,具有一定的上涨概率。

选股逻辑分析

该选股逻辑在技术面选股的基础上,加入了boll区间的考量,选取收盘价位于boll(upper,mid)区间内的股票。具有一定的上涨概率,但忽略了基本面的考量,可能存在一些应对不良情况的风险。

有何风险?

该选股逻辑忽略了公司基本面的考虑,存在一些应对不良情况的风险,比如突发事故等,对股票价格带来影响。同时,股票的上涨空间和时间存在不确定性,即使收盘价已位于boll(upper,mid)区间内,也无法完全消除风险。

如何优化?

可以适当加入基本面考虑,如盈利能力、财务健康等指标,从综合角度考虑选股。同时,加入量能指标,提高股票的流动性标准,避免做空资本的困扰。对于boll区间内的股票,需要注意其成交量、市场热度等指标,避免出现追高出货、恶意炒作等风险。

最终的选股逻辑

选股逻辑为:振幅大于1、酷特智能早晨之星、收盘价位于boll(upper,mid)区间内的股票。该选股策略从技术面角度选股,具有一定的上涨概率。

同花顺指标公式代码参考

m:=(3*(close-MA(C,120))/STD(C,120));
bUP:=(MA(C,20)+2*STD(C,20))*1.0;
bDN:=(MA(C,20)-2*STD(C,20))*1.0;
SELECTED:=(m>1) AND LIANXIAN(LOW,1)=1 AND (CLOSE>bUP) AND (CLOSE<bDN);

以上的同花顺指标公式根据振幅、酷特智能早晨之星、boll区间选股。

Python代码参考

import tushare as ts
import pandas as pd
import talib

def get_selected_stocks():
    pro = ts.pro_api()
    selected_stocks = []
    for ts_code, name, market in pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,market').values.tolist():
        if market == '创业板':
            continue
        # 技术面
        daily_data = pro.daily(ts_code=ts_code, start_date=datetime.strftime(datetime.now() - timedelta(days=120), '%Y%m%d'), end_date=datetime.strftime(datetime.now(), '%Y%m%d'))
        if daily_data.empty or daily_data.iloc[-1]['turnover_rate'] <= 5:
            continue
        if not check_morning_star(daily_data):
            continue
        if not check_boll_range(daily_data):
            continue
        # 选股成功
        selected_stocks.append((name, ts_code))

    return sorted(selected_stocks, reverse=True)

def check_morning_star(daily_data):
    ma5 = daily_data['close'].rolling(window=5).mean()
    ma10 = daily_data['close'].rolling(window=10).mean()
    dif, dea, macd = talib.MACD(daily_data['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
    if dif[len(dif) - 1] < 0 or dea[len(dea) - 1] < 0:
        return False
    if daily_data.iloc[-1]['open'] >= ma5[len(ma5) - 1] and ma5[len(ma5) - 1] >= ma10[len(ma10) - 1] \
        and daily_data.iloc[-1]['open'] <= daily_data.iloc[-1]['close'] and daily_data.iloc[-1]['open'] <= daily_data.iloc[-2]['close'] and daily_data.iloc[-2]['close'] < daily_data.iloc[-3]['close'] \
        and (daily_data.iloc[-1]['open'] - daily_data.iloc[-1]['low']) / (daily_data.iloc[-1]['high'] - daily_data.iloc[-1]['low']) <= 0.33:
        return True

    return False

def check_boll_range(daily_data):
    upper, middle, lower = talib.BBANDS(daily_data['close'].values, timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)
    if daily_data.iloc[-1]['close'] > upper[len(upper) - 1] or daily_data.iloc[-1]['close'] < middle[len(middle) - 1]:
        return False
    return True

以上的Python代码同样是从技术面的角度,选取boll区间内的股票,主要包括振幅、酷特智能早晨之星、收盘价位于boll(upper,mid)区间内等指标。

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

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

    模板如何使用?

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


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

评论