是否你认为的具有相关性的股票都适合做组合交易?

  • Post author:
  • Post category:其他

如题,很多人都认为常见的、属于同一行业的股票大多数都具有相关性,可以拿来做组合策略。为了打破老中医式的认识,今天咱们来看看几对常见的疑似相关性组合:
1.地产行业:华夏幸福、万科
2.家电行业:格力电器、美的股份
3.快消行业(酒类):茅台、五粮液
4.银行业:中信银行、民生银行

数据准备:

import pandas as pd
import numpy as np
import datetime
import tushare as ts
def getLastWeekDay(day=datetime.date.today()):
    now=day
    if now.isoweekday()==1:
      dayStep=3
    else:
      dayStep=1
    lastWorkDay = now - datetime.timedelta(days=dayStep)
    return lastWorkDay

start='20110103'
end=str(getLastWeekDay())
GL=ts.pro_bar(pro_api=api, ts_code='000651.SZ', adj='qfq', start_date=start, end_date='20190108')
MD=ts.pro_bar(pro_api=api, ts_code='000333.SZ', adj='qfq', start_date=start, end_date='20190108')
HX=ts.pro_bar(pro_api=api, ts_code='600340.SH', adj='qfq', start_date=start, end_date='20190108')
WK=ts.pro_bar(pro_api=api, ts_code='000002.SZ', adj='qfq', start_date=start, end_date='20190108')
MT=ts.pro_bar(pro_api=api, ts_code='600519.SH', adj='qfq', start_date=start, end_date='20190108')
WLY=ts.pro_bar(pro_api=api, ts_code='000858.SZ', adj='qfq', start_date=start, end_date='20190108')
ZX=ts.pro_bar(pro_api=api, ts_code='601998.SH', adj='qfq', start_date=start, end_date='20190108')
MS=ts.pro_bar(pro_api=api, ts_code='600016.SH', adj='qfq', start_date=start, end_date='20190108')

利用ADF检验组合稳定性:

from statsmodels.tsa.stattools import adfuller
def testStationarity(data):
    adftest = adfuller(data)
    result = pd.Series(adftest[0:4], index=['Test Statistic','p-value','Lags Used','Number of Observations Used'])
    for key,value in adftest[4].items():
        result['Critical Value (%s)'%key] = value
    return result

经过检验,所有组合都在Critical Value (1%)上被拒绝原假设,即不具备稳定性。唯有格力电器、美的股份勉强在5%上驳回原假设,即一定程度上有弱稳定性。

testStationarity(coint_list_verify['GL/MD'])

Test Statistic                   -2.909245
p-value                           0.044283
Lags Used                         7.000000
Number of Observations Used    1925.000000
Critical Value (1%)              -3.433752
Critical Value (5%)              -2.863043
Critical Value (10%)             -2.567570

将各个组合进行可视化展示:

coint_list_verify=pd.DataFrame()
coint_list_verify['GL/MD']=GL['close']/MD['close']
coint_list_verify['HX/WK']=HX['close']/WK['close']
coint_list_verify['MT/WLY']=MT['close']/WLY['close']
coint_list_verify['ZX/MS']=ZX['close']/MS['close']

coint_list_verify.fillna(method='ffill',inplace=True)
coint_list_verify.fillna(method='bfill',inplace=True)

from pyecharts import online
from pyecharts import Line,Overlap,EffectScatter
line = Line('稳定性研究')
line.add("GL/MD",coint_list_verify['GL/MD'].index, coint_list_verify['GL/MD'], is_symbol_show=True,is_datazoom_show=True)
line.add("HX/WK",coint_list_verify['HX/WK'].index, coint_list_verify['HX/WK'], is_symbol_show=True)
line.add("MT/WLY",coint_list_verify['MT/WLY'].index, coint_list_verify['MT/WLY'], is_symbol_show=True)
line.add("ZX/MS",coint_list_verify['ZX/MS'].index, coint_list_verify['ZX/MS'], is_symbol_show=True)
line.render()
line

华夏幸福VS万科:
在这里插入图片描述
茅台VS五粮液:
在这里插入图片描述中信银行VS民生银行:
在这里插入图片描述
格力VS美的:
在这里插入图片描述
根据上面图形,基本上老中医的看法都可以被反驳回去,除了格力VS美的以外都不具备可操作性。格力VS美的本身只有短期稳定性,考虑到组合交易都需要进行长期操作,这样的组合标的还是有一定风险的。


版权声明:本文为weixin_43622668原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。