前言:先说个自己曾经得出的结论吧,不保证权威性,权当娱乐。

技术分析、基本面分析在中国A股中时常失灵。
中国A股是一个神奇的地方。将它的收益率与其一阶滞后项进行GARCH模型拟合,再将残差与世界各国的股市收益率GARCH残差进行copula拟合,检验结果的参数表明,它与欧美发达国家的相关性极低,而就算在亚洲国家内部,也只与中国香港,中国台湾的股票指数收益率的波动关系比较密切,最高只有30%-40%(中国香港)。
而中国A股的散户占比70%以上,机构投资者仅为20%左右。这就造成很多情况下,辛辛苦苦调研发掘的好公司长期卧倒,而游资随便选 的概念股却飞出天际。机构投资者不挣钱,散户就赎回自己炒;而机构投资者为了挣钱做大规模,就也化身游资抛弃基本面,不管三七二十一,哪里起火炒哪里。而这终究是赌博不是投资,只是为了赚另一个傻瓜的钱,终究有一天,自己也会成为接盘侠。
在历经无数次打击之后,一些券商研究员和买方基金经理开始寻找其他影响股市的因素。于是,股市玄学开始进入机构投资者的视线。
据传说,有一些基金经理在给客户路演的时候用的是介绍基本面策略的ppt,而自己实际投资的时候却完全靠烧香、龟壳和占卜。
这当然是个笑话,而据我所知,周易炒股法和占星术炒股法真的在一些基金经理和券商研究所的人员中私下流传,甚至有一些券商研究所将其摆上了台面。
大部分基金经理和券商研究员都受过高等教育,其中不乏硕士,博士,而为什么受过这么久科学教育的他们,会开始相信非科学的力量呢?是不是由于这些非科学的力量真的能给予他们超常的回报呢?

而本文就要走近玄学,用属于科学的统计学检验方法挑战玄学炒股法,看看各种谣传的炒股法是否能够作为投资的参考依据。

玄学一:水逆期间股价表现差?
水逆,就是水星逆行。这个传言由来已久,最早是占星术的理论,认为水逆期间地球人的心情、记忆,地球上的通讯、交通等会受到影响,进而影响地球上的一切。
不妨假定水逆效应不存在。水逆能够影响地球人和地球上的交通,进而对水逆期间的股市产生影响。那么,我们需要检验的,就是水逆期间股市是否表现不同往常?如果确实如此,我们就拒绝原假设。而如果水逆期间与任意选取的时间区间的收益率大致相似,那么我们就不能拒绝原假设,水逆效应很可能不存在。
而比较水逆期间股市是否比较差,我们需要一个参考标准。既然占星术认为,水逆对地球有影响,那么水逆期间的股价显然会表现出不同于一般情况下的特征,而该特征被人们总结为水逆期间股价表现差
那么,就随机取十年内与水逆期间长度相同, 顺序一致的时间段,看看总体的股价平均收益率表现与水逆期间相比是否有明显不同,如果差异明显,那么我们就大致能够认为水逆期与随机选取的时间段有明显不同,即水逆效应存在。

  1. 水逆期间的选取
    我们选取2000年至2018年的水逆期间(来自星座网站https://ameblo.jp/fortunecafe-ceres/entry-12411172067.html),具体水逆开始时间和结束时间可以见附录。一共有60次水逆,每次持续时间大概为20天。

  2. 股票价格的选取
    我们从同花顺iFind数据库中,选取2000年1月1日至2018年12月31日的上证综指收盘价数据,并且考虑除权除息的情况,用收盘价除以前收盘价得到数据。运用python编程,获取对应水逆期间的收盘价数据,计算日收益率。

  3. 拟合数据得出样本均值Xt。
    在2000年至2018年之间,选取60个时间段,每个时间段与对应的水逆期间的时间段长度相同。将每次水逆期间的平均对数收益率记为Xt,t = 1,2 … 60, 而将其与水逆期间的实际收益率St相减,构建统计量为:

    我们将St看成是总体的一个样本,检验它是否偏离总体平均值,如果偏离,就拒绝原假设,水星逆行的效应是存在的。

  4. 实际检验结果
    通过将60次水星逆行的平均收益率做50次统计检验,得到t-value的平均值为0.5304,最大值为0.7350。直接从t-value的值就可以看出,水逆期间获得的收益率并没有明显偏离随机选取的时间段。
    因此,我们不能够拒绝原假设。因此,从统计学的观点来看,可以在一定99%的置信度下,认为水逆效应不存在。

附录·代码(需要导入2000年1月1日至2018年12月31日的上证综指前收盘价,收盘价的数据)

import time
import xlrd
import random
import numpy as npdef get_data_stock():data_stock = xlrd.open_workbook("2_stock_market_test.xlsx")table_stock = data_stock.sheets()[2]return table_stock.col_values(2)[1:], table_stock.col_values(5)[1:]#Mercury是水星的意思
def get_data_Mercury():data_Mercury = xlrd.open_workbook("2_stock_market_test.xlsx")table_Mercury = data_Mercury.sheets()[1]return table_Mercury.col_values(0)[1:], table_Mercury.col_values(1)[1:], table_Mercury.col_values(2)[1:]def gener_time_point(last_time, data_begin_time, data_end_time):#在Excel中,2000/1/1的数字时间为36526,2018/12/31的数字时间为43465, last_time表示随机生成的时间段的时间间隔. 下面,我们要首先为60个时间区间分配位置.#6939是指总时长while(True):time_point = []for i in range(len(last_time)):time_point.append(random.randint(0, data_end_time - data_begin_time - 2)) #flag是用于判断随机生成的时间点序列是否符合要求flag = Truetime_point.sort()for i in range(len(last_time) - 1):if 6939 - time_point[len(time_point) - 1] < last_time[len(last_time) - 1]:flag = Falsebreakif time_point[i+1] - time_point[i] < last_time[i]:flag = Falsebreakif flag == False:breakreturn time_point#对stock和Mercury的数据进行处理,模拟1000次得到Mercury收益率的平均值
def data_analysis(data_begin_time, data_end_time):begin_time, end_time, last_time = get_data_Mercury()time_point = gener_time_point(last_time, data_begin_time, data_end_time)stock_time, return_rate = get_data_stock()return_rate_Mercury = []#遍历搜寻出每一个对应时间区间内的股票收益率, 存在一个列表中,并且最后把所有列表都存在一个大列表中for i in range(len(begin_time)):return_rate_each = []for j in range(len(stock_time)):if stock_time[j] > end_time[i]:breakif stock_time[j] >= begin_time[i] and stock_time[j] <= end_time[i]:return_rate_each.append(return_rate[j])if len(return_rate_each) != 0:return_rate_Mercury.append(return_rate_each)#通过time_point遍历寻找随机生成的股票序列的收益率return_rate_time_point = []for i in range(len(time_point)):return_rate_time_point_each = []time_point[i] += data_begin_timefor j in range(len(stock_time)):if stock_time[j] > time_point[i] + last_time[i]:continueif stock_time[j] < time_point[i]:continueif stock_time[j] >= time_point[i] and stock_time[j] <= time_point[i] + last_time[i]:return_rate_time_point_each.append(return_rate[j])if len(return_rate_time_point_each) != 0:return_rate_time_point.append(return_rate_time_point_each)Mercury, new_time_point = return_rate_summary_stat(return_rate_time_point, return_rate_Mercury)if len(new_time_point) == 59:print(time_point, return_rate_time_point)print(stat_test(Mercury, new_time_point))#计算对应时间序列的平均收益率,方差
def return_rate_summary_stat(return_rate_time_point, return_rate_Mercury):Mercury_mean_variance = []time_point_mean_variance = []for i in range(len(return_rate_Mercury)):help_mean_variance = []help_mean_variance.append(np.mean(return_rate_Mercury[i]))help_mean_variance.append(np.var(return_rate_Mercury[i]))Mercury_mean_variance.append(help_mean_variance)for j in range(len(return_rate_time_point)):help_mean_variance = []help_mean_variance.append(np.mean(return_rate_time_point[j]))help_mean_variance.append(np.var(return_rate_time_point[j]))time_point_mean_variance.append(help_mean_variance)return Mercury_mean_variance, time_point_mean_variance#将Mercury视为一个具体的实现,而随机生成的序列视为均值
def stat_test(Mercury, time_point):abs_value = 0var_value = 0print(len(Mercury), len(time_point))if len(time_point) == 59:print(time_point)for i in range(len(Mercury)):abs_value += pow(Mercury[i][0] - time_point[i][0], 2)var_Mercury = []for j in range(len(Mercury)):var_Mercury.append(Mercury[j][0])var_value = np.var(var_Mercury)t_test = abs_value / np.sqrt(var_value)return t_testif __name__ == "__main__":data_begin_time = 36526data_end_time = 43465for i in range(1000):data_analysis(data_begin_time, data_end_time)

附录·水星逆行时间数据

水星逆行对股市涨跌的实证检验相关推荐

  1. Fama-French 三因子模型在A股市场的实证研究

    https://uqer.io/community/share/5784b3d1228e5b8a09932d9e Fama-French 三因子在A股市场的实证研究 Fama-French三因子模型无 ...

  2. 期货涨跌与什么有关(期货和股市涨跌有关系吗)

    期货涨跌是由什么决定的 期货涨跌是由期货市场上的多空力量决定,即当期货市场上的空方力量较强势时,则会导致期货走势下跌,当期货市场上的多方力量较强势时,则会推动期货上涨,除此之外,期货涨跌还受以下因素影 ...

  3. 货币政策对于股市涨跌影响

    前言:下面的影响不觉得,只是传统上认为如此,不一定和实际相符 名词列表 加息 降息 缩表 CPI PPI 成交量 加息 国债或者存款加息100基点,说明国债收益率 涨 1%,国债属于低风险收益,如果国 ...

  4. 水星逆行,诸事不宜,瞬间爆炸。

    烦死了,还写mao个博客,写完估计就明天了,睡觉睡觉. 转载于:https://blog.51cto.com/12254243/1891913

  5. 通过新闻预测股市涨跌

    constant.py 定义数据位置,在主文件中调用 raw_text_csv_file = './dataset/Combined_News_DJIA.csv' cln_text_csv_file ...

  6. 【邢不行|量化小讲堂系列19-Python量化入门】平均趋向指标(ADX)策略在A股的实证

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总]请点击此处 [必读文章]EOS期现 ...

  7. python中shift函数rolling_【邢不行|量化小讲堂系列18-Python量化入门】简易波动指标(EMV)策略实证...

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. 个人微信:xingbuxing0807,有问题欢迎 ...

  8. 炒股十余年,亏了很多钱,现在很迷茫是退出股市还是继续坚持?

    炒股十余年,亏了很多钱,现在很迷茫是退出股市还是继续坚持? 我认为还是应该继续坚持的,很多人在股市中亏钱的原因是心态出了问题,我认为您可能是心态出了问题,可能是我们在股市中没有准确的定位自己,在股市中 ...

  9. 顶刊实证复现:排污权交易机制是否提高了企业全要素生产率 (思路梳理+全数据源+python代码)

    标题:排污权交易机制是否提高了企业全要素生产率 --来自中国上市公司的证据 参考文献 作者:任胜钢, 郑晶晶, 刘东华, 陈晓红 来源:<中国工业经济>2019年第5期 数据概况 1. 数 ...

  10. 顶刊实证复现!排污权交易机制是否提高了企业全要素生产率 ——来自中国上市公司的证据

    标题:排污权交易机制是否提高了企业全要素生产率 --来自中国上市公司的证据 参考文献 作者:任胜钢, 郑晶晶, 刘东华, 陈晓红 来源:<中国工业经济>2019年第5期 数据概况 1. 数 ...

最新文章

  1. 暗渡陈仓:用低消耗设备进行破解和渗透测试1.2.2 渗透测试工具集
  2. 网申时遇到“补充信息”这一栏,填还是不填?
  3. xtrabackup 使用说明(续)
  4. 7月平均工资下来,Java程序员哭笑不得!
  5. ActionRequestValidationException[Validation Failed: 1: script or doc is missing
  6. 在Leaflet地图上集成Echarts
  7. 利用envi对landsat8数据进行处理
  8. 致敬创新者 | 看中国小企业掌握哪些核心技术?
  9. io读取一个文件再写入socket技术_Kafka必须掌握的核心技术--为什么吞吐量大、速度快?...
  10. 3.中小型企业通用自动化运维架构 -- Ansible playbook
  11. 中小企业应该将云存储用于主数据吗?
  12. 计量经济学笔记1-Eviews操作-一元线性回归
  13. linux 消息队列实现通信
  14. 微信小程序开发全流程记录(从前台到后台,到发布)
  15. 一个测试浏览器速度的网站
  16. 月薪3千与3万文案的区别!一字千金就体现在细微之处
  17. pytorch之transforms
  18. kafka集群Error creating broker listeners
  19. ienumerable vs iqueryable异常
  20. Flutter实现微信支付和iOS IAP支付,ndk开发入门

热门文章

  1. kdj买卖指标公式源码_KDJ买卖副图指标 源码 通达信 贴图
  2. 计算机利弊英语作文带翻译,电脑的弊英语作文带翻译
  3. 新浪微博html不完整,新浪微博显示不正常怎么解决
  4. 教你30分钟快速搭建直播间
  5. 宁德时代发布第一代钠离子电池;联泰科技与赢创联合研发实验室成立;霍尼韦尔高管人事变动 | 能动...
  6. LAB,RGB,CMYK区别
  7. 港股历史行情数据 API 接口
  8. Excel数据透视表如何创建?
  9. POI 导出Excel,部分单元格的锁定和背景至灰
  10. 使用内网服务器上线微信小程序总结