问财量化选股策略逻辑
选股逻辑为MACD零轴以上,按个股热度从大到小排序名,并筛选昨天出现在龙虎榜上的股票。选股时间为每日开盘后进行。
选股逻辑分析
此选股逻辑在MACD和个股热度基础上引入了龙虎榜的因素,龙虎榜指的是个股在前一交易日出现了机构较为活跃、成交额较大的情况,通常会吸引投资者的关注和购买。此外,龙虎榜的出现也可能与股票未来走势相关。综合考虑以上因素,可以尽可能筛选出有热度、有机构参与、可能涨势不错的股票。
有何风险?
- 选股逻辑过于注重短期技术面和市场热度,忽略长期基本面和公司价值评估。
- 龙虎榜作为评估股票未来涨跌的因素存在局限性,容易出现误判和盲目跟风。
- 市场热度和机构参与度虽然是重要的选股指标,但并不能单纯依赖于它们来决定投资决策,仍需综合考虑其他因素,特别是公司的基本面情况。
如何优化?
- 加入更全面、科学、合理的选股指标和方法,避免单一指标成为盲区。
- 综合运用技术面和基本面分析,对股票公司的业绩、估值、可持续发展等因素进行全方面评估和分析。
- 增加资料来源的深度和广度,充分了解市场和行业的动态和趋势。
最终的选股逻辑
选股逻辑为MACD零轴以上,按个股热度从大到小排序名,并筛选出昨天出现在龙虎榜的股票。应用以上逻辑进行股票选股。
同花顺指标公式代码参考
CDBIOS:=(EMA(C,12)-EMA(C,26)); // 计算CDBIOS
CD:EMA(CDBIOS,9); // 计算CD
REF1:REF(CD,1); // 计算CD的前一天数据
CDDIF:(CD-REF1); // 计算CD的差分值
MA1:=EMA(C,12); // 计算12日指数平均数
MA2:=EMA(C,26); // 计算26日指数平均数
DIF:=MA1-MA2; // 计算DIF
DEA1:=EMA(DIF,9); // 计算DIF的EMA
MACD:(DIF-DEA1)*2; // 计算MACD
FILTER:=(VOL*C)/10000<55; // 筛选出流通盘小于等于55亿股的股票
SELECT:FILTER AND MACD>0; // 选出符合条件的股票
RANK:RANK(SELECT); // 从大到小对选出的股票排序
RESULT:SELECT AND INDATE(DDATE,REFDATE(1)) AND RANK<=100; // 筛选出排名前100的股票并且出现在昨天的龙虎榜中
Python代码参考
以下是Python的选股筛选代码,仅供参考:
import akshare as ak
import pandas as pd
data_stock_price = ak.stock_zh_a_minute(symbol="sh601988", periodicity='1') # 获取股票数据,注意需要分钟数据
macd = pd.Series(data_stock_price['close']).ewm(12).mean() - pd.Series(data_stock_price['close']).ewm(26).mean()
result_filtered = data_stock_price[macd > 0]
result_yesterday = ak.stock_em_hsgt_hist_sina(date="20220729", market="S") # 获取昨日龙虎榜数据
result_filtered = result_filtered[result_filtered['symbol'].isin(result_yesterday['股票代码'])] # 筛选出昨天出现在龙虎榜的股票
result_sorted = result_filtered.sort_values(by='turnover_rate', ascending=False)
result_top = result_sorted.sort_values(by='热度', ascending=False).iloc[:100] # 选取前100条数据作为筛选结果
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


