股市大揭秘

投资有风险,入市需谨慎

股市中有很多谚语如:基金仓位88魔咒、419魔咒、什么无穷六绝七翻身……,我还就不信,我要亲自验证一下。

今天要验证的是——五穷六绝七翻身,现在是五月份就以五月份为例进行分析。

本文采用python进行全部的分析,只想直接看结论的小伙伴可以直接滑到第三节


环境:

Python3.7、pandas、numpy、tushare


目录:

1、数据获取

2、分析

3、总结


1、数据获取

首先要明确需要哪些数据,既然是验证关于月份的数据,那需要的数据就是当月第一个交易日的开盘价以及最后一个交易日的收盘价。


数据来源于tushare,只要注册了就可以获取数据,链接:

tushare.pro/register?


1.1 tushare的基础用法

获取日线数据:

import tushare as ts

ts.set_token('你申请的token')
pro = ts.pro_api()
df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180718')

获取月线数据:

import tushare as ts

ts.set_token('你申请的token')
pro = ts.pro_api()

df = pro.monthly(ts_code='000001.SZ', start_date='20180101', end_date='20181101', fields='ts_code,trade_date,open,high,low,close,vol,amount')

具体用法可以参考官方文档:waditu.com/document/2

既然可以直接获取月线数据那肯定直接用啦,如果你的权限不足也可以请求日线数据拿到当月所有的价格数据再计算。这里我就以日线数据做分析,因为大家一开始没有获取月线数据的权限。

第一步:判断年份是否为闰年,写两个字典,一个为闰年,一个为平年。

year_list = [2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
             2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020]
month_start_end_28 = {'0101': '0131', '0201': '0228', '0301': '0331', '0401': '0430', '0501': '0531', '0601': '0630',
                      '0701': '0731', '0801': '0831', '0901': '0930', '1001': '1031', '1101': '1130', '1201': '1231'}
month_start_end_29 = {'0101': '0131', '0201': '0229', '0301': '0331', '0401': '0430', '0501': '0531', '0601': '0630',
                      '0701': '0731', '0801': '0831', '0901': '0930', '1001': '1031', '1101': '1130', '1201': '1231'}

第二步:获取每个月份第一个交易日的开盘价和最后一个交易日的收盘价,计算涨跌幅,最后将数据存入csv文件中。

注意:这里是这选择每个月的第一天,而各种炒股软件上的月K线的是以上一个月的收盘价为起始点。

if (year % 4 == 0 and year % 100 != 1) or year % 400 == 0:
    month_dict = month_start_end_29
else:
    month_dict = month_start_end_28

for x in month_dict.items():
    start_date = str(year) + x[0]
    end_date = str(year) + x[1]
    print(stock_code, start_date)

    # 获取数据
    stock_data = pro.index_daily(ts_code=stock_code, start_date=start_date, end_date=end_date)
    # 转为json格式
    stock_data = json.loads(stock_data.to_json(orient='records'))
    # 获取月开盘价及月收盘价,并计算涨跌幅
    difference_value = stock_data[0]['close'] - stock_data[-1]['open']
    difference_percent = difference_value / stock_data[-1]['open']
    print(f'幅度{round(difference_percent, 5)}')

    # percent_list.append(difference_value)
    percent_list.append([round(difference_percent, 3) * 100])
    time.sleep(2.5)
data = {'年份': year, '一月': percent_list[0], '二月': percent_list[1], '三月': percent_list[2],
        '四月': percent_list[3], '五月': percent_list[4], '六月': percent_list[5], '七月': percent_list[6],
        '八月': percent_list[7], '九月': percent_list[8], '十月': percent_list[9], '十一月': percent_list[10],
        '十二月': percent_list[11]}

结果展示(部分):

81833fa0ec8b2aaf31933e8a0a48be32.jpeg

2、分析

先初步分析一下获取的数据,如下图:

42a5b095529f7cc9f3739c6ba857b411.jpeg

236f3535818833697d6dfc2219470df4.jpeg

308d75e2ab67a89c203d0c68acb08286.png

单纯的看涨跌比例仿佛没有传说中的五穷六绝七翻身啊,张跌接近1:1,而创业板综上涨的概率更是达到了60%。

再计算一下累计涨幅看看

1e58a4b61341272b4b532d9f19316ee0.jpeg

635f28379207c40b3a412eff7604822d.jpeg

8928bb6fefc15677356a9656c3f1e3cf.jpeg

ce22a240bb07cde6109671bbafd92af6.png

这就很奇怪了,5月份也没有怎么跌呀,四个指数只有上证指数的累计涨幅是负的,创业板综的涨幅甚至高达52%。


3、总结

仔细的观察了一下,发现五月份的涨幅在一年内相对处于中偏低的位置,这样可能就会产生5月份不太行的感觉。但是单从指数来看五月份肯定没啥问题。但为什么股民中会一直流传五穷六绝七翻身呢,我咨询了一个大佬,大佬和我说五六月份是业绩空窗期,板块切换快,没有持续性,就很容易导致亏损。

建议:既然从大盘指数来看五月份没啥问题,炒股板块切换快不好掌握容易亏钱,那直接买对应的大盘指数基金好了,又省心又能赚点钱,只要能赚钱管它是股票还是基金呢。

投资有风险,入市需谨慎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值