问财量化选股策略逻辑
选股逻辑:振幅大于1,反包出现,归属母公司股东的净利润(同比增长率)大于20%小于等于100%。
选股逻辑分析
该选股逻辑既考虑了技术指标的影响,又充分考虑了公司基本面的情况。振幅和反包出现的判断主要考虑了当前的走势和市场情况,而归属母公司股东的净利润的同比增长率则考虑了公司的经营质量。选股逻辑相对较为全面,可以更好地筛选出具有安全性和潜力性的股票。
有何风险?
该选股逻辑在基本面的考虑上是比较单一的,且只考虑了同比增长率的情况,忽略了一些其他关键指标。此外,技术指标的筛选可能还会存在一定偏差。
如何优化?
该选股逻辑可以加入更多基本面指标,如市盈率、市净率等,进一步完善选股策略。此外,可以在技术指标的筛选过程中,加入其他指标的判断,提高选股的准确性。
最终的选股逻辑
基于以上分析,我们提出改进后的股票筛选逻辑:
- 振幅大于1;
- 反包出现;
- 归属母公司股东的净利润(同比增长率)大于20%小于等于100%;
- 其他合适的公司基本面指标。
同花顺指标公式代码参考
以下是通达信指标的公式代码示例:
F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:NOT(SIGN(CLOSE-REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03:BASIC_EPS_YOY > 20 AND BASIC_EPS_YOY <= 100; // 归属母公司股东的净利润(同比增长率)大于20%小于等于100%
FILTER:F01 AND F02 AND F03;
SYMBOL_SORT("热点板块", SORT_DESCEND);
SELECT(IF(F04, 1, 0), "诊股"); // 输出文本信息:选股
python代码参考
以下是用 Python 实现该策略的选股逻辑:
def stock_filter(dv, symbol):
# 获取股票数据
high = dv.get_ts("high", symbol=symbol)
low = dv.get_ts("low", symbol=symbol)
close = dv.get_ts("close", symbol=symbol)
profit = get_fundamentals(query(
income_net_profit_parent_company_annual
).filter(
income_net_profit_parent_company_annual.symbol == symbol
), end_date=dt.datetime.today(), count=1, panel=False)
# 计算其他指标
selected_stocks = (high / low - 1 > 0.01) & (Ta('CDL2CROWS', 0, open, high, low, close) == 100) & (profit['income_net_profit_parent_company_annual'][0] > 1.2 * profit['income_net_profit_parent_company_annual'][1]) & (profit['income_net_profit_parent_company_annual'][0] <= 1 * profit['income_net_profit_parent_company_annual'][1])
selected_stocks = selected_stocks[selected_stocks].sort_values(by="heat_rank", ascending=False)
return selected_stocks.index.tolist()
在 Python 中实现整个选股逻辑,需要先获取相关的股票数据和公司基础数据,如行情、净利润、归属母公司等数据,并与选股条件进行比对,从而得到选股结果。在本例中,先用 get_fundamentals
函数获取公司净利润的数据,再用其他指标计算选股结果,并根据热度指标进行排序,最后返回筛选结果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
