1.问题的界定

股价波动的主要原因是股票的供求关系的变化。而使股票的供求关系发生变化的因素,主要来自于以下几个方面:影响股价变动的国内外政治活动以及政府对股市发展的政策、措施、法令等的制定和变化的政治性因素、物价波动与经济景气循环的经济性因素、利率和汇率变化引起的财政金融性因素、公司经营状况变动而造成的公司性因素和因为市场消息导向而形成的市场性因素。这么多的因素变化均能导致股价的波动,或是轻微或是强烈。本文将重点研究市场消息对股价的影响变化程度,在这之前,我们需要能够知道到底哪些市场消息是有效的,哪些无效的。

2.解决思路

为了回答这个问题,需要遍历每个变量并将其都与股价的波动进行相关性分析。在数据集足够大并且计算力足够的情况下不失为一个好办法,但是本文在此希望能够运用小量数据集来推测出股价与特定市场消息的相关性。因此本文将会先以“贵州茅台”这支股价的每日的收盘价为例,将其与“茅台”,“茅台酒”,“茅台股价”和“贵州茅台”这四个关键词的对应当日的百度指数进行相关性分析。由此来找出在这样一个特定的范围中,与股价收盘价最具相关性的因素。

3.变量选择、数据来源说明以及数据整理

对于变量的选择,因为在这里本文将要运用的是Pearson(Pearson相关系数)来进行相关性分析,所以要选择适用于该方法的变量,即符合连续分布或正态分布的变量。而且这个变量又要与股价收盘价这项数据相互独立。因此,本文的自变量将会选择百度指数这个数据分析平台上的数据,它既是符合Pearson要求的连续型变量,其分布当然也是遵循正态分布。 至于为何会选择贵州茅台这一支股票呢?原因是贵州茅台是最近的一支牛股,其股价的波动很大并且与其相关的搜索热度很高,其关键词的数据也极为丰富,所以在百度指数上的关键词波动相对于其他的股票的波动较为显著,这更有利于进行相关性分析。 作为本文因变量的贵州茅台的股价数据来源于Tushare,Tushare是一个开放的,免费的平台,不带任何商业性质和目的的开源数据平台,其数据内容包含股票、基金、期货、债券、外汇、行业大数据,同时包括了数字货币行情等区块链数据的全数据品类的金融大数据平台,为各类金融投资和研究人员提供适用的数据和工具。作为自变量的关键词:“茅台”、“茅台酒”、“茅台股价”和“贵州茅台”的指数来源于百度指数,百度指数是以百度海量网民行为数据为基础的数据分享平台。在这里,你可以研究关键词关注趋势、洞察网民需求变化、监测媒体舆情趋势、定位数字消费者特征。还可以从行业视角,分析市场特点、洞悉品牌表现。股价数据在Tushare提供的R语言接口中已经整理规范(来张图表),从下图可以看到因为股票的收盘价对应的日期只有周一到周五,而整理出来的百度指数的日期则是每日变化,所以本文利用基姆拉尔森计算公式计算出该百度指数的日期是否是周末,如果是周末则在百度指数的数据框中剔除,以此来保证能够对齐数据,从而方便进行接下来的数据分析。

#通过Tushare获取贵州茅台的股价数据
#获取数据并保存至csv文件

#bar <- Tushare::pro_bar(token = '33a2b0bb445664f8c29f0a921587c9101b3ab50622fbbdf0768abaa2')
#a <- bar(ts_code = "600519.SH", start_date = "20190927", end_date = "20191226")
#write.csv(a,file="stocks.csv")

#从文档中读取数据

#读取茅台的收盘价股价
maotai <- read.csv("stocks.csv",stringsAsFactors = TRUE)
knitr::kable(maotai)
X ts_code trade_date open high low close pre_close change pct_chg vol amount
1 600519.SH 20191226 1132.00 1141.98 1119.99 1135.10 1133.70 1.40 0.1235 22877.27 2585997
2 600519.SH 20191225 1143.00 1143.00 1130.01 1133.70 1148.00 -14.30 -1.2456 24305.97 2755735
3 600519.SH 20191224 1153.00 1155.00 1145.00 1148.00 1149.30 -1.30 -0.1131 11823.10 1358536
4 600519.SH 20191223 1139.00 1162.50 1136.00 1149.30 1146.30 3.00 0.2617 25919.18 2981938
5 600519.SH 20191220 1162.18 1162.18 1141.50 1146.30 1157.40 -11.10 -0.9590 23563.84 2703612
6 600519.SH 20191219 1163.00 1163.00 1152.00 1157.40 1168.00 -10.60 -0.9075 19552.30 2262599
7 600519.SH 20191218 1174.00 1175.20 1164.00 1168.00 1169.98 -1.98 -0.1692 19640.09 2295964
8 600519.SH 20191217 1149.70 1173.60 1143.03 1169.98 1147.92 22.06 1.9217 42616.96 4937042
9 600519.SH 20191216 1163.00 1163.00 1137.94 1147.92 1163.00 -15.08 -1.2966 30936.42 3554134
10 600519.SH 20191213 1146.00 1165.00 1146.00 1163.00 1137.00 26.00 2.2867 30000.59 3473928
11 600519.SH 20191212 1156.00 1159.94 1130.08 1137.00 1158.98 -21.98 -1.8965 29409.16 3362700
12 600519.SH 20191211 1168.00 1170.75 1155.55 1158.98 1164.40 -5.42 -0.4655 14567.99 1689988
13 600519.SH 20191210 1159.60 1165.00 1151.00 1164.40 1158.70 5.70 0.4919 15086.58 1749356
14 600519.SH 20191209 1175.00 1176.00 1156.10 1158.70 1170.00 -11.30 -0.9658 21824.12 2543533
15 600519.SH 20191206 1135.97 1170.00 1130.10 1170.00 1129.80 40.20 3.5582 39506.26 4565644
16 600519.SH 20191205 1125.00 1132.01 1118.00 1129.80 1122.33 7.47 0.6656 21338.79 2402503
17 600519.SH 20191204 1140.00 1144.66 1118.00 1122.33 1118.00 4.33 0.3873 35283.08 3980511
18 600519.SH 20191203 1133.00 1133.00 1117.74 1118.00 1133.00 -15.00 -1.3239 27340.93 3066696
19 600519.SH 20191202 1118.20 1140.02 1118.20 1133.00 1129.00 4.00 0.3543 30784.41 3479717
20 600519.SH 20191129 1165.50 1165.50 1112.89 1129.00 1175.80 -46.80 -3.9803 82397.32 9338327
21 600519.SH 20191128 1194.97 1197.51 1169.02 1175.80 1189.95 -14.15 -1.1891 28844.99 3405326
22 600519.SH 20191127 1192.80 1196.62 1184.51 1189.95 1185.00 4.95 0.4177 19848.81 2363840
23 600519.SH 20191126 1186.68 1198.60 1183.00 1185.00 1182.06 2.94 0.2487 40239.61 4794180
24 600519.SH 20191125 1188.05 1194.00 1172.06 1182.06 1194.00 -11.94 -1.0000 38281.75 4518779
25 600519.SH 20191122 1223.00 1229.00 1185.00 1194.00 1231.30 -37.30 -3.0293 47054.28 5677646
26 600519.SH 20191121 1231.00 1235.51 1221.06 1231.30 1233.75 -2.45 -0.1986 19187.39 2356278
27 600519.SH 20191120 1230.00 1239.51 1228.06 1233.75 1232.32 1.43 0.1160 15280.53 1884957
28 600519.SH 20191119 1228.00 1241.61 1225.02 1232.32 1227.28 5.04 0.4107 20623.75 2542106
29 600519.SH 20191118 1225.12 1229.45 1218.00 1227.28 1224.90 2.38 0.1943 18037.66 2204546
30 600519.SH 20191115 1230.00 1232.91 1221.50 1224.90 1230.00 -5.10 -0.4146 16340.72 2003665
31 600519.SH 20191114 1227.00 1240.00 1222.00 1230.00 1224.00 6.00 0.4902 23521.12 2898400
32 600519.SH 20191113 1207.00 1227.80 1200.00 1224.00 1201.60 22.40 1.8642 31977.04 3890667
33 600519.SH 20191112 1204.00 1209.60 1198.21 1201.60 1199.00 2.60 0.2168 19150.55 2303206
34 600519.SH 20191111 1201.50 1206.20 1193.51 1199.00 1205.00 -6.00 -0.4979 17342.46 2082061
35 600519.SH 20191108 1205.00 1215.65 1201.51 1205.00 1201.37 3.63 0.3022 24512.11 2964134
36 600519.SH 20191107 1196.51 1201.88 1189.00 1201.37 1193.00 8.37 0.7016 16167.88 1933204
37 600519.SH 20191106 1197.00 1204.00 1188.88 1193.00 1199.00 -6.00 -0.5004 19737.51 2362005
38 600519.SH 20191105 1199.50 1205.00 1192.00 1199.00 1199.59 -0.59 -0.0492 22254.72 2667596
39 600519.SH 20191104 1190.00 1209.99 1189.00 1199.59 1185.00 14.59 1.2312 26737.98 3209264
40 600519.SH 20191101 1181.00 1191.95 1172.50 1185.00 1180.01 4.99 0.4229 22811.96 2697638
41 600519.SH 20191031 1196.00 1198.00 1176.15 1180.01 1183.80 -3.79 -0.3202 25909.27 3068885
42 600519.SH 20191030 1190.00 1192.70 1176.00 1183.80 1193.00 -9.20 -0.7712 21254.75 2516524
43 600519.SH 20191029 1181.11 1199.96 1177.77 1193.00 1178.29 14.71 1.2484 27803.71 3314272
44 600519.SH 20191028 1166.01 1181.01 1165.00 1178.29 1171.35 6.94 0.5925 22485.99 2644563
45 600519.SH 20191025 1153.30 1172.50 1143.03 1171.35 1150.27 21.08 1.8326 25998.45 3015929
46 600519.SH 20191024 1164.95 1166.00 1147.16 1150.27 1158.91 -8.64 -0.7455 26178.44 3025246
47 600519.SH 20191023 1168.00 1178.00 1156.11 1158.91 1170.80 -11.89 -1.0155 23080.21 2684922
48 600519.SH 20191022 1178.00 1181.50 1163.89 1170.80 1168.50 2.30 0.1968 19309.43 2262188
49 600519.SH 20191021 1171.86 1178.90 1163.30 1168.50 1175.79 -7.29 -0.6200 25274.67 2955024
50 600519.SH 20191018 1179.00 1189.99 1171.69 1175.79 1183.33 -7.54 -0.6372 28291.61 3335011
51 600519.SH 20191017 1176.00 1186.66 1162.50 1183.33 1170.00 13.33 1.1393 30508.70 3578144
52 600519.SH 20191016 1168.00 1187.50 1160.00 1170.00 1211.00 -41.00 -3.3856 59150.59 6935973
53 600519.SH 20191015 1180.00 1215.68 1177.03 1211.00 1180.00 31.00 2.6271 40034.73 4806856
54 600519.SH 20191014 1186.00 1187.66 1170.00 1180.00 1174.60 5.40 0.4597 27187.51 3209363
55 600519.SH 20191011 1157.00 1175.00 1152.21 1174.60 1155.00 19.60 1.6970 28689.25 3343560
56 600519.SH 20191010 1127.00 1158.93 1109.02 1155.00 1146.81 8.19 0.7142 41173.70 4685560
57 600519.SH 20191009 1166.20 1166.20 1135.05 1146.81 1167.10 -20.29 -1.7385 35788.57 4105282
58 600519.SH 20191008 1153.00 1180.00 1152.01 1167.10 1150.00 17.10 1.4870 31045.27 3631091
59 600519.SH 20190930 1163.00 1169.43 1150.00 1150.00 1174.75 -24.75 -2.1068 30825.14 3565989
60 600519.SH 20190927 1164.00 1183.00 1153.00 1174.75 1167.00 7.75 0.6641 22826.61 2671754
plot(maotai$trade_date, maotai$close, pch=20)

#读取百度指数
baidu <- read.csv("baiduindex.csv",stringsAsFactors = TRUE)
knitr::kable(baidu)
num Maotai wine stock Guizhou date
1 5795 2180 1034 5723 20191226
2 4881 2046 928 4813 20191225
3 4650 2174 836 4236 20191224
4 5466 2285 1006 5403 20191223
5 4203 1967 389 2777 20191222
6 4121 1763 425 2736 20191221
7 4902 1806 950 3760 20191220
8 5397 1996 1025 4000 20191219
9 6350 2070 1218 4696 20191218
10 6857 2139 1181 5194 20191217
11 5671 2016 1056 4974 20191216
12 3961 1818 400 2230 20191215
13 3871 1853 402 2111 20191214
14 4881 1910 1004 3892 20191213
15 5280 1982 989 3702 20191212
16 5332 2020 1019 4386 20191211
17 4423 1888 890 4405 20191210
18 4574 2008 1005 4730 20191209
19 3597 1916 334 2566 20191208
20 3666 1789 429 2648 20191207
21 4774 1861 1032 4816 20191206
22 4834 1878 1050 4669 20191205
23 5363 2065 1146 5580 20191204
24 4984 1867 1154 5861 20191203
25 5277 1868 1179 6236 20191202
26 3874 1679 432 2729 20191201
27 4207 1864 662 3512 20191130
28 6756 1926 1316 9568 20191129
29 4608 1889 933 4160 20191128
30 4894 1717 1073 4232 20191127
31 5316 1895 1068 5095 20191126
32 5323 2014 970 5542 20191125
33 3874 1685 368 2602 20191124
34 3645 1615 478 2825 20191123
35 4898 1636 1121 5817 20191122
36 4998 1631 1098 5042 20191121
37 4455 1517 1070 4063 20191120
38 4541 1669 1019 4182 20191119
39 4727 1572 996 4405 20191118
40 3621 1352 438 2361 20191117
41 3850 1342 500 2358 20191116
42 4682 1449 1092 4112 20191115
43 5066 1553 1126 4626 20191114
44 5074 1633 1064 4607 20191113
45 5260 1798 1023 3784 20191112
46 7047 2080 1094 4217 20191111
47 3630 1531 351 1923 20191110
48 3406 1497 412 1916 20191109
49 4471 1727 917 4004 20191108
50 4288 1572 878 3697 20191107
51 4483 1700 920 3693 20191106
52 4572 1650 1012 3712 20191105
53 4415 1609 908 3811 20191104
54 3443 1516 338 1626 20191103
55 3559 1578 400 1788 20191102
56 4297 1553 832 3719 20191101
57 4416 1512 899 3957 20191031
58 4495 1639 945 4021 20191030
59 4681 1514 956 3981 20191029
60 5001 1578 950 3902 20191028
61 3494 1271 385 1646 20191027
62 3716 1339 436 1767 20191026
63 4596 1481 875 3804 20191025
64 4813 1614 865 4328 20191024
65 4855 1507 900 3963 20191023
66 4812 1538 849 4036 20191022
67 4855 1574 938 4361 20191021
68 3380 1430 378 1881 20191020
69 3848 1283 390 2057 20191019
70 4958 1461 1066 4448 20191018
71 5477 1648 1098 4465 20191017
72 7074 1670 1516 7096 20191016
73 9716 1886 1945 8583 20191015
74 4841 1452 967 4127 20191014
75 3724 1312 398 1535 20191013
76 4574 1631 582 2453 20191012
77 5198 1550 1045 3862 20191011
78 5470 1589 1076 4153 20191010
79 5752 1710 1009 4146 20191009
80 6509 1844 991 4614 20191008
81 7054 1874 981 4013 20190930
82 6683 1804 1169 4758 20190927
plot(baidu$date, baidu$Maotai, pch=20)

plot(baidu$date, baidu$wine, pch=21)

plot(baidu$date, baidu$stock, pch=22)

plot(baidu$date, baidu$Guizhou, pch=23)

#基姆拉尔森计算公式计算今天是否开盘
Kim_larson <- function(d, m, y){
  if(m == 1|| m == 2) {
    m <- m+12;
    y <- y-1;
  }
  day <- (d + 2*m+floor(3 * (m+1)/5) + y + floor(y/4) - floor(y/100) + floor(y/400))%%7
  (y + y /4 + y / 400 - y / 100 + 2 * m + 3 * (m + 1)/5 + d) %% 7;
  if(day == 5 || day == 6){
    return(day)
  }
  else {
    return(day)
  }
}

#对百度指数的数据进行预处理
for (i in 1:length(baidu$date)) {
  date <- baidu$date[i]
  date%%100  ##得到日期
  dd <- date%%100
  ((date-dd)/100)%%100  ##得到月份
  mm <- ((date-dd)/100)%%100
  (((date-dd)/100)-mm)/100 ##得到年份
  yy <- (((date-dd)/100)-mm)/100
  #调用函数
  date_1 <- Kim_larson(dd, mm, yy)
  if(date_1 == 5 || date_1 == 6){
    #如果这天不是开盘日就先将改日期置为缺省值
    baidu$date[i] <- NA
    baidu$Maotai[i] <- NA
    baidu$wine[i] <- NA
    baidu$stock[i] <- NA
    baidu$Guizhou[i] <- NA
  }
}



#判断是否是缺省值, #na.omit函数可以直接删除值所在的行
date_omit <- baidu$date[!is.na(baidu$date)]
maotai_omit <- baidu$Maotai[!is.na(baidu$Maotai)]
wine_omit <- baidu$wine[!is.na(baidu$wine)]
stock_omit <- baidu$stock[!is.na(baidu$stock)]
guizhou_omit <- baidu$Guizhou[!is.na(baidu$Guizhou)]

#将数据对齐之后加入到数据框——data中
data = data.frame(
  maotai = maotai_omit, wine = wine_omit, stock = stock_omit, guizhou = guizhou_omit, date = date_omit)

#插入股价的收盘价到数据框中
data$price <- maotai$close

4.分析过程和结果

本文的分析过程将分为以下三个步骤: ① 分析设计,要对这些数据进行相关性分析就要找到一个明确有效的方法,而Peason相关性分析就是这样一个前人提出并验证过的方法,Pearson能够对股价和每日指数这样的连续变量、符合正态分布的变量进行分析的有效方法。 ② 数据分析,本文要逐个对不同的自变量(百度指数)与因变量(股价的收盘价)进行检验分析,分析这些变量与股价的相关性是是显著还是不明显,是轻微还是强烈。所以,第一步就是要设定一个零假设(Null HyPothesis):记作H0,以及一个对立假设(Alternative HyPothesis):记作H1。如果能够证明零假设错误那么就能推断出对立假设是成立,即百度指数的变化是与股价的波动有一定的关系,至于关系程度有多大,让来看看接下来的分析!

本文提出的零假设以及对立假设: H0: 百度指数与股价的波动是没有关系的 H1: 百度指数与股价的波动是有关系的

接下来开始计算Pearson相关系数,这个概念的定义:这是一个衡量两个数据集合是否在一条线上的系数,即这两对连续变量之间的线性关系有多大。通常情况下通过以下取值范围判断变量的相关强度:相关系数r在0.8-1.0之间是代表着有极强相关性,在0.6-0.8之间是强相关,在0.4-0.6之间是中等程度相关,在0.2-0.4之间是弱相关,在0.0-0.2之间是极弱相关或无相关

本文运用了三种方法进行r值的计算,第一个是直接按照公式设置分子和分母,计算出相关系数r;第二个是直接运用R语言提供的cor函数计算得到r值,第三个是运用R语言提供的chart.Correlation函数计算得到r值

对于变量的选择,因为在这里本文将要运用的是Pearson(Pearson相关系数)来进行相关性分析,所以要选择适用于该方法的变量,即符合连续分布或正态分布的变量。而且这个变量又要与股价收盘价这项数据相互独立。因此,本文的自变量将会选择百度指数这个数据分析平台上的数据,它既是符合Pearson要求的连续型变量,其分布当然也是遵循正态分布。 至于为何会选择贵州茅台这一支股票呢?原因是贵州茅台是最近的一支牛股,其股价的波动很大并且与其相关的搜索热度很高,其关键词的数据也极为丰富,所以在百度指数上的关键词波动相对于其他的股票的波动较为显著,这更有利于进行相关性分析。 作为本文因变量的贵州茅台的股价数据来源于Tushare,Tushare是一个开放的,免费的平台,不带任何商业性质和目的的开源数据平台,其数据内容包含股票、基金、期货、债券、外汇、行业大数据,同时包括了数字货币行情等区块链数据的全数据品类的金融大数据平台,为各类金融投资和研究人员提供适用的数据和工具。作为自变量的关键词:“茅台”、“茅台酒”、“茅台股价”和“贵州茅台”的指数来源于百度指数,百度指数是以百度海量网民行为数据为基础的数据分享平台。在这里,你可以研究关键词关注趋势、洞察网民需求变化、监测媒体舆情趋势、定位数字消费者特征。还可以从行业视角,分析市场特点、洞悉品牌表现。股价数据在Tushare提供的R语言接口中已经整理规范(来张图表),从下图可以看到因为股票的收盘价对应的日期只有周一到周五,而整理出来的百度指数的日期则是每日变化,所以本文利用基姆拉尔森计算公式计算出该百度指数的日期是否是周末,如果是周末则在百度指数的数据框中剔除,以此来保证能够对齐数据,从而方便进行接下来的数据分析。

那么现在新的问题又来了,这个基于少部分样本得到的r值到底能不能代表总体的相关系数(P值)呢?即试判断通过这个样本计算出来的相关系数与总体的相关系数之间是否存在显著性差异?回答这个问题之前,我们需要知道影响这个问题的答案有两种解释,一、如果是因为抽样时出现偶然误差,我们会相信零假设是正确的;二、是因为我们设定的这个零假设本身就是错误,即对立假设才是成立的。 所以,本文将用双尾显著性检验来推论这两个系数之间是否有显著性差异,即这个差异发生是否显著。P值越大,说明我们目前不接受零假设的概率越大,也就是要接受H1的概率越大。在原来传统的方法中:要进行T值检验就要先通过公式计算出T值和自由度(df值)然后根据T值表和df查到对应的T(df)0.05的值,如果现在计算出来的T值能比这个查到的值要大就证明原假设(零假设)不成立,即通过即百度指数和股价的波动是有关的。当然,跟上述的r值一样我们也能在R语言中也能找到现成的函数来完成P值的计算 在这里我们运用cor.test()函数来帮助我们计算得到P值,从下面可以看出cor.test()函数不仅能算出显著性P值,还能给出置信区间[a, b](默认显著性水平是0.05,P值只要在a与b之间就可以说我们 95% 确信实际上总体的相关系数也是这个值)

从该图的对角线我们能够得到数据的分布图;下三角是具有拟合线的双变量散点图 上三角显示的是相关系数以及显著性水平。其中,分别表示1%、5%和10%的显著性水平。

#下面进入参数的相关性分析
#循环比较百度指数的每个变量与股票收盘价的相关系数
#样本总数为60
n <- nrow(data)
for (i in 1:4) {
  #r的计算
  #data第1列为关键词——“茅台”的百度指数,第二列为“茅台酒”,第三列为“茅台g股价”,第四列为“贵州茅台”
  x <- data[,i]
  #data第6列为的当天的股票——贵州茅台的收盘价
  y <- data[,6]
  #按照公式设置分子
  numerator <- (n * sum(x * y) - sum(x) * sum(y))
  #按照公式设置分母
  denominator <- (sqrt(n * sum(x ^ 2) - sum(x) ^ 2) * sqrt(n * sum(y ^ 2) - sum(y) ^ 2))
  #计算出相关系数r
  r <- numerator / denominator
  print(r)
  #计算检验的统计量:
  t <- r * (sqrt(n - 2)) / sqrt(1 - r ^ 2)
  print(t)
}
## [1] -0.126346
## [1] -0.9699959
## [1] -0.5249842
## [1] -4.697573
## [1] 0.06703575
## [1] 0.5116801
## [1] -0.2256669
## [1] -1.764134
#当然也可以用R语言自带的Pearson相关系数的计算函数,这里使用的方法默认是Pearson的方法
data$date <- NULL  ##删除时间列
data_corr <- cor(data[1:5])

for (i in 1:4) {
  print(cor.test(x = data[,i], y = data[,5]))
}
## 
##  Pearson's product-moment correlation
## 
## data:  data[, i] and data[, 5]
## t = -0.97, df = 58, p-value = 0.3361
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.3684500  0.1318074
## sample estimates:
##       cor 
## -0.126346 
## 
## 
##  Pearson's product-moment correlation
## 
## data:  data[, i] and data[, 5]
## t = -4.6976, df = 58, p-value = 1.66e-05
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.6872889 -0.3127513
## sample estimates:
##        cor 
## -0.5249842 
## 
## 
##  Pearson's product-moment correlation
## 
## data:  data[, i] and data[, 5]
## t = 0.51168, df = 58, p-value = 0.6108
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.1901253  0.3155885
## sample estimates:
##        cor 
## 0.06703575 
## 
## 
##  Pearson's product-moment correlation
## 
## data:  data[, i] and data[, 5]
## t = -1.7641, df = 58, p-value = 0.08298
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.45359924  0.02997551
## sample estimates:
##        cor 
## -0.2256669
#由于corrplot有自带的相关系数矩阵的可视化方法
library(corrplot)
## corrplot 0.84 loaded
#生成cor系数矩阵,在这里使用上三角为圆形,下三角为数字的可视化方案
corrplot(corr=data_corr, order="AOE", type="upper", tl.pos = "d")
corrplot(corr=data_corr, add=T, type="lower", method = "number", order = "AOE", diag = F, tl.pos = "n", cl.pos = "n")

#计算r值并可视化的另一个方法,利用PerformanceAnalytics这个包
library(PerformanceAnalytics)
## Loading required package: xts
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Registered S3 method overwritten by 'xts':
##   method     from
##   as.zoo.xts zoo
## 
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
## 
##     legend

chart.Correlation(data, method = "pearson")

表格数据:

knitr::kable(data_corr)
maotai wine stock guizhou price
maotai 1.0000000 0.3872217 0.7991704 0.6321336 -0.1263460
wine 0.3872217 1.0000000 0.1800265 0.3375799 -0.5249842
stock 0.7991704 0.1800265 1.0000000 0.7726827 0.0670358
guizhou 0.6321336 0.3375799 0.7726827 1.0000000 -0.2256669
price -0.1263460 -0.5249842 0.0670358 -0.2256669 1.0000000

5.得到的结论

一、在百度指数关键词“茅台”、“茅台酒”、“茅台股价”和“贵州茅台”的样本量只有三个月的量的基础上,这些关键词与当天对应的贵州茅台的收盘价呈微弱关系或者没有关系,

二、Pearson相关系数分析只能确定两变量之间是否存在相互关系,并不能确定方向性,接下来需要做回归分析才能保证方向性的关系是否显著。另外,Pearson相关系数分析不适用与小的或者非常稀疏的数据集,从本文的整理出来的散点图就可以看出来本文的数据非常分散。最后,Pearson系数几乎只适合描述两组数据之间的变化趋势。

三、双尾显著性检验的检验目的是检验抽样的样本统计量的参数与实际总体参数的差是否过大(无论正方向,还是负方向),把风险分摊到左右两侧。比如在本文中设置的显著性水平为5%,则概率曲线的左右两侧各占2.5%,也就是95%的置信区间。

四、希望和寄语 虽然这个相关性研究并没有得到期望的相关性结论,但是本文在此希望这个基础的步骤能成为在以后要进行的对股价涨跌分析预测的庞大工程的关键一步,也希望这样基础的研究能给以后的研究提供些许帮助,感谢!