(supermind量化-)振幅大于1、今日均线向上发散、机器人概念且流通市值小于100亿

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

问财量化选股策略逻辑

本选股策略选取振幅大于1、今日均线向上发散、且涉及机器人概念且流通市值小于100亿的股票作为投资标的。

选股逻辑分析

本选股策略在振幅和均线方面的选股逻辑是比较常用的技术分析方法,而机器人概念和流通市值小于100亿的条件则更加注重对行业和公司基本面数据的筛选。选股过程对于市场环境的分析更为关键,可以排除一些不利于投资的股票并选择有良好潜力的股票;缺点在于只针对了机器人概念这一领域,可能会忽略其他优秀的投资机会。

有何风险?

采取这种选股策略,可能会忽略一些机器人概念以外的优秀股票;另外,对于流通市值这种指标的挑选也存在误差,可能会错失一些合适的投资标的。同时,如放宽了限制,则会增大风险。

如何优化?

可以增加其他筛选条件,例如可以选择一些股息收益率较好的股票,或涨幅处于低位的股票。同时可以增加对于机器人股票概念公司的财务分析数据,例如可以增加ROE、净利润增长率等指标的筛选,同时可以根据市场一些行业和趋势指标,如消息面和行业评级信息,进行分析和判断以更加优化选股的策略。

最终的选股逻辑

本选股策略选取振幅大于1、今日均线向上发散、且涉及机器人概念且流通市值小于100亿的股票作为投资标的。

同花顺指标公式代码参考

通达信指标公式代码:

//计算振幅
ACC = 100*(HIGH - LOW)/REF(CLOSE,1);
//计算均线的斜率
MA_SLOPE = MA(CLOSE,1)/MA(CLOSE,5)-1;
//针对机器人概念股票,需要在数据里查找出相关行业代号
ROBOT_CODE = CONTAIN(concept,'机器人').OR.TSF('sz399005',ind_reason,'含机器人');
//限制股票流通市值小于100亿
FLOAT_MV = FLOATCAPITAL<100;

//综合条件
CONDITION = ACC > 1 AND MA_SLOPE > 0 AND ROBOT_CODE AND FLOAT_MV;

python代码参考

import tushare as ts
import pandas as pd

def select_stock(market='sh'):
    selected_stocks = pd.DataFrame(columns=["amplitude", "ma_slope", "code"])
    # 循环所有的股票
    for stock in ts.get_stock_basics().index:
        if ts.get_stock_basics().loc[stock, 'code'][0:2] == '60' or \
                    ts.get_stock_basics().loc[stock, 'code'][0] == '0':
            continue
        if ts.get_stock_basics().loc[stock, 'nmc'] > 100:
            continue
        data = ts.get_hist_data(stock)
        if data is None:
            continue
        if data["amplitude"][-1] < 1:
            continue
        ma5 = data["close"].rolling(window=5).mean()
        if not (data["close"][-1] > ma5[-2] and ma5[-2] > ma5[-1]):
            continue
        concepts = ts.get_concept_classified()
        concept = concepts[concepts['code'] == stock]['c_name'].values
        if concept.size == 0 or "机器人" not in concept:
            continue
        selected_stocks = selected_stocks.append({
            "amplitude": data["amplitude"][-1],
            "ma_slope": ma5[-1] / ma5[-5] - 1,
            "code": stock
        }, ignore_index=True)
    return selected_stocks

print(select_stock(market='sh'))

以上代码仅供参考,实现方法会因投资人情况和市场环境而异。

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

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

    模板如何使用?

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


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

评论