(supermind策略)换手率3%-12%、北京A股除外、酷特智能早晨之星_

用户头像神盾局量子研究部
2023-08-30 发布

问财量化选股策略逻辑

选股逻辑为:在换手率3%-12%,剔除北京A股,酷特智能出现早晨之星的条件下,筛选股票。

选股逻辑分析

该选股策略侧重于技术面。早晨之星是技术分析中的一种形态,通常在股票价格达到低点之后出现,预示着价格可能会反转上涨。选股时,先筛选出换手率较为适中的股票,并排除北京A股的干扰。而后,选取酷特智能出现早晨之星的股票。

有何风险?

只依据技术面来进行筛选可能会忽略基本面的影响,而导致选股效果下降。同时,过于依赖形态的出现,可能会使选中的股票较少,难以形成一个较好的投资组合。

如何优化?

  1. 综合考虑基本面和技术面
    可以将技术分析的形态和基本面指标结合起来,以便更加全面地评估股票。

  2. 动态调整选股策略
    可以根据市场情况和选择的股票表现实时调整选股策略,以达到更好的效果。

最终的选股逻辑

在换手率3%-12%,剔除北京A股,且酷特智能出现早晨之星的条件下,加入其他关键指标如PE、PEG等综合考虑,筛选出成长性较好、稳定性较高的股票。

同花顺指标公式代码参考

早晨之星指标代码:
S1:REF(CLOSE,1);
S2:REF(CLOSE,2);
S3:REF(CLOSE,3);
S4:REF(CLOSE,4);
S5:REF(CLOSE,5);
S6:REF(CLOSE,6);
K1:IF((S1<MA(S1,5)) AND (S1<S2) AND (S2<S3) AND (S3<S4) AND (S4<S5) AND (S5<S6),1,0);
K2:IF((S1<MA(S1,10)) AND (S1<S2) AND (S2<S3) AND (S3<S4) AND (S4<S5) AND (S5S6),1,0); FILTER:IF(((K10) OR (K2>0)),1,0);

其中,MA()为计算移动平均的函数,REF()为引用前一个周期的值的函数。

Python代码参考

import tushare as ts
 
def select_good_stocks():
	ts.set_token('your_token')
	pro = ts.pro_api()
	
	stocks = pro.stock_basic(exchange='SZSE', list_status='L', fields='ts_code, name, industry, pe, peg_ratio, turnover_rate')
	for i in range(len(stocks)):
	    code = stocks.ts_code[i]
	    df2 = pro.daily(ts_code=code)
	    df2 = df2.sort_values(by='trade_date')
	    df2['S1'] = df2['close'].shift(1)
	    df2['S2'] = df2['close'].shift(2)
	    df2['S3'] = df2['close'].shift(3)
	    df2['S4'] = df2['close'].shift(4)
	    df2['S5'] = df2['close'].shift(5)
	    df2['S6'] = df2['close'].shift(6)
	    df2['MA5'] = df2['S1'].rolling(window=5).mean()
	    df2['MA10'] = df2['S1'].rolling(window=10).mean()
	    df2['MorningStar1'] = ((df2['S1'] < df2['MA5']) & (df2['S1'] < df2['S2']) & (df2['S2'] < df2['S3'])
	                 & (df2['S3'] < df2['S4']) & (df2['S4'] < df2['S5']) & (df2['S5'] < df2['S6'])).astype(int).sum()
	    df2['MorningStar2'] = ((df2['S1'] < df2['MA10']) & (df2['S1'] < df2['S2']) & (df2['S2'] < df2['S3'])
	                 & (df2['S3'] < df2['S4']) & (df2['S4'] < df2['S5']) & (df2['S5'] < df2['S6'])).astype(int).sum()
	    stocks.loc[i, 'MorningStar'] = ((df2['MorningStar1'] > 0) | (df2['MorningStar2'] > 0)).astype(int).sum()
	stocks = stocks[(stocks['name'].str.contains('ST') == False)]
	stocks = stocks[(stocks['ts_code'].str.startswith('002') == True) | (stocks['ts_code'].str.startswith('000') == True)]
	stocks = stocks[(stocks['turnover_rate'] >= 3) & (stocks['turnover_rate'] <= 12)]
	stocks = stocks[(stocks['MorningStar'] > 0)]
	stocks = stocks[(stocks['peg_ratio'] < 1)]
	stocks = stocks[(stocks['pe'] > 0) & (stocks['pe'] < 50)]
	stocks = stocks.set_index('ts_code')
	return stocks

good_stocks = select_good_stocks()
print(good_stocks)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论