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

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

问财量化选股策略逻辑

该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,外盘/内盘大于1.3。

选股逻辑分析

该选股策略的主要选股条件包括:选择元宇宙行业中的股票、股票均价站在五日均线之上、外盘/内盘大于1.3。

元宇宙行业有较大的潜在发展前景,股票均价站在五日均线之上则意味着该股票近期涨势较好,外盘/内盘大于1.3则意味着该股票有较大的外盘支撑。

有何风险?

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

  1. 股票对市场判断错误;
  2. 公司财务状况存在变化;
  3. 选股条件过于简单,存在遗漏。

如何优化?

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

  1. 融合其他指标,如MACD、RSI等,加强对股票技术分析;
  2. 加强对企业财务状况、业绩、盈利能力等方面的研究;
  3. 关注市场投资者情绪等因素,如通过情感分析、大数据分析等进行处理;
  4. 加入约束条件,如市值、成交量等限制;
  5. 考虑在不同价格区间或时间段内进行股票走势的对比。

最终的选股逻辑

该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,外盘/内盘大于1.3。

具体的选股条件为:

  • 元宇宙行情为GNXQ;
  • 股票均价站在五日均线之上,可以通过计算五日均价和股票的收盘价比较;
  • 外盘/内盘比可以通过主力买卖盘数据计算得到。

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

BKI('gnxq') AND CROSS(MA(C,5), C) AND O / I > 1.3

其中,O为外盘,I为内盘,可以通过类似以下代码计算得到:

O = SUM(VOL * (C >= O), N)
I = SUM(VOL * (C < O), N)

同花顺指标公式代码参考

  • 元宇宙行情:GNBK('gnxq')
  • 五日均线:MA(C,5)
  • 外盘:SUM(VOL * (C >= O), N)
  • 内盘:SUM(VOL * (C < O), N)

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

CROSS(MA(C,5), C) AND SUM(VOL*(C>=O),N)/SUM(VOL*(C<O),N) > 1.3

Python代码参考

import pandas as pd
import tushare as ts

def calc_oi(ts_code, date, n):
    ts.set_token('your_token')
    pro = ts.pro_api()
    df = pro.moneyflow(ts_code=ts_code, start_date=date, end_date=date)
    vol = pro.daily_basic(ts_code=ts_code, trade_date=date, fields='vol')
    df['oi'] = df['buy_sm'] + df['buy_md'] + df['buy_lg'] + vol['vol'][0] - df['sell_sm'] - df['sell_md'] - df['sell_lg']
    oi = df['oi'].sum()
    vol = pro.daily(ts_code=ts_code, trade_date=date, fields='vol')
    iv = vol['vol'][0] - oi
    return oi, iv

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')
    data2 = pro.daily(trade_date=date, fields='ts_code, close, pre_close')
    data2['chg_pct'] = (data2['close']/data2['pre_close'] - 1) * 100
    data3 = pd.merge(data1, data2[['ts_code', 'chg_pct']], on='ts_code', how='inner')
    data4 = data3.sort_values(by=['ts_code'])
    data5 = pd.read_csv('path/to/stock_sector.csv')
    data6 = pd.merge(data5, data4, on='ts_code', how='inner')
    data7 = data6[data6['sector_code'] == '000001.SH']
    data7[['oi', 'iv']] = data7.apply(lambda x: calc_oi(x['ts_code'], date, 5), axis=1, result_type='expand')
    data8 = data7[(data7['industry'] == '元宇宙') & (data7['close'] > data7['ma']) & (data7['oi'] / data7['iv'] > 1.3)]
    data9 = data8[['ts_code', 'name']]
    
    if len(data9) > 0:
        return data9
    else:
        return pd.DataFrame()
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论