问财量化选股策略逻辑
选股逻辑为MACD零轴以上,按个股热度从大到小排序名,且流通盘小于等于55亿股。选股时间为每日开盘后进行。
选股逻辑分析
该选股策略依然以MACD和个股热度作为筛选因子,但在此基础上加入了流通盘的限制。流通盘大小可以反映股票市场的活跃度和投资人的关注度。较小的流通盘也有助于股票的成交量和涨跌幅度。
有何风险?
- 流通盘的大小在不同市场和不同行业有所不同,过度依赖一项指标可能会引入大量的盲区。
- 过于强调短期的技术分析和个股热度,可能会忽略长期的基本面分析和公司价值评估。
- 过分追求筛出少量股票集中持有,可能会增加个股风险和市场波动风险。
如何优化?
- 加入更加全面和多维的指标进行筛选和约束,避免过度依赖单一指标而忽略其他指标。
- 结合长期的基本面分析和公司价值评估,综合考虑股票的投资价值和投资潜力。
- 逐步扩大选股范围和投资组合,提高分散投资和风险控制能力。
最终的选股逻辑
选股逻辑为MACD零轴以上,按个股热度从大到小排序名,且流通盘小于等于55亿股。应用以上逻辑进行股票选股。
同花顺指标公式代码参考
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 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_filtered = result_filtered[result_filtered['volume'] * result_filtered['close'] / 10000 <= 55] # 筛选出符合流通盘要求的股票
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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
