(supermind量化投资)task13/a/元宇宙、昨日股价大于250日均线、日线ma

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

问财量化选股策略逻辑

选股逻辑包括三个条件:元宇宙板块中的股票、昨日股价大于250日均线、日线MACD>0的股票。根据这些条件筛选符合条件的股票,进行投资。

选股逻辑分析

该选股策略主要考虑以下三个条件进行选股:

  1. 元宇宙板块中的股票:选择热门板块中的个股。
  2. 昨日股价大于250日均线:判断个股目前的价格是否相对稳定且接近长期均线。
  3. 日线MACD>0的股票:MACD是一种技术分析指标,判断股票价格走势的买卖信号,当MACD>0时,代表强势股票。

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

有何风险?

  1. 该选股策略过于关注个股价格变化,可能会忽视企业的基本面因素,如业绩、估值等,容易出现“被套”的风险。
  2. 元宇宙板块属于新兴行业,选股风险较高,容易形成市场热点行为导致投资热度过高。
  3. 该选股策略只考虑了短期价格的波动,没有考虑中长期的走势,容易形成盲目投资。

如何优化?

  1. 建立较为完善的风险管理和资金管理体系,定期审查和调整投资组合,避免单一个股过度分散持仓,保证资金的有效配置。
  2. 加入其他技术指标和基本面数据进行辅助判断,以全面分析企业的价值和风险。
  3. 选股过程中要坚持基本面分析的思路,对企业的财务状况、盈利能力等因素进行全面分析,并综合考虑市场环境和风险。

最终的选股逻辑

该选股策略选择元宇宙板块中,昨日股价大于250日均线,日线MACD>0的个股进行投资。

同花顺指标公式代码参考

元宇宙板块:GNBK("gnxq")

昨日收盘价大于250日均线:C>=MA(250)

日线MACD指标:EMA(CLOSE,SHORT) - EMA(CLOSE,LONG), DIFF:EMA(ONMACLOSE,SHORT)-EMA(ONMACCLOSE,LONG), DEA:EMA(DIFF,M)

Python代码参考

import pandas as pd
import tushare as ts

def stock_selector():
    ts.set_token('your_token')
    pro = ts.pro_api()

    # 获取所有元宇宙板块中的个股
    gnxq = pro.index_basic(
        fields='category',
        identifying_code='9650',
        market='SSE'
    )
    gnxq_stocks = gnxq.loc[gnxq['category'] == 'GN023']

    data_selected = pd.DataFrame()
    for code in gnxq_stocks['con_code']:
        _basic = pro.query(
            'stock_basic', 
            ts_code=code,
            fields=['name', 'industry', 'exchange', 'list_date']
        )
        if len(_basic) == 0:
            continue
        if ('ST' not in _basic['name'].values[0]) and (_basic['exchange'].values[0] != 'SZSE') and \
                (_basic['list_date'].values[0] >= '20210101'):
            df = pro.query(
                'daily',
                ts_code=code,
                fields='trade_date, close, high, low, open, pct_chg, vol, amount'
            )
            if len(df) < 1255:  # 连续5年交易日
                continue
            macd, signal, hist = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
            if (macd.iloc[-1] > 0) and (df.iloc[-1]['close'] >= df['close'].rolling(250).mean()[249]):
                df_today = df.tail(1)
                df_today['name'] = _basic['name'].values[0]
                df_today['industry'] = _basic['industry'].values[0]
                df_today['exchange'] = _basic['exchange'].values[0]
                df_today['list_date'] = _basic['list_date'].values[0]
                data_selected = data_selected.append(df_today)

    data_selected = data_selected.sort_values(by=['amount'], ascending=False)
    return data_selected[['name', 'industry', 'exchange', 'list_date']]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论