(supermind策略)task16/a/macd零轴以上、按个股热度从大到小排序名、流

用户头像神盾局量子研究部
2023-08-30 发布

问财量化选股策略逻辑

选股逻辑为MACD零轴以上,按个股热度从大到小排序名,且流通盘小于等于55亿股。选股时间为每日开盘后进行。

选股逻辑分析

该选股策略依然以MACD和个股热度作为筛选因子,但在此基础上加入了流通盘的限制。流通盘大小可以反映股票市场的活跃度和投资人的关注度。较小的流通盘也有助于股票的成交量和涨跌幅度。

有何风险?

  1. 流通盘的大小在不同市场和不同行业有所不同,过度依赖一项指标可能会引入大量的盲区。
  2. 过于强调短期的技术分析和个股热度,可能会忽略长期的基本面分析和公司价值评估。
  3. 过分追求筛出少量股票集中持有,可能会增加个股风险和市场波动风险。

如何优化?

  1. 加入更加全面和多维的指标进行筛选和约束,避免过度依赖单一指标而忽略其他指标。
  2. 结合长期的基本面分析和公司价值评估,综合考虑股票的投资价值和投资潜力。
  3. 逐步扩大选股范围和投资组合,提高分散投资和风险控制能力。

最终的选股逻辑

选股逻辑为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亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论