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

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

问财量化选股策略逻辑

该选股策略包括三个条件:元宇宙、昨日股价大于250日均线、深证主板中市盈率0-29.01市净率0-3.11的股票。通过筛选出符合条件的股票进行投资。

选股逻辑分析

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

  1. 元宇宙:选择热门板块中的个股。
  2. 昨日股价大于250日均线:判断个股目前的价格是否接近长期均线及相对稳定。
  3. 深证主板中市盈率0-29.01市净率0-3.11的股票:选择符合该条件的股票进行投资,以获取相对低估的股票。

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

有何风险?

  1. 综合策略较多,统计意义下的筛股效果难以保证。
  2. 入门标准较高,不易掌握。

如何优化?

  1. 在综合考虑多种策略时,应确保各项指标的重要性和满足条件的合理度。
  2. 根据不同市场情况和投资风格,可以设置不同的筛选因素,以更好地匹配个人的投资需求。

最终的选股逻辑

该选股策略选择元宇宙板块中,股票均价站在250日均线之上,在深证主板中市盈率0-29.01市净率0-3.11的股票中进行投资。

同花顺指标公式代码参考

元宇宙:GNBK("gnxq")

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

深证主板中市盈率0-29.01市净率0-3.11的股票:PE >=0 and PE <= 29.01 and PB >= 0 and PB <= 3.11 and GZDATE >= 20030101 and GZDATE<=20201231

Python代码参考

import pandas as pd
import tushare as ts
from stockstats import StockDataFrame

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']:
        ts_data = ts.pro_bar(
            ts_code=code,
            adj='qfq',
            start_date='20200101',
            end_date='20211231'
        )

        if len(ts_data) > 1:
            stock = StockDataFrame.retype(ts_data)
            if stock.iloc[-1]['close'] >= stock['close'].rolling(250).mean()[249]:
                pe_pb = pro.query(
                    'daily_basic',
                    ts_code=code,
                    start_date='20211231',
                    end_date='20211231',
                    fields='pe,pb'
                )
                if (pe_pb['pe'].values[0] >= 0) and (pe_pb['pe'].values[0] <= 29.01) and \
                        (pe_pb['pb'].values[0] >= 0) and (pe_pb['pb'].values[0] <= 3.11):
                    df = pro.query('stock_basic', ts_code=code, fields=['name', 'industry', 'market'])
                    if ('ST' not in df['name'].values[0]) and (df['market'].values[0] == 'SZSE') and (df['list_status'].values[0] == 'L'):
                        data_selected = data_selected.append(stock[['pe']].tail(1).assign(name=df['name'].values[0]))

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

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

    模板如何使用?

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


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

评论