python分析政策实施前后_用Python分析春节前后的中国A股市场行情(附源代码)
最近中国股市也因受到海外市场波动的影响的振幅非常大,又由于马上面临春节了,股市里的钱是取出来放到货币基金里好呢,还是继续放在股市里好呢?
除了对于宏观,行业,个股的分析和把握,我们从历史市场表现的角度也来看下吧,供大家的投资计划作参考。
好了,废话不多说,先上结论
一、上证指数的春节前后表现,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股市场行情(附源代码)相关推荐
- python分析政策实施前后_使用Python分析北京积分落户数据,分析完我陷入了深思...
北京积分落户制是北京市政协建议推行积分落户政策,以科技贡献.专业技能.在京时间等指标为考核项,计算非京籍人才的"积分",积分达标即可落户北京.也给了我们一众北漂希望,毕竟随着时间的 ...
- 系统架构设计师与系统分析师历年实体分析与解答下载_做Python数据分析5年了,复制粘贴是我最牛逼的技能,直到看到这些公众号,我学习了...
上次跟一个学妹聊天,问她平时怎么学习,她反手甩给我这几个公众号,说很喜欢里面的技术文章,推荐给大家 深度学习这件小事 机器学习,深度学习,自然语言处理,计算机视觉--这些小事情,只要你主动,我们就有可 ...
- python文本结构化处理_在Python中标记非结构化文本数据
python文本结构化处理 Labelled data has been a crucial demand for supervised machine learning leading to a n ...
- python交互式和文件式_使用Python创建和自动化交互式仪表盘
python交互式和文件式 In this tutorial, I will be creating an automated, interactive dashboard of Texas COVI ...
- python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...
2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...
- 学python的有哪些好书_学习python有哪些好书和学习方法?
不请自来~ 上干货 <Python数据分析>作者: [印尼]Ivan Idris Python是一种多范型编程语言,既适用于面向对象的应用开发,又适合函数式设计模式.Python已经成为数 ...
- python怎么做软件程序_看 Python 超级程序员使用什么开发工具
Python超级程序员使用的开发工具 我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发 ...
- python 按需加载_基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)...
基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成 ...
- python输出一个月日历表_关于python一个月总结
今天是6月16了,我在上个月19号的时候敲下了人生中的第一行python的hello world代码.碰巧今天周末,明天又开始忙碌的上(mo)班(yu).趁着现在对这个月的学习做一个总结,也是理清思路 ...
最新文章
- 西部开源学习笔记BOOK2-《unit 4》
- 使用postman测试oauth2.0认证服务中出现OAuth出现Bad credentials
- selenium(2.4.0)中不能导出web drive 代码
- R开发(part7)--环境空间
- 在SQL Server中用好模糊查询指令LIKE
- 【转载】失业的程序员(九):创业就是一场戏
- Silverlight实例教程 - 理解Navigation导航框架Frame类
- 力扣116. 填充每个节点的下一个右侧节点指针(C++,附思路)
- Android 功耗(4)---MTK平台待机功耗分析流程
- OpenShift 4 - DevSecOps (3) - 用 RHACS 精细化管理云原生应用安全
- bzoj1565【NOI2009】植物大战僵尸(最小割)
- 第10课:图片管理模块
- 解析java数值类型数据混合运算
- python源码保护pyinstaller 打包exe运行成功 pytorch环境
- 百面机器学习 之 逻辑回归
- 对于计算机学科的认识和一些感想
- winfrom 实现条形码批量打印以及将条形码信息生成PDF文件
- VINS理论与代码详解2——单目视觉跟踪
- Android必会的自动化测试
- 傲梅分区助手v8.1.0 企业单文件免费版