问财量化选股策略逻辑
选取MACD值在零轴以上、企业性质良好且机构动向大于0的股票作为投资标的。该策略既从技术面选股,又从基本面和资金面选股。从技术面上看,MACD表现良好的股票是可以投资的对象;从基本面上看,寻找那些良好的企业,因为公司财务状况较好的企业通常具备良好的长期发展前景;从资金面看,机构资金的动向往往反映了市场的整体预期,选取机构资金大于0的股票可以增加投资的成功率。
选股逻辑分析
该选股策略是基于技术面和基本面、资金面指标来进行的,从技术面看,MACD是一种常用的股票指标,其值在零轴以上说明股票当前处于技术面上升趋势,是一个买入信号;从基本面来看,介入那些财务状况较好的企业,能够持续获得稳定的企业收益;从资金面来看,机构资金的动向往往反映了市场的整体预期,选取机构资金大于0的股票可以增加投资的成功率。
有何风险?
这种选股策略却存在一些风险。首先,MACD、企业财务状况、机构动向等指标的解释并不一定是唯一的。其次,基本面是相对静态的,而技术面和资金面是相对动态的,因此要保持警惕和密切注意市场的变化,及时作出相应的调整和更改。
如何优化?
可以在技术面、基本面、资金面三方面进行优化。从技术面上看,可以结合其他技术面指标,如RSI、KDJ等等指标来进行调整;从基本面上看,可以引入更多的股票指标,如PE、PB等指标来增强选股决策的可靠性;从资金面上看,可以结合其他资金面指标,如换手率、资金流向等指标,增强选股决策的可靠性。
最终的选股逻辑
选取MACD值在零轴以上、企业性质良好且机构动向大于0的股票作为投资标的。
同花顺指标公式代码参考
(MACD(12,26,9) > 0) AND (PT_TYPE = 0) AND (STOCK_CIRCULATION_VALUES >= 5000000000) AND (ST_FLAG_NO_ST = 1) AND (ADDD5 > 0)
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.stock_circulation_values >= 5000000000).filter(finance.STK_LIST.st_flag_no_st == 1)
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:
q = jq.query(finance.STK_HOLDERS_FLOATING_TOP10).filter(finance.STK_HOLDERS_FLOATING_TOP10.code == stock_code)
df_holder_top10 = finance.run_query(q)
if len(df_holder_top10) > 0 and df_holder_top10.iloc[0]['holder_pct'] > 0:
print("(" + stock_code + ")" + stock_name + " 符合条件")
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


