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

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

问财量化选股策略逻辑

选股逻辑为MACD零轴以上,按个股热度从大到小排序名,10天内涨停天数大于2的股票。涨停天数是指股票价格在一天内涨幅达到10%以上而且当天的成交量也大于前一交易日的成交量。选股时间为每日收盘后进行。

选股逻辑分析

MACD指标可以反映市场趋势,个股热度可以反映市场关注度,涨停天数可以反映股票市场热度和机构投资者的看好程度。综合这些因素可以找到既有市场关注度和趋势,又具有较高的涨幅潜力的股票。

有何风险?

  1. 涨停股票存在一定的波动性,有可能出现大幅回调或暴跌;
  2. 过度依赖技术指标而忽略基本面指标,可能会导致选股失误;
  3. 涨停天数只考虑了近期市场热度,对股票公司的长期发展情况缺乏考虑。

如何优化?

  1. 加入其他指标,如RSI、KDJ等,进行筛选和验证,增强选股的准确性;
  2. 加入基本面指标,如市盈率、市净率等,进行综合鉴别,降低误判率;
  3. 可以考虑加入其他评估指标,如流通市值等,对筛选出的股票进行加权排序,降低偏差。

最终的选股逻辑

选股逻辑为MACD零轴以上,按个股热度从大到小排序名,10天内涨停天数大于2的股票。选股时间为每日收盘后进行。

同花顺指标公式代码参考

选股所需通达信指标公式如下:

MA20: MA(CLOSE, 20);
MA120: MA(CLOSE, 120);
MACD: (EMA(CLOSE, 12) - EMA(CLOSE, 26));
MACD_SIGNAL: EMA(MACD, 9);

其中CLOSE为当日收盘价,EMA为指数移动平均数,MA为简单移动平均数。

Python代码参考

以下为python的选股筛选代码,仅供参考:

import akshare as ak
import pandas as pd

data_stock_price = ak.stock_zh_a_daily(symbol="sh601669")
turnover_data = ak.stock_zh_a_tick_tx_js_fenshi(symbol="sh601669")
turnover_data['pct_change'] = turnover_data['成交额变化'].pct_change()
day_data = turnover_data[turnover_data['pct_change'] > 0.1]
day_count = day_data.resample('D')['pct_change'].count().reset_index()
day_count = day_count[day_count['pct_change'] >= 2]
result_list = []
for i in range(len(day_count)):
    result_list.append(day_count['交易日期'].iloc[i].strftime('%Y-%m-%d'))
result_filtered = data_stock_price[(data_stock_price['trade_date'] >= result_list[0]) & (data_stock_price['trade_date'] <= result_list[-1])]
result_filtered['MA20'] = pd.Series(result_filtered['close']).rolling(window=20).mean()
result_filtered['MA120'] = pd.Series(result_filtered['close']).rolling(window=120).mean()
result_filtered = result_filtered.dropna()
ma20 = result_filtered['MA20']
ma120 = result_filtered['MA120']
result_list = []
for i in range(len(result_filtered)):
    if (result_filtered['MACD'].iloc[i] > 0) and (ma20.iloc[-1] > ma120.iloc[-1]):
        result_list.append(result_filtered['ts_code'].iloc[i])
result_sorted = result_filtered[result_filtered['ts_code'].isin(result_list)].sort_values(by=['close'], ascending=True)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论