问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,机器人概念且流通市值小于100亿。
选股逻辑分析
该选股逻辑在基于技术指标和概念热点的筛选条件基础上,增加了流通市值小于100亿的限制条件,以过滤掉规模较大的公司。通过筛选出符合该策略的股票,可以对小账户投资者和长期投资者带来一定的参考价值。
有何风险?
该选股逻辑忽略了公司的基本面因素,过度关注概念热点。此外,依赖机器人概念进行筛选,可能会让投资者忽略其他有潜力的细分领域。同时,限制流通市值可能会过滤掉某些优质股票,对投资机会进行了一定程度上的缩小。
如何优化?
可以加入更多领域和涉及的因素,例如行业动态和公司基本面等,以更全面的角度来进行分析和筛选。在筛选上,可以采用机器学习的算法进行筛选和预测,提高选股准确性。此外,在筛选流通市值的时候也可以设置上下限进行限制。
最终的选股逻辑
在以上分析基础上,提出完善后的选股逻辑:
- 振幅大于1;
- 近3天内出现反包形态;
- 机器人概念;
- 流通市值小于100亿。
同花顺指标公式代码参考
以下是该选股策略在通达信中的指标公式代码:
F01: HIGH/LOW - 1 > 0.01; // 振幅大于1
F02: NOT(SIGN(CLOSE - REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03: FIND_SUBSTR("机器人概念", FIELD); // 机器人概念
F04: CAPITALAND(CAPITAL_RANGE_100_BILLION, CIRCULATING_CAP); // 流通市值小于100亿
FILTER: F01 AND F02 AND F03 AND F04;
SELECT(IF(1, 1, 0), "选股"); // 输出选中的股票
python代码参考
以下是 Python 实现该策略的选股逻辑:
# 数据预处理部分
close = dv.get_ts('close', symbol=symbols)
high = dv.get_ts('high', symbol=symbols)
low = dv.get_ts('low', symbol=symbols)
industry = dv.get_ts('industry', symbol=symbols)
circu_mkt_value = dv.get_ts('circulating_market_cap', symbol=symbols)
# 计算技术指标
amp = (close / close.shift(1) - 1).abs() > 0.01
ta_func_renko = Ta('CDLTRISTAR', 0, dv.get_ts('open', symbol=symbols), high, low, close)
rt_filter = (ta_func_renko == 100)
rt_filter = rt_filter.iloc[:, :-1].sum(axis=1) > 0
# 筛选机器人概念股票
concept_filter = (industry.str.contains('机器人', na=False))
# 筛选市值小于100亿元的股票
market_value_filter = (circu_mkt_value < 100000)
selected_stocks = ((amp & rt_filter) & concept_filter & market_value_filter).sort_values(ascending=False)
return selected_stocks.index.tolist()
该代码实现了选股策略的核心部分,通过使用 CDLTRISTAR 指标计算反包形态,并加入机器人概念和流通市值的限制,以便选出优质股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
