问财量化选股策略逻辑
选股逻辑:振幅大于1,机器人概念且流通市值小于100亿,100亿市值以内的无亏损企业。
选股逻辑分析
该选股策略选择了波动性较大、具有机器人概念、具有潜在投资价值的股票。在流通市值小于100亿的情况下,策略同时增加了股票基本面指标中的净利润等指标来筛选高质量企业,减小可能出现的风险。此策略选出的股票可能更偏于长期投资,适合长线投资者使用。
有何风险?
该选股策略并未考虑股票的实际业绩和未来发展趋势,只关注了流通市值、基本面指标和流动性因素,不能保证选出的股票一定会赢利,存在投资风险。
如何优化?
该选股策略可优化如下:在考虑股票基本面指标的同时,应考虑到股票所在行业的整体状况,比如行业发展趋势、竞争状况等,进一步筛选高质量企业。同时在振幅指标的选择上,可以在中长期跟踪中更加细化,如30日振幅大于1、60日振幅大于1等,避免选择过于笼统的短期振幅区间,减少短期波动的影响。
最终的选股逻辑
经过改进后,我们提出以下选股逻辑:
- 振幅大于1;
- 机器人概念且流通市值小于100亿;
- 100亿市值以内;
- 最近12个月净利润为正。
同花顺指标公式代码参考
以下是通达信指标的代码示例:
F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:CONCEPT("机器人概念"); // 机器人概念
F03:CAPITALIZATION < 10000000000; // 流通市值小于100亿
F04:NPParentCompanyYOY > 0; // 最近12个月净利润为正
FILTER:F01 AND F02 AND F03 AND F04;
SYMBOL_SORT("热度", SORT_DESCEND);
SELECT IF(F05, 1, 0) AS GOTO;
python代码参考
以下是用 Python 代码实现该策略的选股逻辑:
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)
# 筛选无亏损企业
net_profit_parent_yoy = dv.get_ts('net_profit_parent_company_yoy', symbol=symbol).rolling(4).sum()
profitable = net_profit_parent_yoy.iloc[-1] > 0
# 标志:振幅大于1、流通市值小于100亿、机器人概念、100亿市值以内、无亏损企业
selected_stocks = (
(high / low - 1 > 0.01).any(axis=0) &
concept_robot &
(circulation_market_cap < 10000000000) &
(profitable)
)
# 按照热度排名进行排序
selected_stocks = selected_stocks[selected_stocks].sort_values(by='heat_rank', ascending=False)
return selected_stocks.index.tolist()
该代码示例使用了 Python 实现该选股逻辑,并考虑到股票所在行业的整体状况和更加精细的振幅筛选,进一步筛选高质量企业,减小可能出现的风险。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
