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

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

问财量化选股策略逻辑

该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,机构动向大于0。

选股逻辑分析

该选股策略的选股条件包括:选择元宇宙行业中的股票、股票均价站在五日均线之上、机构动向大于0。

选择元宇宙行业的股票,可以体现对新兴行业的关注和投资。选择股票均价站在五日均线之上的股票,则显示出该股票较好的短期涨势。选择机构动向大于0的股票,则显示出机构对该股票的看好程度。

有何风险?

该选股策略可能会受到市场环境、政策变化等多种因素的影响,存在一些风险:

  1. 选择条件较为简单,可能会遗漏有效信息;
  2. 机构动向数据的来源和可靠度可能存在问题;
  3. 基于历史数据进行选股,未来表现不确定。

如何优化?

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

  1. 加载更多的技术和基本面指标,如SMA、MACD、市盈率等,在综合考虑多种指标的基础上进行选股;
  2. 使用机构调研报告或新闻媒体报道等其他可靠数据,来辅助判断机构动向数据的可靠性;
  3. 定期更新选股条件,避免过时的信息干扰投资决策;
  4. 根据大盘走势,选择具备长期投资价值、市场竞争力、财务良好、成长性高的公司投资。

最终的选股逻辑

该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,机构动向大于0。

具体的选股条件为:

  • 元宇宙行情为GNXQ;
  • 股票均价站在五日均线之上,可以通过计算五日均价和股票的收盘价比较;
  • 机构动向大于0,可以通过查找机构持仓情况并计算机构买入和卖出的差异值。

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

GNBK('gnxq') AND (C > MA(C,5)) AND (BBD > 0)

其中,C表示股票的收盘价,BBD表示机构动向的指标。

同花顺指标公式代码参考

  • 元宇宙行情:GNBK('gnxq')
  • 五日均线:MA(C,5)
  • 机构动向:BBD

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

(C > MA(C,5)) AND (BBD > 0)

Python代码参考

import pandas as pd
import tushare as ts

def stock_selector(date):
    ts.set_token('your_token')
    pro = ts.pro_api()
    data1 = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code, name, industry, list_date, circ_mv')
    data2 = pro.daily(trade_date=date, fields='ts_code, close, open, high, low')
    data3 = pd.merge(data1, data2[['ts_code', 'close', 'open', 'high', 'low']], on='ts_code', how='inner')
    data4 = pd.read_csv('path/to/stock_sector.csv')
    data5 = pd.merge(data4, data3, on='ts_code', how='inner')
    data6 = pd.read_csv('path/to/inst_tops.csv')
    data7 = pd.merge(data5, data6, on=['ts_code', 'trade_date'], how='inner')

    data8 = pd.DataFrame()
    for ts_code in data7['ts_code'].unique():
        if len(data3.loc[(data3['ts_code'] == ts_code), :]) > 5:
            if (data3.loc[(data3['ts_code'] == ts_code), 'close'].values[-1] > data3.loc[(data3['ts_code'] == ts_code), 'close'].rolling(window=5).mean().values[-1]) and (data7.loc[(data7['ts_code'] == ts_code), 'b_bd_net'].values[-1] > 0):
                data8 = data8.append(data7[data7['ts_code'] == ts_code], ignore_index=True)

    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)
收益&风险
源码

评论