python股票历史最低点_用python找出货币供应量M0最低、最高出现的时间

使用Python的baostock库下载并分析2012年至2018年的货币供应量数据,找到M0的历史最低点(2012年5月,49039.72亿元)和最高点(2017年1月,86598.61亿元)。
摘要由CSDN通过智能技术生成

今天通过下载baostock上的货币供应量数据,想分析过去几年内货币供应量的峰值和最低值,以及出现的时间。因为baostock上的货币供应量的数据只有2012年以后的,所以只能知道2012-2018年的数据。

baostock是个开源的python数据包,可以下载股市基本面,交易数据,以及宏观数据等。见官网:www.baostock.com

下面是代码:

首先需要下载安装baostoc,使用pip或者从官网下载安装文件都可以。见官网 www.baostock.com.

import baostock as bs

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.font_manager as matfont

import matplotlib

import datetime

defget_money_supply(startDate,endDate):

#获取货币供应量

# 登陆系统

lg = bs.login()

# 显示登陆返回信息

print('login

respond error_code:'+lg.error_code)

print('loginrespond  error_msg:'+lg.error_msg)

# 获取货币供应量

rs =bs.query_money_supply_data_month(start_date = startDate, end_date = endDate)

print('query_money_supply_data_month

respond error_code:'+rs.error_code)

print('query_money_supply_data_monthrespond  error_msg:'+rs.error_msg)

# 打印结果集

data_list = []

while (rs.error_code == '0') &

rs.next():

# 获取一条记录,将记录合并在一起

data_list.append(rs.get_row_data())

result = pd.DataFrame(data_list,columns=rs.fields)

# 登出系统

bs.logout()

returnresult

def find_max_min_money_supply():

#根据历史货币供应量进行排序,寻找历史上货币M0最大供应量和最小供应量

money_suppy_result = get_money_supply("2012-01","2018-08")

#年序列

money_supply_yearlist =money_suppy_result.loc[:,'statYear'].astype('int')

#月序列

money_supply_monthlist =money_suppy_result.loc[:,'statMonth'].astype('int')

#M0序列

money_supply_data =money_suppy_result.loc[:,'m0Month'].astype('float')

print(len(money_supply_yearlist),len(money_supply_data))

sortlist = []

for year,month,moneysupply inzip(money_supply_yearlist,money_supply_monthlist,money_supply_data):

sortlist.append([year,month,moneysupply])

sortedlist_asc = sorted(sortlist,key =lambda one:one[2],reverse = False)

sortedlist_desc = sorted(sortlist,key =lambda one:one[2],reverse = True)

#最小货币供应量

print(sortedlist_asc[0])

#最大货币供应量

print(sortedlist_desc[0])

if __name__ == '__main__':

find_max_min_money_supply()

输出结果:

login respond error_code:0

loginrespond  error_msg:success

query_money_supply_data_month

respond error_code:0

query_money_supply_data_monthrespond  error_msg:success

logout success!

79 79

[2012,5, 49039.72]

[2017, 1, 86598.61]

可见:

M0供应量2012年5月是低点,供应量为49039.72亿元,2017年1月是高点,供应量为86598.61亿元。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值