问财量化选股策略逻辑
选股逻辑为:振幅大于1,企业性质良好,集中度低于20%且高于70%。
选股逻辑分析
该选股逻辑在振幅和企业性质的基础上,加入了集中度的限制条件,避免投资集中在少数个股上,提高市场风险抵御能力。同时,集中度70%以上表明市场上存在明显的板块热点,因此也需要避免过度依赖热点投资。
有何风险?
该选股逻辑可能会忽略其他重要的行情指标和基本面因素,例如成长性等。在集中度的判断上,过于追求低集中度可能会忽略市场行情走势,导致选股失误。
如何优化?
可以在原有逻辑基础上,增加其他行情指标和基本面因素,且根据不同行情有所调整,保证逻辑的综合性和适应性。对于集中度的判断,可以结合板块、行业等指标,达到更精准的判断。
最终的选股逻辑
综合以上考虑,最终的选股逻辑如下:
- 振幅大于1;
- 企业性质良好,包括但不限于:盈利能力强,稳定的财务状况,成长性,市值,ROE等;
- 集中度低于20%且高于70%;
- 根据市场情况和个人风险偏好,选择适当的振幅范围和集中度范围;
- 根据市场情况和个人风险偏好,选择不同的交易策略,并适当加入其他技术指标、基本面指标等多个角度进行综合判断。
同花顺指标公式代码参考
该选股逻辑的同花顺指标公式如下:
/* 选股公式 */
A:(HIGH-LOW)/REF(CLOSE,1)>0.01;
B:XX企业性质;
C:SYL<20 OR SYL>70;
A AND B AND C <= N; /* N为排名范围 */
其中,A:(HIGH-LOW)/REF(CLOSE,1)>0.01
表示振幅大于1,B:XX企业性质
表示企业性质良好,C:SYL<20 OR SYL>70
表示集中度低于20%且高于70%,A AND B AND C <= N
表示逻辑与且排名不高于N。
Python代码参考
适用于tushare库的Python选股代码如下:
import tushare as ts
def is_selected(code, eps=1, rank_range=(1, 50)):
# 判断股票是否满足选股逻辑
df_basic = ts.get_stock_basics()
if not XX企业性质:
return False
df_hist = ts.get_hist_data(code)
if (df_hist['high'] - df_hist['low']).mean() / df_hist['close'].iloc[-1] <= 0.01:
return False
syl = df_hist['volume'].nlargest(5).sum() / df_hist['volume'].sum() * 100
if syl < 20 and syl > 70:
return False
rank = ts.top_list(df_hist.index[0])['code'].tolist().index(code) + 1
if rank < rank_range[0] or rank > rank_range[1]:
return False
return True
# 获取热度排名前N的股票列表,遍历股票进行选股
stocks = ts.top_list()
selected_stocks = []
for i in range(N):
code = stocks['code'].iloc[i]
if is_selected(code, rank_range=(1, N)):
selected_stocks.append(code)
# 利用选股结果进行股票交易
for code in selected_stocks:
pass # 参考其他策略
其中需要根据选股策略修改参数,通过tushare库获取股票的基本面和历史行情进行计算判断,通过top_list函数获取热度排名数据并进行处理,通过选股结果进行股票交易。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
