问财量化选股策略逻辑
选取MACD值在零轴以上、企业性质、昨天换手率>8%的个股作为投资标的。该策略主要选取具备较强趋势性、良好的基本面、流动性较好的个股,目的是寻找低风险、高收益的潜力股。
选股逻辑分析
选股逻辑包括选取MACD值在零轴以上、企业性质、昨天换手率>8%的个股作为投资标的。MACD值在零轴以上反映了股票价格大概率向上上涨趋势,企业性质关注公司的基本面,昨天换手率>8%可以避免非流动性好的股票。
有何风险?
该策略选出的股票可能面临股价下跌、企业基本面变化等多种风险,同时涨跌停等限制条件无法有效的避免交易风险。
如何优化?
除了MACD指标和企业性质外,可以加入其他基本面指标和财务数据指标,以综合评估股票价值。此外,可以加入个股流动性控制因素,例如加入对换手率的限制条件等,进一步提高策略的稳定性。
最终的选股逻辑
选取MACD值在零轴以上、企业性质、昨天换手率>8%的个股作为投资标的。
同花顺指标公式代码参考
REF(HSL,1)>8 RETURN(MACD>0 AND circulating_market_capitalization > 0)
其中,REF代表逆推N天前的数据,HSL代表换手率,MACD代表移动平均线指标,circulating_market_capitalization代表流通市值。
Python代码参考
import jqdatasdk as jq
import talib
from datetime import datetime, timedelta
jq.auth("账户名", "密码")
today = datetime.now().strftime("%Y-%m-%d")
yesterday = (datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d")
q = jq.query(jq.valuation).filter(jq.valuation.circulating_market_capitalization > 0)
df_valuation = jq.get_fundamentals(q, count=1)
q = jq.query(jq.volume).filter(jq.volume.stockcode.in_(df_valuation.index.tolist()))
df_volume = jq.get_fundamentals(q, statDate=yesterday)
df_adjust_price = jq.get_price(df_valuation.index.tolist(), start_date=today, end_date=today, frequency='daily', fields=['open', 'close'], skip_paused=True)
df_macd, _, _ = talib.MACD(df_adjust_price['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
df_valuation = df_valuation[(df_volume['volume'] / df_valuation['circulating_market_capitalization'] > 0.08) & (df_macd > 0)]
stock_list = df_valuation.index.tolist()
for code in stock_list:
q = jq.query(jq.valuation).filter(jq.valuation.code==code)
df_valuation = jq.get_fundamentals(q)
if len(df_valuation) > 0:
stock_name = jq.get_security_info(code).display_name
print("(" + code + ")" + stock_name + " 符合条件")
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


