(supermind量化策略)a1/rsi小于65、今日上涨>1主板、机器人概念且流通市值

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

问财量化选股策略逻辑

本选股策略为:RSI指标小于65,今日上涨幅度大于1%,主板股票,机器人概念且流通市值小于100亿。期望通过技术面和行业基本面控制,找到具备较强市场表现的低风险股票。

选股逻辑分析

本选股策略在原有策略上增加了机器人概念和流通市值小于100亿的选股条件。机器人作为新兴产业具有广阔的市场前景,流通市值小于100亿的机器人概念股票有较大的成长潜力。技术面方面,RSI指标小于65代表股票处于超卖区间,可以预期股票将会反弹;今日上涨幅度大于1%代表股票动能较强,预期未来将继续上涨;选择主板股票,代表该股票具备较强的市场地位和良好的基本面。期望长期内能够获得具有较好市场表现的投资收益,同时避免行业和技术面的风险。

有何风险?

由于增加了机器人概念和流通市值小于100亿的选股条件,可能会忽略其他优秀股票。同时,机器人产业尚处于发展初期,存在一定的产业不确定性和市场风险。同样,单一的技术面和行业基本面策略,可能会忽略市场的动态变化,导致股票运行状况与市场趋势出现脱节。

如何优化?

可以考虑加入其它风险控制条件,如财务数据、盈利情况等指标,提高选股策略的综合性和风险控制能力。同时,需要根据市场行情和自身实际情况进行动态调整。在风险控制的前提下,尽量避免过多限制选股范围,提高选股的灵活性。

最终的选股逻辑

本选股策略为:RSI指标小于65,今日上涨幅度大于1%,主板股票,机器人概念且流通市值小于100亿。期望通过技术面和行业基本面控制,找到具备较强市场表现的低风险股票。

同花顺指标公式代码参考

通达信中没有机器人概念选股的指标公式,因此本处不提供通达信指标公式。

python代码参考

# 导入需要使用的库
import pandas as pd
import tushare as ts
import talib

# 选股函数
def stock_picking():
    # 获取RSI指标小于65、今日上涨幅度大于1%、主板股票、机器人概念且流通市值小于100亿的股票
    basic_data = ts.get_stock_basics()
    concept_data = basic_data[basic_data['concept'].str.contains('机器人')].index.tolist()
    market_data = ts.get_today_all()
    market_data.dropna(inplace=True)
    market_data['circulating_market_value'] = market_data['mktcap'] - market_data['nmc']
    market_data['circul'] = market_data['circulating_market_value'] / market_data['settlement'] / 100000000
    daily_data = ts.get_today_ticks()
    merge_data = pd.merge(market_data, daily_data, on='name', how='inner')
    merge_data.drop(merge_data[merge_data['changepercent'] == 0.0].index, inplace=True)
    merge_data.drop(merge_data[merge_data['volume'] <= 0].index, inplace=True)
    merge_data['ten_ma'] = merge_data['price'].rolling(window=10).mean()
    high_data = talib.MAX(merge_data['high'], timeperiod=14)
    low_data = talib.MIN(merge_data['low'], timeperiod=14)
    rsv_data = (merge_data['price'] - low_data) / (high_data - low_data) * 100
    k_data = talib.EMA(rsv_data, timeperiod=2)
    d_data = talib.EMA(k_data, timeperiod=2)
    j_data = 3 * k_data - 2 * d_data
    merge_data['j'] = j_data
    filter_data = merge_data[(merge_data['rsi'] < 65) & (merge_data['changepercent'] > 1.0) & (merge_data['stock_type'] == '主板') & (merge_data.index.isin(concept_data)) & (merge_data['circul'] < 100)]
    filter_data = filter_data[['name', 'industry', 'open', 'price', 'outstanding', 'totals', 'totalAssets', 'liquidAssets', 'fixedAssets', 'reserved','reservedPerShare', 'esp', 'bvps', 'pb', 'timeToMarket']]
    
    return filter_data
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论