问财量化选股策略逻辑
选股逻辑:元宇宙,9点25分涨幅小于6%,周线macd在零轴之上。
选股逻辑分析
本选股逻辑以元宇宙板块为主要筛选条件,并结合当日早晨的股票行情和周线技术指标来综合筛选股票。具体筛选逻辑包括:首先筛选元宇宙板块内的股票;其次,要求9点25分涨跌幅小于6%;接着判断周线MACD是否在零轴之上,以筛选出表现良好的股票。最终,从该条件筛选出的股票中选出满足条件的股票。
有何风险?
该选股逻辑主要关注技术面指标,并忽略了基本面的因素,如财务状况和行业趋势等,存在一定的风险。同时,MACD指标的交叉点可能较为频繁,容易产生误判。此外,本选股逻辑的适用范围较小,只适用于元宇宙板块内的股票,可选股空间较小。
如何优化?
针对技术面指标,可以加入其它指标共同筛选,如KDJ、RSI等,综合判断股票的技术面表现。同时,在MACD指标的使用上,可以结合多日的指标表现,以降低交叉点带来的误判风险。此外,可以引入基本面和市场情况等因素综合分析,提高选股的准确性和可靠性。
最终的选股逻辑
选股逻辑:元宇宙,9点25分涨幅小于6%,周线MACD在零轴之上。
同花顺指标公式代码参考
通达信指标:
元宇宙板块:CATEGORY='SW1_zxx'
9点25分涨跌幅小于6%:(Ref(CLOSE,1)/OPEN - 1) < 0.06
周线MACD在零轴之上:WEEK>0 AND MACD()>0
条件筛选:CATEGORY=='SW1_zxx' AND (Ref(CLOSE,1)/OPEN - 1) < 0.06 AND WEEK>0 AND MACD()>0
Python代码参考
以下是利用Python进行选股的代码:
import akshare as ak
import talib
import pandas as pd
from datetime import datetime, timedelta
# 获取元宇宙板块数据
yxu_stocks = ak.stock_zh_a_classified_sector()
yxu_stocks = yxu_stocks[yxu_stocks['name'] == '元宇宙']
# 筛选出符合条件的股票
final_stocks = pd.DataFrame(columns=['symbol'])
for symbol in yxu_stocks['symbol']:
daily_data = ak.stock_zh_a_daily(symbol, start_date=(datetime.now() - timedelta(days=50)).strftime('%Y%m%d'))
if len(daily_data) > 11 and daily_data.iloc[-2]['pct_chg'] < 9.5 and daily_data.iloc[-2]['pct_chg'] > -9.5 and daily_data.iloc[-1]['pct_chg'] < 9.5:
open_price = daily_data.iloc[-11]['open']
close_price = daily_data.iloc[-1]['close']
if (close_price / open_price - 1) < 0.06:
week_data = ak.stock_zh_a_weekly(symbol).sort_index(ascending=False)
macd, signal, hist = talib.MACD(week_data['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
if (hist[-1] > 0) and (macd[-1] > 0):
final_stocks = final_stocks.append({'symbol': symbol}, ignore_index=True)
# 按市值排序并取前5只股票
final_stocks = yxu_stocks[yxu_stocks['symbol'].isin(final_stocks['symbol'])].sort_values(by='market_cap', ascending=False).head(5)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
