问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,资金强度由大到小。
选股逻辑分析
资金强度是评估股票市场价值的重要指标之一,其分析可以告诉我们当前市场上有多少买盘和卖盘,从而进一步判断该股票是否具有投资价值。在振幅和反包的基础上,加入资金强度由大到小的筛选条件,可以进一步确定选股方向,提高筛选的精度。
有何风险?
使用单一技术指标进行选股,可能会遗漏其他重要的市场因素,如基本面等方面,导致选股策略的可靠性不足。
如何优化?
可以结合基本面、资金流向等多方面因素进行进一步筛选,或者使用机器学习等方法对选股策略进行优化。
最终的选股逻辑
基于以上分析,我们提出改进后的股票筛选逻辑:
- 振幅大于1;
- 反包出现;
- 资金强度由大到小。
同花顺指标公式代码参考
以下是通达信指标的公式代码示例:
F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:NOT(SIGN(CLOSE-REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03:DRAWICON(CAPITALFLOW(stkcode), 1) IN (3, 4); // 资金强度由大到小(3-连续大单加速流入;4-大单流入)
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)
capital_flow = dv.get_ts("capital_flow", symbol=symbol)
# 根据资金流量判断资金强度
capital_flow_direction = capital_flow.apply(lambda x: 1 if x > 0 else (-1 if x < 0 else 0))
capital_flow_strength = capital_flow_direction * abs(capital_flow)
capital_flow_strength_rank = capital_flow_strength.apply(lambda x: pd.Series(x).rank(pct=True)[-1])
# 计算其他指标
selected_stocks = (high / low - 1 > 0.01) & (Ta('CDL2CROWS', 0, open, high, low, close) == 100) & (capital_flow_strength_rank == 1)
selected_stocks = selected_stocks[selected_stocks].sort_values(by="heat_rank", ascending=False)
return selected_stocks.index.tolist()
同样使用 Python 和 TA-Lib 进行计算,加入资金强度由大到小的筛选条件进行选股,以期获得更为优秀的选股结果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
