问财量化选股策略逻辑
选取MACD值在零轴以上、企业性质符合一定要求、振幅大于1的股票。该策略主要从技术面和基本面两方面入手,寻找MACD值呈现金叉或多头排列的股票,同时考虑企业性质是否符合一定标准,确认企业质量和业绩情况。振幅大于1是为了确认有一定的波动性,以便于操作。
选股逻辑分析
该选股策略结合技术面和基本面,如果企业性质符合一定要求,技术面MACD呈现金叉则进场,同时要求振幅大于1,可以帮助投资者捕捉到股票中的波动性,更好的把握操作时机。
有何风险?
该选股策略主要基于企业性质和技术面指标MACD、振幅等指标来筛选股票,容易忽略市场和公司其他因素,忽视市场的灵活性和可能的变化。同时也容易对所选定的企业性质过度乐观,导致选股入选阶段的判断失误。
如何优化?
可以增加其他基本面指标来筛选个股,以期更好地确认股票的价值,比如市盈率、市净率等,同时在选择振幅指标方面可以采取一些量化指标,在减少市场风险的同时帮助判断操作时机。值得注意的是,选择股票时应该更注重公司基本面和市场环境,并与其他投资者一起分享投资体验。
最终的选股逻辑
选取MACD值在零轴以上、企业性质符合一定要求、振幅大于1的股票。
同花顺指标公式代码参考
// MACD零轴以上、企业性质,振幅大于1的股票
(MACD(12,26,9)>0) AND (SType!='B') AND (SType!='H') AND (REF(HIGH-LOW,1)>1);
Python代码参考
import jqdatasdk as jq
from datetime import datetime, timedelta
from jqdatasdk import finance
from jqdatasdk import query
jq.auth('账户名', '密码')
today = datetime.now().date()
start_date = (today - timedelta(days=30)).strftime("%Y-%m-%d")
q = query(finance.STK_CAPITAL_CHANGE).filter(finance.STK_CAPITAL_CHANGE.change_ratio > 0.1)
df_change = finance.run_query(q)
df_change = df_change[df_change['volume']>7000000]
for stock_code in df_change.index.tolist():
stock_name = jq.get_security_info(stock_code).display_name
SType = jq.get_security_info(stock_code).start_date[:2]
df = jq.get_price(stock_code, start_date=start_date, end_date=today, frequency='daily', fields=['high','low','close'])
df['DIFF'], df['DEA'], df['MACD'] = ta.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
if (df['MACD'][0] > 0) & (SType!='B') & (SType!='H') & (df['high'] - df['low'])[1] > 1:
print("(" + stock_code + ")" + stock_name + " 符合条件")
在Python代码中,先调用聚宽接口,获取大单、特大单买入信息,筛选出符合条件的股票。然后对每一个股票,调用聚宽接口获取企业性质情况和股票历史行情数据,计算MACD和股票振幅,判断是否符合选股条件,最后将符合条件的股票输出。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
