问财量化选股策略逻辑
选取MACD值在零轴以上、企业性质良好、流通市值在50亿至100亿之间的股票作为投资标的。该策略主要从技术面和基本面两方面入手,从技术面选择MACD表现较好的股票,同时要求企业性质良好,流通市值位于中等水平。从基本面方面选择市值适中的企业,认为这类企业更容易具备稳定增长和投资价值。
选股逻辑分析
该选股策略同样是从技术面和基本面两方面入手,从技术面选择MACD表现较好的股票,同时要求企业性质良好,从基本面方面选择市值适中的企业。该策略认为,技术面和基本面两方面有利于选取稳健、稳定增长的企业。
有何风险?
该选股策略可能存在一些风险。首先,市场变化、公司内部问题等风险可能会对该选股逻辑的效果产生影响。其次,市场投资需要考虑众多因素,单一因素的选股策略存在过于简化的风险。此外,流通市值不一定能够代表企业真实价值,可能存在市场错误定价的情况。
如何优化?
可以进一步考虑企业财务指标、资产负债表等基本面数据,并综合考虑多个因素来进行选股。同时,在技术面上也可以结合其它技术指标形成更完整的选股策略。此外,流通市值的确定也可以适当考虑其它因素如公司业绩、市场竞争力等因素进行评估。
最终的选股逻辑
选取MACD值在零轴以上、企业性质良好,流通市值在50亿至100亿之间的股票作为投资标的。
同花顺指标公式代码参考
(MACD(12,26,9) > 0) AND (PT_TYPE=0) AND (CIRCULATION_MARKET_CAP >= 5000000000) AND (CIRCULATION_MARKET_CAP <= 10000000000) AND (ST_FLAG != 'ST') ;
Python代码参考
import jqdatasdk as jq
from datetime import datetime, timedelta
jq.auth("账户名", "密码")
yesterday = (datetime.now().date() - timedelta(days=1)).strftime("%Y-%m-%d")
q = jq.query(jq.finance.STK_LIST).filter(jq.finance.STK_LIST.type== 'CS').filter(jq.finance.STK_LIST.board_type_code== '001').filter(jq.finance.STK_LIST.circulating_market_cap>=5000000000).filter(jq.finance.STK_LIST.circulating_market_cap<=10000000000).filter(jq.finance.STK_LIST.name.notlike('%ST%'))
df = jq.finance.run_query(q)
for stock_code in df.index.tolist():
stock_name = jq.get_security_info(stock_code).display_name
q = jq.query(jq.finance.STK_BAR).filter(jq.finance.STK_BAR.code == stock_code)
df_stock = jq.finance.run_query(q)
if len(df_stock) > 0:
df = jq.get_price(stock_code, count=30, end_date=yesterday, frequency='daily', fields=['open', 'close'])
macd, signal, hist = abstract.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9)
if macd[-1] > signal[-1]:
if jq.finance.run_query(jq.query(jq.finance.STK_COMPANY_INFO).filter(jq.finance.STK_COMPANY_INFO.code==stock_code)).iloc[0]['nature'] != 'ST':
print("(" + stock_code + ")" + stock_name + " 符合条件")
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


