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

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

问财量化选股策略逻辑

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

选股逻辑分析

该选股策略是以MACD和个股热度作为筛选因子,再加上在收益一项上进行约束。选股逻辑较为合理,以涨幅和个股热度来进行选股,能够增加选股的准确性和实用性。

但是,使用历史股票数据作为策略约束,其收益情况可能存在抽样偏差,数据在现实中是否具有普遍性需要进一步验证。

有何风险?

  1. 筛选出的股票可能集中于某一行业,增加风险集中度。
  2. 维持同样的比例分配在所有持仓中可能存在不同的风险收益率,且这种平均分配策略并不一定满足期望风险收益率的要求。
  3. 使用历史数据的缺陷,可能带来抽样偏差。

如何优化?

  1. 加入更多其他指标作为筛选,增加选股准确性;例如价格、交易量、PE等因素。
  2. 对策略约束进行不断调整优化,结合回测进行修正。
  3. 更加全面地评估操作风险,采用一些评估指标来对期望风险进一步约束。

最终的选股逻辑

选股逻辑为MACD零轴以上,按个股热度从大到小排序,同时要求收益大于0。应用以上逻辑进行股票选股。

同花顺指标公式代码参考

MACD: (EMA(CLOSE, 12) - EMA(CLOSE, 26))
PRICE: CLOSE

其中CLOSE为当日收盘价,EMA为指数移动平均数,MACD为MACD线,PRICE为当日收盘价。

Python代码参考

以下是Python的选股筛选代码,仅供参考:

import akshare as ak
import pandas as pd

data_stock_price = ak.stock_zh_a_minute(symbol="sh601988", period='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) & (data_stock_price['pct_chg'] > 0)]
result_sorted = result_filtered.sort_values(by='turnover_rate', ascending=False)
result_top = result_sorted.iloc[:100] # 选取前100条数据作为筛选结果
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

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


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

评论