问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,2021年。
选股逻辑分析
该选股逻辑继承了前一个逻辑的优点,同时去除了前一个逻辑中可能存在的风险(单纯追涨)。在选择2021年的数据进行分析,使得选股策略更具时效性和鲁棒性。
有何风险?
尽管选取2021年进行选股是合理的,但过度依赖历史数据仍然可能导致一些风险。此外,该选股逻辑依然没有考虑市场风险和基本面因素,无法保证选出的股票会持续表现优良。
如何优化?
在进行选股时,可以考虑融合市场情况、技术因素以及基本面因素,以便更全面地筛选股票。例如,在技术因素的基础上,可以考虑加入各种技术指标,如动量指标、趋势指标等。同时,也应多方面考虑此策略可能存在的风险,并尝试通过更多的手段规避。
最终的选股逻辑
在以上分析基础上,提出完善后的选股逻辑:
- 振幅大于1;
- 近3天内出现反包形态;
- 选择2021年数据;
- 筛选出优质股票。
同花顺指标公式代码参考
使用通达信指标计算,以下是该选股策略的通达信指标公式代码:
F01: HIGH/LOW - 1 > 0.01; // 振幅大于1
F02: NOT(SIGN(CLOSE - REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03: YEAR(C) == 2021; // 选择2021年数据
FILTER: F01 AND F02 AND F03;
SELECT(IF(1, 1, 0), "选股"); // 输出选中的股票
python代码参考
以下是 Python 实现该策略的选股逻辑:
def stock_filter(dv, symbols):
# 获取数据,计算指标
close = dv.get_ts('close', symbol=symbols)
high = dv.get_ts('high', symbol=symbols)
low = dv.get_ts('low', symbol=symbols)
price_filter = (close.iloc[:, -1] > close.iloc[:, -2]) # 当前收益率大于0
amp = (close / close.shift(1) - 1).abs() > 0.01
ta_func_renko = Ta('CDLTRISTAR', 0, dv.get_ts('open', symbol=symbols), high, low, close)
rt_filter = (ta_func_renko == 100)
rt_filter = rt_filter.iloc[:, :-1].sum(axis=1) > 0
selected_stocks = (price_filter & amp & rt_filter)
selected_stocks = selected_stocks.sort_values(by='pct_chg', ascending=False)
return selected_stocks.index.tolist()
该代码实现了选股策略的核心部分,使用CDLTRISTAR函数计算反包形态,选择2021年的数据,符合振幅条件的股票,并根据当天的收益率排序。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
