问财量化选股策略逻辑
本选股策略结合振幅、Boll线、换手率等因素:振幅大于1,收盘价<boll(upper值)且收盘价>boll(mid值),换手率>2%且<9%。将选股逻辑作为第一个段落放入标题为 ## 问财量化选股策略逻辑 的段落中。
选股逻辑分析
本选股策略是根据股票的技术面和市场情况结合起来来进行选股的,较好地考虑到了趋势、波动和流动性等因素。相比较于只考虑技术面或市场情况,本选股策略更具有健壮性。
有何风险?
以下是该选股策略可能存在的一些风险:
- 振幅大的个股很可能处于波动周期,一旦行情转向,可能造成损失。
- 只考虑了技术面和市场情况,忽略了公司基本面信息,存在较大的风险。
- 换手率过低可能会在买入与卖出时造成不便,进一步影响收益效果。而换手率过高,可能存在机构资金打压,增大投资风险。
如何优化?
为了降低风险,可以从以下几方面对该选股策略进行优化:
- 添加更多的技术指标,增加选股逻辑的复杂度。
- 结合基本面和财务面数据,寻找相对确定的投资标的。
- 指定止损和止盈策略,进一步降低投资风险。
最终的选股逻辑
根据以上分析,我们可以进行如下的完善:
- 振幅大于常态水平。
- 收盘价位于Boll线的中下部分。
- 换手率处于适当水平,过高过低都会增加风险。
- 结合更多技术和基本面因素,使选股逻辑更具有代表性和广泛性。
同花顺指标公式代码参考
以下是通达信公式参考:
C1: (HIGH - LOW) > MA(HIGH - LOW, 20)
C2: CLOSE < BOLL(UPPER, 20, 2) AND CLOSE > BOLL(MID, 20, 2)
C3: (TURNOVER / 100) > 2 AND (TURNOVER / 100) < 9
C4: SELECTED := C1 AND C2 AND C3
Python代码参考
import tushare as ts
def stock_selection():
rs_basic_info = ts.get_stock_basics()
selected_code = []
for code in rs_basic_info.index:
if 'ST' in rs_basic_info.loc[code]['name'] or rs_basic_info.loc[code]['outstanding'] * rs_basic_info.loc[code]['price'] < 2e8:
continue
rs = ts.get_k_data(code, start='2022-10-08', end='2022-10-08')
if rs is None or len(rs) <= 0:
continue
condition1 = (rs.iloc[0]['high'] - rs.iloc[0]['low']) > rs['high'].sub(rs['low']).rolling(20).mean().iloc[-1]
condition2 = rs.iloc[0]['close'] < rs['close'].rolling(20).apply(lambda x: x.mean() + 2 * x.std(ddof=0)).iloc[-1] and rs.iloc[0]['close'] > rs['close'].rolling(20).mean().iloc[-1]
condition3 = rs.iloc[0]['turnover'] > 0.02 and rs.iloc[0]['turnover'] < 0.09
if not condition1 or not condition2 or not condition3:
continue
selected_code.append(code)
return selected_code
注意:以上代码仅供参考,具体根据实际需求和风险承受能力进行调整。需要安装tushare库。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


