零基础学习数据分析Day04

本文介绍了零基础学习数据分析的第四天内容,重点讲解了Numpy库中的基本数据函数,包括蜡烛图、算术平均数、加权平均数(考虑成交量)、时间加权平均数等概念。还探讨了Numpy的基本函数、中位数、标准差计算及其相关公式。此外,文章通过函数轴线汇总展示了数据操作,并利用卷积实现了移动均线,如5日、10日均线及5日加权均线,最后讨论了5日均线的布林带应用。
摘要由CSDN通过智能技术生成

Numpy的基本数据函数

1.蜡烛图

import matplotlib.pyplot as mp
import numpy as np
import datetime as dt
import matplotlib.dates as md
# 日期转换函数
def dmy2ymd(dmy):
	dmy = str(dmy, encoding='utf-8')
	time = dt.datetime.strptime(dmy, '%d-%m-%Y').date()
	t = time.strftime('%Y-%m-%d')
	return t

dates,opening_prices,highest_prices,lowerst_prices,closing_pirce =np.loadtxt('/home/tarena/aid1907/data/day03/aapl.csv',
                                                                          delimiter=',',
                                                                          usecols=(1,3,4,5,6),
                                                                          dtype='M8[D],f8,f8,f8,f8',
                                                                          unpack=True,
                                                                          converters={1:dmy2ymd})
# print(dates)
# 画图
mp.figure('AAPL',facecolor='lightgray')
mp.title('AAPL',fontsize=18)
mp.grid(linestyle=':')
mp.xlabel('Date',fontsize=14)
mp.ylabel('Closing Price',fontsize=14)
# 设置刻度定位器
ax = mp.gca()
ax.xaxis.set_major_locator(md.WeekdayLocator(byweekday=md.MO))
# ax.xaxis.set_minor_locator(md.DayLocator())
ax.xaxis.set_major_formatter(md.DateFormatter('%Y/%m/%d'))

dates = dates.astype(md.datetime.datetime)
mp.plot(dates,closing_pirce,color='pink',
                            linewidth=2,
                            linestyle='--',
                            label='closing',
                            alpha=0.8)
# 判断涨跌
rise_ = closing_pirce>opening_prices
# 填充色
color = ['white' if x else 'green' for x in rise_]
# 边缘色
ecolor = np.zeros(rise_.size,dtype='U5')
ecolor[:]='green'
ecolor[rise_] = 'red'

# print(color)


# 绘制k线
# 绘制实体
mp.bar(dates,closing_pirce-opening_prices,0.8,opening_prices,color=color,
       edgecolor=ecolor,zorder=3)
# 绘制影线
mp.vlines(dates,lowerst_prices,highest_prices,color=ecolor)


mp.legend()
mp.gcf().autofmt_xdate()   # 刻度为斜线
mp.show()

算术平均数

import matplotlib.pyplot as mp
import numpy as np
import datetime as dt
import matplotlib.dates as md
# 日期转换函数
def dmy2ymd(dmy):
	dmy = str(dmy, encoding='utf-8')
	time = dt.datetime.strptime(dmy, '%d-%m-%Y').date()
	t = time.strftime('%Y-%m-%d')
	return t

dates,opening_prices,highest_prices,lowerst_prices,closing_pirce =np.loadtxt('/home/tarena/aid1907/data/day03/aapl.csv',
                                                                          delimiter=',',
                                                                          usecols=(1,3,4,5,6),
                                                                          dtype='M8[D],f8,f8,f8,f8',
                                                                          unpack=True,
                                                                          converters={1:dmy2ymd})
# print(dates)
# 画图
mp.figure('AAPL',facecolor='lightgray')
mp.title('AAPL',fontsize=18)
mp.grid(linestyle=':')
mp.xlabel('Date',fontsize=14)
mp.ylabel('Closing Price',fontsize=14)
# 设置刻度定位器
ax = mp.gca()
ax.xaxis.set_major_locator(md.WeekdayLocator(byweekday=md.MO))
# ax.xaxis.set_minor_locator(md.DayLocator())
ax.xaxis.set_major_formatter(md.DateFormatter('%Y/%m/%d'))

dates = dates.astype(md.datetime.datetime)
mp.plot(dates,closing_pirce,color='pink',
                            linewidth=2,
                            linestyle='--',
                            label='closing')

# 求算术平均数
mean = np.mean(closing_pirce)
mp.hlines(mean,dates[0],dates[-1],color='pink',label='Mean(CP)')


mp.legend()
mp.gcf().autofmt_xdate()   # 刻度为斜线
mp.show()

加权平均数--成交量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值