最近中国股市也因受到海外市场波动的影响的振幅非常大,又由于马上面临春节了,股市里的钱是取出来放到货币基金里好呢,还是继续放在股市里好呢?

除了对于宏观,行业,个股的分析和把握,我们从历史市场表现的角度也来看下吧,供大家的投资计划作参考。

好了,废话不多说,先上结论

一、上证指数的春节前后表现,2005年-2017年

1. 春节前一工作日的涨跌情况

2.春节后一工作日的涨跌情况

3. 春节前5个工作日

4. 春节后5个工作日

从上面的分析可以看出,上证指数在春节前一周和后一周的上涨可能性还是相对比较高的。尤其是春节前一周。

接下来,再来看看其他指数的表现:

二、沪深300指数

1. 春节前一工作日的涨跌情况

2. 春节后一工作日的涨跌情况

3. 春节前5个工作日的涨跌情况

4. 春节后5个工作日的涨跌情况

三、深圳成分股指数

1. 春节前一工作日的涨跌情况

2. 春节后一工作日的涨跌情况

3. 春节前5个工作日的涨跌情况

4. 春节后5个工作日的涨跌情况

四、创业板指数

1. 春节前一工作日的涨跌情况

2. 春节后一工作日的涨跌情况

3. 春节前5个工作日的涨跌情况

4. 春节后5个工作日的涨跌情况

综上,上证,沪深300,深圳,创业板四个指数,基本上是同步的,在节前节后的第一个工作日没有明显的上涨下跌偏向。但是在前后一周都出现了以上涨为多数的情况,尤其是创业板,连续七年,节后一周收涨,不知道今年还会不会延续呢?

以下是所有的源代码:

import pandas as pd

pd.set_option(‘expand_frame_repr’, False)

import os

os.chdir(‘D:/all_trading_data/Every_days_analysis/’)

from Basic_Functions import Functions

import matplotlib.pyplot as plt

## 1.读取春节假日表,并计算前后指定工农昨日

def get_df_sf(n=5):

df_sf = pd.read_csv(‘input_data/spring_festival.csv’)

# df_sf[[‘start’,’end’]] = pd.to_datetime(df_sf[[‘start’,’end’]])

df_sf[‘start’] = pd.to_datetime(df_sf[‘start’])

df_sf[‘end’] = pd.to_datetime(df_sf[‘end’])

# 获取春节前一个交易日的日期

df_sf[‘春节前一天’] = df_sf[‘start’] – pd.Timedelta(days=1)

df_sf[‘春节前一天判断工作日’] = df_sf[‘春节前一天’].dt.dayofweek

i = 0

for date in df_sf[‘春节前一天判断工作日’]:

if date == 5:  # 如果是星期六再减一天

df_sf.loc[i, ‘春节前一工作日’] = df_sf.loc[i, ‘春节前一天’] – pd.Timedelta(days=1)

elif date == 6:  # 如果是星期天再减2天

df_sf.loc[i, ‘春节前一工作日’] = df_sf.loc[i, ‘春节前一天’] – pd.Timedelta(days=2)

else:

df_sf.loc[i, ‘春节前一工作日’] = df_sf.loc[i, ‘春节前一天’]

i += 1

df_sf[‘春节后一天’] = df_sf[‘end’] + pd.Timedelta(days=1)

df_sf[‘春节后一天判断工作日’] = df_sf[‘春节后一天’].dt.dayofweek

i = 0

for date in df_sf[‘春节后一天判断工作日’]:

if date == 5:  # 如果是星期六再加2天

df_sf.loc[i, ‘春节后一工作日’] = df_sf.loc[i, ‘春节后一天’] + pd.Timedelta(days=2)

elif date == 6:  # 如果是星期天再加1天

df_sf.loc[i, ‘春节后一工作日’] = df_sf.loc[i, ‘春节后一天’] + pd.Timedelta(days=1)

else:

df_sf.loc[i, ‘春节后一工作日’] = df_sf.loc[i, ‘春节后一天’]

i += 1

df_sf[‘春节前指定日’] = df_sf[‘春节前一工作日’] – pd.Timedelta(days=n)

df_sf[‘春节后指定日’] = df_sf[‘春节后一工作日’] + pd.Timedelta(days=n)

return df_sf

# 春节后一段时间的涨跌幅

def get_df_change(df_sf, df_index, type=0):

df_sf = df_sf.copy()

df_index = df_index.copy()

name = {0: ‘前’, 1: ‘后’}

i = 0

for year in df_sf[‘year’]:

start = df_sf.loc[i, ‘春节{}指定日’.format(name[type])]

end = df_sf.loc[i, ‘春节{}一工作日’.format(name[type])]

if type == 0:

total_change = (df_index.loc[(df_index[‘date’] >= pd.to_datetime(start)) & (df_index[‘date’] <= pd.to_datetime(end)), ‘index_change’] + 1.0).prod()

elif type == 1:

total_change = (df_index.loc[(df_index[‘date’] >= pd.to_datetime(end)) & (df_index[‘date’] <= pd.to_datetime(start)), ‘index_change’] + 1.0).prod()

# total_change = df_index.loc[(df_index[‘date’] >= pd.to_datetime(start)) & (df_index[‘date’] <= pd.to_datetime(end)), ‘index_change’].sum()

df_sf.loc[i, ‘index_change’] = total_change – 1

i += 1

print df_sf

# exit()

return df_sf

# 作图

def get_plot(df, index_code, n, type):

df = df.copy()

df[‘index_up’] = df.loc[df[‘index_change’] >= 0, ‘index_change’]

df[‘index_down’] = df.loc[df[‘index_change’] < 0, ‘index_change’]

fig = plt.figure(figsize=(14,6))

# ax = fig.add_subplot(1,1,1)

# ax.set_title(str(index_code))

# ax.set_xlabel(‘Time’)  # 设置横坐标x轴的名字

# ax.set_ylabel(‘Change’)  # 设置Y轴

name = {0: ‘back’, 1: ‘forward’}

plt.title(str(index_code) + ‘_spring_festival_index_change_’ + name[type] + ‘_’ + str(n))

plt.xlabel(‘Time’)

plt.ylabel(‘Change’)

# plt.bar(df[‘year’], df[‘index_change’])

plt.bar(df[‘year’], df[‘index_up’], fc=’r’)

plt.bar(df[‘year’], df[‘index_down’], fc=’g’)

plt.show()

if __name__ == ‘__main__’:

## 读取指数数据

# index_code = ‘000001.SH’  # 上证指数

# index_code = ‘000300.SH’  # 沪深300

# index_code = ‘399001.SZ’  # 深圳成指

index_code = ‘399006.SZ’  # 创业板指

type = 1  # 0代表节前, 1代表节后

n = 5

df_index = Functions.import_index_data_wande(index_code=index_code, start_date=’20050101′)

df_sf = get_df_sf(n=n)

df_sf = get_df_change(df_sf, df_index, type=type)

print “上涨次数:%d” % df_sf.loc[df_sf[‘index_change’] >= 0, ‘index_change’].count()

print “下跌次数:%d” % df_sf.loc[df_sf[‘index_change’] < 0, ‘index_change’].count()

print “平均涨跌幅:%.4f%%” % (df_sf[‘index_change’].mean() * 100.00)

print “最大涨幅:%.4f%%” % (df_sf[‘index_change’].max() * 100.00)

print “最大跌幅:%.4f%%” % (df_sf[‘index_change’].min() * 100.00)

get_plot(df_sf, index_code, n, type)

当然,以上的结果都纯属统计结果,如果只是拿以上的结果作为你个人的投资建议,风险还是比较大的,如果在宏观经济,行业研究,个股分析上,再加上一定的数理统计,则会让你事半功倍。

毕竟,投资的道路没有捷径。给大家拜个早年,祝大家节日快乐~红包多多~

可能对于初学者而言,即使有上述源代码,可能还是会觉得较难理解。那么,建议各位想学习python并研究交易的朋友们可以考虑《Python量化入门》课程系列,非常适合零基础的朋友们,获得所有的股票历史数据,并建立自己的交易策略,建议购买课程后深入学习。

课程评价

优点:这套课程特别适合对Python,pandas都没掌握的同学,和“入门”二字很贴切。虽然价要收取一定的费用,但是对于零基础的同学还是墙裂推荐。当然我的笔记是完全免费的,但这个只能作为点心,毕竟正餐才是最有营养的~而且还有大量的源代码A股所有的股票历史交易数据。

缺点:只能用微信访问学习,PC端的话要通过微信客户端访问。

系列总课时约12多个小时,会获得课程讲解的所有源代码。如要深入熟练掌握,课外练习可能需要100小时+。

课程传送门:

python分析政策实施前后_用Python分析春节前后的中国A股市场行情(附源代码)相关推荐

  1. python分析政策实施前后_使用Python分析北京积分落户数据,分析完我陷入了深思...

    北京积分落户制是北京市政协建议推行积分落户政策,以科技贡献.专业技能.在京时间等指标为考核项,计算非京籍人才的"积分",积分达标即可落户北京.也给了我们一众北漂希望,毕竟随着时间的 ...

  2. 系统架构设计师与系统分析师历年实体分析与解答下载_做Python数据分析5年了,复制粘贴是我最牛逼的技能,直到看到这些公众号,我学习了...

    上次跟一个学妹聊天,问她平时怎么学习,她反手甩给我这几个公众号,说很喜欢里面的技术文章,推荐给大家 深度学习这件小事 机器学习,深度学习,自然语言处理,计算机视觉--这些小事情,只要你主动,我们就有可 ...

  3. python文本结构化处理_在Python中标记非结构化文本数据

    python文本结构化处理 Labelled data has been a crucial demand for supervised machine learning leading to a n ...

  4. python交互式和文件式_使用Python创建和自动化交互式仪表盘

    python交互式和文件式 In this tutorial, I will be creating an automated, interactive dashboard of Texas COVI ...

  5. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  6. 学python的有哪些好书_学习python有哪些好书和学习方法?

    不请自来~ 上干货 <Python数据分析>作者: [印尼]Ivan Idris Python是一种多范型编程语言,既适用于面向对象的应用开发,又适合函数式设计模式.Python已经成为数 ...

  7. python怎么做软件程序_看 Python 超级程序员使用什么开发工具

    Python超级程序员使用的开发工具 我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发 ...

  8. python 按需加载_基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)...

    基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成 ...

  9. python输出一个月日历表_关于python一个月总结

    今天是6月16了,我在上个月19号的时候敲下了人生中的第一行python的hello world代码.碰巧今天周末,明天又开始忙碌的上(mo)班(yu).趁着现在对这个月的学习做一个总结,也是理清思路 ...

最新文章

  1. 西部开源学习笔记BOOK2-《unit 4》
  2. 使用postman测试oauth2.0认证服务中出现OAuth出现Bad credentials
  3. selenium(2.4.0)中不能导出web drive 代码
  4. R开发(part7)--环境空间
  5. 在SQL Server中用好模糊查询指令LIKE
  6. 【转载】失业的程序员(九):创业就是一场戏
  7. Silverlight实例教程 - 理解Navigation导航框架Frame类
  8. 力扣116. 填充每个节点的下一个右侧节点指针(C++,附思路)
  9. Android 功耗(4)---MTK平台待机功耗分析流程
  10. OpenShift 4 - DevSecOps (3) - 用 RHACS 精细化管理云原生应用安全
  11. bzoj1565【NOI2009】植物大战僵尸(最小割)
  12. 第10课:图片管理模块
  13. 解析java数值类型数据混合运算
  14. python源码保护pyinstaller 打包exe运行成功 pytorch环境
  15. 百面机器学习 之 逻辑回归
  16. 对于计算机学科的认识和一些感想
  17. winfrom 实现条形码批量打印以及将条形码信息生成PDF文件
  18. VINS理论与代码详解2——单目视觉跟踪
  19. Android必会的自动化测试
  20. 傲梅分区助手v8.1.0 企业单文件免费版

热门文章

  1. python urllib3 post ssl,python post https报错解决方案
  2. 猫哥教你写爬虫 004--数据类型转换-小练习
  3. 如何套用模板绘制生产管理流程图
  4. 继iptables之后的新一代包过滤框架是nftables
  5. HttpClient_用Apache HttpClient实现URL重定向
  6. ubunto中常出现的问题
  7. 本周ASP.NET英文技术文章推荐[03/04 - 03/10]
  8. AirFlow常见问题汇总
  9. xadmin与admin设置
  10. bootstrap 兼容哪些浏览器