(supermind量化投资)task13/a/元宇宙、前日实际换手率>3~28、macd

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

问财量化选股策略逻辑

该选股策略选取元宇宙行业中,前日实际换手率在3%至28%之间,MACD指标零轴以上的个股进行投资。

选股逻辑分析

该选股策略主要围绕以下条件进行选股:

  1. 选取元宇宙行业中的个股,因为元宇宙领域具有较高的成长性和隐含收益;
  2. 前日实际换手率在3%至28%之间,可能表示该个股存在着资金流动性和市场认可度;
  3. MACD指标零轴以上,可能提示该个股存在较大的上涨空间。

综合以上条件,选择符合条件的个股进行投资。

有何风险?

  1. MACD指标是基于移动平均线计算的,容易受到股价波动的影响;
  2. 该选股策略忽略了个股的基本面因素、行业前景等因素。

如何优化?

  1. 同时加入基本面因素、行业前景等因素,以综合判断个股的投资价值;
  2. 采用动态止损策略,保证投资的风险控制。

最终的选股逻辑

该选股策略选取元宇宙行业中,前日实际换手率在3%至28%之间,MACD指标零轴以上的个股进行投资。

同花顺指标公式代码参考

  • 元宇宙行情:GNBK("gnxq");
  • 前日实际换手率:TURNOVER(2);
  • MACD指标:MACD(12,26,9)

选股公式:GNBK("gnxq") AND TURNOVER(2)>3 AND TURNOVER(2)<28 AND MACD(12,26,9) > 0

Python代码参考

import pandas as pd
import tushare as ts
from pandas_datareader import data as pdr
import yfinance as yf
import talib

yf.pdr_override()

def stock_selector():
    ts.set_token('your_token')
    pro = ts.pro_api()
    data1 = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,name,industry')
    data1 = data1[data1['name'].str.contains('元宇宙')]
    start_date = str((pd.Timestamp.now() - pd.Timedelta(days=30)).date())
    end_date = str(pd.Timestamp.now().date())
    data2 = pdr.get_data_yahoo(list(data1['ts_code']), start=start_date, end=end_date, group_by='ticker')
    data2.reset_index(inplace=True)
    macd, macdsignal, macdhist = talib.MACD(data2['Close'], fastperiod=12, slowperiod=26, signalperiod=9)
    data2['MACD'] = macdhist
    data2['Pct_Change'] = (data2['Close'] - data2['Close'].shift(1)) / data2['Close'].shift(1)
    data2.dropna(inplace=True)
    data2 = data2.groupby(by='level_0', as_index=False).apply(lambda x:x.iloc[-2, :])
    data2.reset_index(drop=True, inplace=True)
    data2 = pd.merge(data1, data2, left_on='ts_code', right_on='level_0', how='inner')
    data2.set_index(['ts_code'], inplace=True)
    data2 = data2.loc[(data2['Pct_Change'] > 0) & (data2['MACD'] > 0)]
    data2[['Pct_Change']] = data2[['Pct_Change']] * 100
    data2 = data2[(data2['Pct_Change'] > 3) & (data2['Pct_Change'] < 28)]
    data2.reset_index(inplace=True)
    data3 = data2.loc[:, ['ts_code', 'name', 'industry']]
    return data3
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论