问财量化选股策略逻辑
选取MACD值在零轴以上、企业性质良好且前日实际换手率在3%~28%之间的股票作为投资标的。该策略既从技术面选股,又从基本面和市场情绪选股。从技术面上看,MACD表现良好的股票是可以投资的对象;从基本面上看,介入那些良好的企业,因为公司财务状况较好的企业通常具备良好的长期发展前景;从市场情绪来看,实际换手率在3%~28%之间的股票说明市场对该股票有一定的认可度。
选股逻辑分析
该选股策略是综合考虑了技术面、基本面和市场情绪等因素来进行的,从技术面看,MACD是一种常用的股票指标,其值在零轴以上说明股票当前处于技术面上升趋势,是一个买入信号;从基本面来看,介入那些财务状况较好的企业,能够持续获得稳定的企业收益;从市场情绪来看,实际换手率在3%~28%之间的股票说明市场对该股票有一定的认可度,且市场情绪相对平稳。
有何风险?
这种选股策略却存在一些风险。首先,MACD、企业财务状况、市场情绪等指标的解释并不一定是唯一的。其次,实际换手率在一定范围内的股票也可能会出现市场情绪波动较大的情况,需要保持警惕和密切注意市场的变化,及时作出相应的调整和更改。
如何优化?
可以在技术面、基本面、市场情绪三方面进行优化。从技术面上看,可以结合其他技术面指标,如RSI、KDJ等等指标来进行调整;从基本面上看,可以引入更多的股票指标,如PE、PB等指标来增强选股决策的可靠性;从市场情绪上看,可以引入其他市场情绪指标,如价格动量指标等指标,增强选股决策的可靠性。
最终的选股逻辑
选取MACD值在零轴以上、企业性质良好且前日实际换手率在3%~28%之间的股票作为投资标的。
同花顺指标公式代码参考
(MACD(12,26,9) > 0) AND (PT_TYPE = 0) AND (HSL(1)>3) AND (HSL(1)<28)
Python代码参考
import jqdatasdk as jq
from datetime import datetime, timedelta
from jqdatasdk import finance
from jqdatasdk import indicator
jq.auth("账户名", "密码")
yesterday = (datetime.now().date() - timedelta(days=1)).strftime("%Y-%m-%d")
q = jq.query(finance.STK_LIST).filter(finance.STK_LIST.type == 'CS').filter(finance.STK_LIST.board_type_code == '001').filter(finance.STK_LIST.hsl_ratio > 3).filter(finance.STK_LIST.hsl_ratio < 28)
df = finance.run_query(q)
for stock_code in df.index.tolist():
stock_name = jq.get_security_info(stock_code).display_name
q = jq.query(finance.STK_FINANCE_INDEX).filter(finance.STK_FINANCE_INDEX.code == stock_code).filter(finance.STK_FINANCE_INDEX.pub_date == yesterday)
df_finance_index = finance.run_query(q)
if len(df_finance_index) > 0 and df_finance_index.iloc[0]['close'] > df_finance_index.iloc[0]['ma250']:
q = jq.query(indicator.MACD).filter(indicator.MACD.code==stock_code).filter(indicator.MACD.date==yesterday)
df_macd = indicator.run_query(q)
if len(df_macd) > 0 and df_macd.iloc[0]['macd'] > 0:
print("(" + stock_code + ")" + stock_name + " 符合条件")
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


