五穷六绝七翻身?大盘周几最给力?

常听人说五穷六绝七翻身,然而实践是检验真理的唯一标准,顺便熟悉一下pandas对于时间序列的处理
选用上证指数近十年数据 所需lib tushare

import pandas as pd
import tushare as ts 

上证指数十年观之月份涨跌

sh = ts.get_k_data(code='sh', start='2007-01-01', ktype='M')
sh.head()
五穷六绝七翻身?大盘周几最给力?_第1张图片
image.png

ktype='M',直接选取月份的数据。

sh.dtypes
date       object
open      float64
close     float64
high      float64
low       float64
volume    float64
code       object
dtype: object

date 现在是objec类型(可以简单的理解为字符串),我们需要先将其转换成pandas时间相关的类型

sh.date = pd.to_datetime(sh.date)
sh.dtypes
date      datetime64[ns]
open             float64
close            float64
high             float64
low              float64
volume           float64
code              object
dtype: object

当date是datetime类型之后,我们便可以使用.dt 方法来自由转化时间显示的方式了。为了更加直观,我们将date转化为月份。

sh.date = sh.date.dt.month
sh.head()
五穷六绝七翻身?大盘周几最给力?_第2张图片
image.png

接下来统计大盘月线收阳(close > open)的情况

up = sh[sh.close > sh.open].date.value_counts()
print up
7     8
2     8
10    7
9     7
11    6
8     6
3     6
12    5
6     5
5     5
4     5
1     5
Name: date, dtype: int64

sh[sh.close > sh.open] - 删选出所有符合条件的列
.date - 取出符合条件的列的月份
.value_counts - 计算各个月份出现的次数

从结果上,似乎真的有点五穷六绝七翻身...接下来转化成概率并且排序一下

per = up/sh.date.value_counts()
per.sort_values()
1     0.454545
4     0.454545
5     0.454545
6     0.454545
12    0.500000
3     0.545455
8     0.545455
11    0.600000
9     0.636364
10    0.700000
2     0.727273
7     0.727273
Name: date, dtype: float64
% matplotlib inline
per.plot(kind='bar')
五穷六绝七翻身?大盘周几最给力?_第3张图片
image.png

不多说了。十一月开始减仓,来年一月份再加仓,继续看好九月、十月这收获的季节。

上证指数十年观之周几买入

weekday = ts.get_k_data(code='sh', start='2007-01-01', ktype='D')
weekday.head()
五穷六绝七翻身?大盘周几最给力?_第4张图片
image.png
weekday.date = pd.to_datetime(weekday.date).dt.weekday_name
weekday.head()
五穷六绝七翻身?大盘周几最给力?_第5张图片
image.png
per = weekday[weekday.close > weekday.open].date.value_counts()/weekday.date.value_counts()
per.plot(kind='bar')
五穷六绝七翻身?大盘周几最给力?_第6张图片
image.png

周一最佳,周四最惨,当然,差别没月份那么明显,而且这是日内涨跌,涨了也有可能是假阳线。

放张pandas文档截图吧

五穷六绝七翻身?大盘周几最给力?_第7张图片
image.png

你可能感兴趣的:(五穷六绝七翻身?大盘周几最给力?)