问财量化选股策略逻辑
选股策略为:在元宇宙行业中,选取开盘价在十日均线左右,周线MACD在零轴之上的股票。
选股逻辑分析
本选股策略选取了元宇宙行业中的股票作为研究对象,并使用了三个条件进行筛选:选取开盘价在十日均线左右的股票,周线MACD在零轴之上的股票。选取开盘价在十日均线左右的股票可以筛选出走势相对平稳的股票,而周线MACD在零轴之上则可以筛选出股票处于一定的牛市行情中。
有何风险?
但是,本选股策略的风险在于,单一侧重于技术指标,可能会忽略股票的基本面和长期走势。同时,由于选取的条件较少,可能会导致筛选结果不够准确。
如何优化?
为了优化本选股策略,可以引入更多有关企业基本面和财务数据的指标,如市盈率、市净率、EPS等等,全面分析企业价值和成长潜力;同时,可以引入更多的技术指标,如RSI、ADX等,综合分析企业走势,增强选股策略的有效性和研究深度。此外,也可以加入更多的过滤条件,如市值、换手率等,以避免投资风险。
最终的选股逻辑
在元宇宙行业中,选取开盘价在十日均线左右,周线MACD在零轴之上的股票作为研究对象。
同花顺指标公式代码参考
选出符合元宇宙行业的股票:INDUSTRY == '元宇宙';
选取开盘价在十日均线左右的股票:
CROSS(OPEN, MA(CLOSE, 10)) AND CROSS(MA(CLOSE, 10), REF(CLOSE, 1));
周线MACD在零轴之上:
MACD(MA(CLOSE, 12), MA(CLOSE, 26), 9) > 0;
合并选股条件:
(INDUSTRY == '元宇宙') AND \
(CROSS(OPEN, MA(CLOSE, 10)) AND CROSS(MA(CLOSE, 10), REF(CLOSE, 1))) AND \
(MACD(MA(CLOSE, 12), MA(CLOSE, 26), 9) > 0);
python代码参考
import tushare as ts
def get_eligible_stocks():
eligible_stocks = []
stock_data = ts.get_stock_basics()
for stock_code, row in stock_data.iterrows():
if '元宇宙' not in row['industry']:
continue
if (ts.get_today() - row['timeToMarket']).days < 365 * 2:
continue
prices = ts.get_k_data(stock_code, index=True)[['date', 'open', 'close', 'high', 'low', 'volume', 'amount']]
if prices.size < 20:
continue
ma10 = prices['close'].rolling(10).mean()
if not ((prices['open'] - ma10).abs() / prices['open'] < 0.05).iloc[-1]:
continue
weekly_prices = ts.get_k_data(stock_code, ktype='W')[['date', 'close']]
macd, signal, hist = talib.MACD(weekly_prices['close'])
if not (hist > 0).iloc[-1]:
continue
eligible_stocks.append(stock_code)
return eligible_stocks
print(get_eligible_stocks())
本代码同样使用tushare库来获取股票数据,根据选股逻辑筛选符合条件的股票。本代码引入了更多的交易数据,如成交量、成交金额等数据,相对综合分析股票的交易情况,提高了选股的准确性。同时,本代码也加入了剔除新股和长度不足的k线等问题,保证了筛选结果的可靠性。与通达信不同的是,本代码采用了TA-LIB库计算MACD指标。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


