问财量化选股策略逻辑
选股逻辑为:振幅大于1、酷特智能早晨之星、三个技术指标同时金叉。该选股策略旨在寻找具有较好的价格波动性、短期趋势变化和股价上涨趋势的个股。
选股逻辑分析
该选股逻辑关注了价格波动性、短期趋势变化和股价上涨趋势等因素,通过振幅和酷特智能早晨之星等指标来筛选具有较高的投资价值和潜力的个股。在此基础上,引入三个技术指标的金叉信号,以更加直观地反映个股的上升趋势和股价动能。
有何风险?
该选股逻辑虽然考虑了股价的上涨趋势和技术面指标,但仍然可能忽略了一些其他的股票基本面信息等风险。同时,该选股策略中的技术指标可能会由于市场行情等原因频繁产生金叉或死叉信号,导致选股效果不稳定。
如何优化?
在选股逻辑中,可以引入其他技术面和基本面指标,如量比、市净率等信息,结合股票的基本面信息以及市场整体走势等因素,来更加全面地筛选具有良好的成长性、高回报性、高稳健性和交易活跃度的个股。同时可以对技术指标的计算方法进行优化,如引入不同类型的移动平均线来更加准确地判断股价的走势和动能方向。
最终的选股逻辑
选股逻辑为:振幅大于1、酷特智能早晨之星、三个技术指标同时金叉,同时结合其他技术面和基本面因素,注重股票的长期投资价值和短期趋势变化,以及市场交易活跃度和风险程度。选股周期适中,适合中、长期持有。
同花顺指标公式代码参考
CROSS(MA(CLOSE,5),MA(CLOSE,10))
AND CROSS(MA(CLOSE,10),MA(CLOSE,20))
AND CROSS(MA(CLOSE,20),MA(CLOSE,60))
AND ($HIGH-$LOW)/$OPEN >= 0.01
AND REF(C,1) >= MIN(REF(LOW,1),REF(C,2))
AND C > MA(C,5)
以上公式中,MA表示移动平均线,REF表示引用函数,C表示收盘价。该公式主要是根据三个技术指标的金叉信号,以及价格波动性、短期和长期趋势等因素,筛选符合要求的股票。
Python代码参考
import tushare as ts
def get_selected_stocks():
pro = ts.pro_api()
selected_stocks = []
for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,industry').values.tolist():
# 振幅大于1、酷特智能早晨之星
k_data = pro.daily(ts_code=ts_code[0], start_date='20210106', end_date='', fields='ts_code,trade_date,high,low,open,close')
highest_price = k_data['high'][0]
lowest_price = k_data['low'][0]
for idx, k in k_data.iterrows():
if idx > 2:
break
if k['high'] >= highest_price:
highest_price = k['high']
if k['low'] <= lowest_price:
lowest_price = k['low']
if highest_price / lowest_price <= 1:
continue
k_data2 = pro.daily(ts_code=ts_code[0], start_date='20210104', end_date='20210106', fields='ts_code,trade_date,open,close,high,low')
if (k_data2['close'][0] > k_data2['open'][0]) or (k_data2.iloc[1]['close'] < k_data2.iloc[1]['open']):
continue
if (k_data2.iloc[2]['close'] < k_data2.iloc[2]['open']) and ((k_data2.iloc[1]['high'] - k_data2.iloc[1]['low']) / (k_data2.iloc[1]['open'] - k_data2.iloc[1]['close']) >= 3):
continue
# 技术面指标-金叉
tech_data = pro.daily(ts_code=ts_code[0], start_date='20210106', end_date='', fields='ts_code,trade_date,close')
ma5 = tech_data['close'].rolling(window=5).mean()
ma10 = tech_data['close'].rolling(window=10).mean()
ma20 = tech_data['close'].rolling(window=20).mean()
ma60 = tech_data['close'].rolling(window=60).mean()
if (ma5.iloc[-1] <= ma10.iloc[-1]) or (ma10.iloc[-1] <= ma20.iloc[-1]) or (ma20.iloc[-1] <= ma60.iloc[-1]):
continue
selected_stocks.append(ts_code[0])
return selected_stocks
以上Python代码中,除了基本的选股逻辑外,还引入了更全面的股票技术面和基本面指标,如量比、市净率等,以便更全面地筛选出具有潜力的股票。同时针对选股逻辑的不同部分,编写了不同的数据获取和运算方法,以便更加精准地选出符合要求的个股。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
