问财量化选股策略逻辑
选股逻辑为:振幅大于1、流通市值大于100亿元、前天macd<0。该选股策略主要综合考虑了波动性、规模和技术面因素。
选股逻辑分析
该选股逻辑主要考虑了个股的波动性和规模因素,通过挑选振幅大于1、流通市值大于100亿元的标的股,挖掘出符合这两个条件的标的股。同时,也引入了技术指标macd,筛选出前两天macd小于0的标的股,综合考虑技术面因素,可以更有效地判断股票的买卖时机。
有何风险?
该选股逻辑在挑选标的股的同时,较为注重技术面因素,可能忽略了股票的基本面因素,例如PE、PB、ROE等指标,忽略了股票的长期价值,同时市场情况或经济形势的变化也可能会影响到股票的走势。
如何优化?
在该选股逻辑的基础上,可以引入股票的基本面因素,例如PE、PB、ROE等指标,综合考虑股票的价值和长期趋势。同时,可以引入其他技术指标,例如KDJ、RSI等指标,以及量价因素,如OBV等指标,更全面地考虑市场情况和经济形势对股票的影响。
最终的选股逻辑
选股逻辑为:振幅大于1、流通市值大于100亿元、前天macd<0。该选股策略主要综合考虑了波动性、规模和技术面因素,可以更准确地判断股票的买卖时机。
同花顺指标公式代码参考
CIRC_MARKET_CAP >= 100 AND FZ_RANGE > 1 AND MACD(DIF, DEA, 12, 26, 9) [1] < 0
其中,CIRC_MARKET_CAP表示流通市值大小,FZ_RANGE表示振幅大小,MACD(DIF, DEA, 12, 26, 9) [1] < 0表示前天的macd小于0。通过以上指标筛选出符合条件的股票。
Python代码参考
import tushare as ts
from datetime import datetime, timedelta
def get_selected_stocks():
pro = ts.pro_api()
selected_stocks = []
for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,circ_mv').ts_code:
stock_data = pro.query('stock_basic', ts_code=ts_code)
if stock_data.iloc[0]['circulating_market_cap'] < 100:
continue
# 振幅大于1
k_data = pro.daily(ts_code=ts_code, start_date=(datetime.now()-timedelta(days=30)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,high,low')
if k_data['high'].max() / k_data['low'].min() <= 1:
continue
# 前天macd小于0
macd_data = pro.query('daily', ts_code=ts_code, start_date=(datetime.now()-timedelta(days=2)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,macd,macdsignal,macdhist')
if macd_data['macdhist'][0] > 0:
continue
selected_stocks.append(ts_code)
return selected_stocks
其中,在Python代码中,通过使用tushare库获取股票数据,进而筛选符合条件的股票。通过振幅指标判断个股波动性情况,引入macd指标检查股票技术面情况,筛选出前两天macd小于0的标的股,最后通过筛选符合条件的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
