问财量化选股策略逻辑
选股逻辑:振幅大于1、机器人概念且流通市值小于100亿、前25天有涨停。
选股逻辑分析
该选股策略首先关注股票的振幅,筛选出具有较大波动幅度的股票。然后关注机器人概念,流通市值小于100亿的机器人企业具有更高的投资价值。在此基础上,筛选出前25天内有涨停的股票,判断此类股票在短期内存在投资机会。
有何风险?
由于该策略更侧重于技术面因素,可能忽略了公司的财务、经营等实体因素,存在较大风险。此外,前25天有涨停也不能完全代表接下来股票的走势,存在较大的投资风险。
如何优化?
为了降低投资风险,可以增加对企业基本面指标的筛选,如盈利情况、营业收入、净利润等。同时,可以考虑选用其他技术指标来补充筛选,如MACD指标、RSI指标等。
最终的选股逻辑
综合分析,我们提出一种改进后的选股逻辑:
1.振幅大于1;
2.机器人概念且流通市值小于100亿;
3.前25天内有涨停。
同花顺指标公式代码参考
以下是通达信指标的代码示例:
F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:CONCEPT("机器人概念"); // 机器人概念
F03:CAPITALIZATION < 10000000000; // 流通市值小于100亿
F04:REF(MAX(HIGH, 1), 1) / REF(MIN(LOW, 1), 1) - 1 > 0.095; // 前25天内有涨停
FILTER:F01 AND F02 AND F03 AND F04;
SYMBOL_SORT("热度", SORT_DESCEND);
SELECT IF(F05, 1, 0) AS GOTO;
python代码参考
以下是用 Python 代码实现该策略的选股逻辑:
import talib
def stock_filter(dv, symbol):
high = dv.get_ts('high', symbol=symbol)
low = dv.get_ts('low', symbol=symbol)
concept_robot = dv.get_ts('concept', symbol=symbol).apply(lambda x: "机器人" in x)
circulation_market_cap = dv.get_ts('circulation_market_cap', symbol=symbol)
close = dv.get_ts('close', symbol=symbol)
up_limit = dv.get_ts('up_limit', symbol=symbol)
any_up_limit = (up_limit > 0).rolling(25).apply(lambda x: x.any())
# 计算标志:振幅大于1、流通市值小于100亿、前25天有涨停
selected_stocks = (
(high / low - 1 > 0.01).any(axis=0) &
concept_robot &
(circulation_market_cap < 10000000000) &
any_up_limit
)
# 按照热度排名进行排序
selected_stocks = selected_stocks[selected_stocks].sort_values(by='heat_rank', ascending=False)
return selected_stocks.index.tolist()
该代码示例使用 Python 实现了该选股逻辑,综合考虑了振幅、机器人概念、流通市值以及前25天有涨停等因素,并使用了 talib 库计算了技术指标。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
