问财量化选股策略逻辑
本选股策略结合振幅、Boll线、以及企业市值等因素:振幅大于1,收盘价<boll(upper值)且收盘价>boll(mid值),100亿市值以内的无亏损企业。将选股逻辑作为第一个段落放入标题为 ## 问财量化选股策略逻辑 的段落中。
选股逻辑分析
该选股策略主要考虑股票在市场波动性较大的情况下,能否有一定的上涨空间,并为了降低风险,针对企业市值的因素进行限制,只选取100亿以内的无亏损企业。筛选使用Boll线、振幅和企业市值指标进行分析。通过一定方法找出一些成长性较好的,具备一定上涨潜力的标的。但是该策略存在风险,可能会忽略掉一些长期业绩好但短期表现不佳的标的。
有何风险?
以下是该选股策略可能存在的一些风险:
- 企业市值的限制可能会忽视掉一些质地较好但市值较大的标的。
- 该策略过于追求短期涨幅,在整体市场下滑的情况下,可能带来很大的风险。
- Boll线在股市大幅波动的情况下,选股结果可能存在较大误差。
如何优化?
为了降低风险并提高该策略的选股准确性,可以从以下几个方面着手进行优化:
- 在选股中综合考虑多个因素,如技术面、基本面、市场关注度等信息。
- 如果考虑更长期的投资,可以适当放宽对短期涨幅的要求,以长期稳定的成长性为考量。
- 如果对市值的要求过高滤掉了某些优质标的,可以适当调整市值的限制。
最终的选股逻辑
综合以上分析,我们可以对选股策略进行完善:
- 振幅大于1可以体现出市场波动性较大,有一定的上涨空间。
- 股票收盘价低于Boll线的上轨且高于中轨可以反映出该股相对于均线走势有一定的上涨空间。
- 企业市值要求在100亿以内,并且是无亏损企业,可以反映出股票的相对价值水平。
- 通过技术分析、基本面分析、市场关注度和企业市值等多重因素综合考虑,挑选出具备上涨潜力的标的。
同花顺指标公式代码参考
以下是通达信公式参考:
C1: (HIGH - LOW) > MA(HIGH - LOW,20)
C2: (CLOSE < BOLL(UPPER, 20, 2)) AND (CLOSE > BOLL(MID, 20, 2))
C3: capital <= 100
C4: profit > 0
C5: SELECTED := C1 AND C2 AND C3 AND C4
其中C1表示振幅需大于1,C2表示股票收盘价需低于Boll线的上轨且高于中轨,C3表示企业市值应该在100亿以内,C4表示要满足企业无亏损的条件。
Python代码参考
import tushare as ts
def stock_selection():
rs_basic_info = ts.get_stock_basics()
selected_code = []
for code in rs_basic_info.index:
rs = ts.get_k_data(code, start='2019-01-01', end='2022-10-08')
if rs is None or len(rs) < 180 or rs_basic_info.loc[code]['totals'] * rs.iloc[-1]['close'] > 100000000000:
continue
profit = True
for j in range(len(rs)-4):
if rs.iloc[j+4]['close'] < rs.iloc[j]['close']:
profit = False
break
if not profit:
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]
selected_code.append(code)
return selected_code
注意:以上代码仅供参考,具体需要根据实际需求和风险承受能力进行调整。需要安装tushare库。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


