(supermind量化投资)task13/a/元宇宙、股票均价站在五日均线之上、dea上

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

问财量化选股策略逻辑

该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,并且DEA指标上涨。

选股逻辑分析

该选股策略的主要选股条件包括:选择元宇宙行业中的股票、股票均价站在五日均线之上、DEA指标上涨。

选择元宇宙行业中的股票可以关注到这个行业的潜在成长性,股票均价站在五日均线之上可以较好地抓住股票的涨势,DEA指标上涨可以代表股票处于上升通道。

有何风险?

该选股策略可能会受到市场情况和机构投资者的影响,存在一些风险:

  1. 股票价格变化受市场情况、政策影响等因素的影响;
  2. 中小投资者积极买入,被机构抛售;
  3. 股票价格波动较大,风险较高。

如何优化?

为了减小选股策略受到的风险,可以进行如下优化:

  1. 融合其他指标,如MA、RSI等,加强对股票技术面的分析;
  2. 加强对企业可持续发展的研究,关注企业的生态建设、创新能力等方面;
  3. 调整股票市值或盈利情况的约束条件;
  4. 关注市场投资者情绪等因素,如通过情感分析等进行处理。

最终的选股逻辑

该选股策略选择元宇宙行业中,股票均价站在五日均线之上,并且DEA指标上涨的股票进行投资。

具体的选股条件为:

  • 元宇宙行情为GNXQ;
  • 股票均价站在五日均线之上,可以通过计算五日均价和股票的收盘价比较;
  • 计算MACD指标,并判断DEA是否上涨,即DEA值大于DEA指标前一期值;

因此,该选股策略的最终选股公式为:

INDUSTRYIDB(2859,GNXQ) AND CROSS(MA(C,5), C) AND REF(MACD(C,12,26,9), 1) < REF(MACD(C,12,26,9), 1, 1) AND MACDDEA(C,12,26,9) > REF(MACDDEA(C,12,26,9), 1)

同花顺指标公式代码参考

  • 元宇宙行情:GNBK('gnxq')
  • 五日均线:MA(C,5)
  • MACD指标:MACD(C,12,26,9)
  • DEA指标:MACDDEA(C,12,26,9)

在通达信中,可以使用如下指标代码:

CROSS(MA(C,5), C) AND REF(MACD(C,12,26,9), 1) < REF(MACD(C,12,26,9), 1, 1) AND MACDDEA(C,12,26,9) > REF(MACDDEA(C,12,26,9), 1)

Python代码参考

import pandas as pd
import tushare as ts
import talib

def stock_selector():
    ts.set_token('your_token')
    pro = ts.pro_api()
    data1 = pro.query('stock_basic', exchange='SZSE', list_status='L', fields='ts_code, name, industry, list_date, total_share, float_share, market_cap')
    data2 = pro.daily(ts_code='', start_date='20220501', end_date='20220501', fields='ts_code,open,high,low,close,vol')
    data3 = pd.merge(data1, data2, on='ts_code', how='inner')
    data4 = data3.sort_values(by=['ts_code', 'trade_date'])

    data5 = pd.DataFrame(columns=['ts_code', 'ma', 'diff', 'dea'])
    for ts_code, df in data4.groupby('ts_code'):
        close = df['close'].values
        ma = talib.MA(close, timeperiod=5)
        diff, dea, _ = talib.MACDEXT(close, fastperiod=12, slowperiod=26, signalperiod=9)
        data5 = data5.append({'ts_code': ts_code, 'ma': ma[-1], 'diff': diff[-1], 'dea': dea[-1]}, ignore_index=True)

    data6 = data5[(data5['ma'] < data5['close']) & (data5['dea'] > data5['dea'].shift(1))]
    data7 = pd.merge(data6, data1, on='ts_code', how='inner')
    data8 = data7[(data7['market_cap'].notnull()) & (data7['market_cap'] < 2000000000) & (data7['float_share'].notnull()) & (data7['float_share'] < 3000000000)]
    
    if len(data8) > 0:
        return data8[['ts_code', 'name']]
    else:
        return pd.DataFrame()
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论