问财量化选股策略逻辑
选股逻辑:振幅大于1,近25个交易日有单日涨幅大于等于百分之10,酷特智能早晨之星。
选股逻辑分析
该选股策略主要考虑了价格波动、短期向上趋势和短期趋势反转,能够筛选出一些在短期内估值被低估或市场情绪亢奋的股票。该策略判断比较清晰,对判断趋势转折和股票估值的较佳,但相对略显短视,过于追求市场情绪的波动。
有何风险?
该选股策略存在以下风险:
- 只关注近期短期波动,忽略了股票基本面、长期趋势等重要影响因素;
- 过度追求市场情绪反应,容易受到空气需求和短期交易规避的影响;
- 筛选标准较为苛刻,难以得出较为全面的股票池。
如何优化?
为了缓解以上风险,可以进行以下优化:
- 增加股票的基本面判断指标,如企业业绩、行业环境等;
- 考虑加入更多技术分析指标,降低股票波动性对选股的影响;
- 更为全面地考虑市场情绪和消息面的影响,加大短期趋势判断的比重;
- 适当调整选股策略的标准,寻找到更加可操作、可实践的股票策略方案。
最终的选股逻辑
据此,我们最终确定的选股逻辑为:
- 振幅大于1;
- 近25个交易日内有单日涨幅大于等于百分之10;
- 当日收盘价高于前一天的最高价和最低价之间;
- 加入股票的基本面指标;
- 综合考虑技术指标和市场情绪的综合指标;
- 合理调整选股策略的标准。
同花顺指标公式代码参考
C1 = IF(HIGH - LOW > ATR(CLOSE, 20), 1, 0);
C2 = IF(ABS((CLOSE - REF(CLOSE,1)) / REF(CLOSE,1)) > 0.1, 1, 0);
C3 = IF(CLOSE > MAX(HIGH[1], LOW[1]) AND CLOSE > MIN(HIGH[1], LOW[1]), 1, 0);
C4 = // 加入股票的基本面指标;
C5 = // 综合考虑技术指标和市场情绪的综合指标;
SELECTOR = C1*C2*C3*C4*C5;
RESULT = SORT_RANK(SELECTOR, DESCEND(HEAT));
python代码参考
import pandas as pd
import numpy as np
import talib as ta
df = pd.read_csv('your_data.csv', index_col='date')
C1 = np.where(df['high'] - df['low'] > ta.atr(df['close'], 20), 1, 0)
C2 = np.where(abs((df['close'] - df['close'].shift(1)) / df['close'].shift(1)) > 0.1, 1, 0)
C3 = np.where((df['close'] > np.maximum(df['high'].shift(1), df['low'].shift(1))) & (df['close'] > np.minimum(df['high'].shift(1), df['low'].shift(1))), 1, 0)
C4 = // 加入股票的基本面指标;
C5 = // 综合考虑技术指标和市场情绪的综合指标;
selector = C1 * C2 * C3 * C4 * C5
result = df.sort_values(by='heat', ascending=False).index[np.argsort(np.argsort(selector))]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
