1 股票K线图

K线图这种图表源处于日本德川幕府时代,被当时日本米市的商人用来记录米市的行情与价格波动,后因其细腻独到的标画方式而被引入到股市及期货市场。

1.1 K线图基本形态

1.2 K线图的计算周期

不同的时间间隔看待股票数据变化,会有不一样的发现!

K线的计算周期可将其分为日K线,周K线,月K线,年K线

很多网站提供了日线、周K线、月K线等周期数据,但是最原始的只有日K线的数据。我们需要自己去生成计算不同频率的数据

2 案例:股票K线数据重采样

  • DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None,kind=None,)

    • 频率转换和时间序列重采样,对象必须具有类似日期时间的索引(DatetimeIndex,PeriodIndex或TimedeltaIndex)
参数 作用
rule 表示重采样频率,例如周’W’,月’M’,季度’Q’,5分钟’5min’,12天’12D’
how 用于产生聚合值的函数名或数组函数,例如‘mean’、‘ohlc’、np.max等,默认是‘mean’,其他常用的值由:‘first’、‘last’、‘median’、‘max’、‘min’
axis=0 默认是纵轴,横轴设置axis=1
closed = ‘right’ 在降采样时,各时间段的哪一段是闭合的,‘right’或‘left’,默认‘right’
fill_method = None 升采样时如何插值,比如‘ffill’、‘bfill’等
kind = None 聚合到时期(‘period’)或时间戳(‘timestamp’),默认聚合到时间序列的索引类型
  • 日K周K对比:

那么日线、周线、月线等怎么切换标准??

注:周K线是指以周一的开盘价,周五的收盘价,全周最高价和全周最低价来画的K线图

大部分周线的指标是这个日线指标在这一周最后一个交易日的值。比如周线的’close’应该等于这一周最后一天日线数据的‘close’,但是有的指标是例外,比如周线的’high’应该等于这一周所有日线‘high’中的最大值

接下来我们还是使用之前stock_day当中的某个股票的行情数据

分析

  • 将索引转换成DatetimeIndex类型
  • 对不同指标进行重采样
stock_day = pd.read_csv("./data/stock_day/stock_day.csv")
stock_day = stock_day.sort_index()
# 对每日交易数据进行重采样 (频率转换)# 1、必须将时间索引类型编程Pandas默认的类型
stock_day.index = pd.to_datetime(stock_day.index)# 2、进行频率转换日K---周K,首先让所有指标都为最后一天的价格
period_week_data = stock_day.resample('W').last()# 分别对于开盘、收盘、最高价、最低价进行处理
period_week_data['open'] = stock_day['open'].resample('W').first()
# 处理最高价和最低价
period_week_data['high'] = stock_day['high'].resample('W').max()
# 最低价
period_week_data['low'] = stock_day['low'].resample('W').min()
# 成交量 这一周的每天成交量的和
period_week_data['volume'] = stock_day['volume'].resample('W').sum()
  • 对于其中存在的缺失值
period_week_data.dropna(axis=0)

我们可以将计算出来的周K和原先的日K画图显示出来

  • 画出K线图显示
from matplotlib.finance import candlestick_ochl
import matplotlib.pyplot as plt# 先画日K线
fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(20, 8), dpi=80)
# 准备数据, array数组
stock_day['index'] = [i for i in range(stock_day.shape[0])]
day_k = stock_day[['index', 'open', 'close', 'high', 'low']]
candlestick_ochl(axes, day_k.values, width=0.2, colorup='r', colordown='g')plt.show()# 周K线图数据显示出来
period_week_data['index'] = [i for i in range(period_week_data.shape[0])]
week_k = period_week_data[['index', 'open', 'close', 'high', 'low']]
candlestick_ochl(axes, week_k.values, width=0.2, colorup='r', colordown='g')plt.show()

3 什么是除权数据以及复权操作

上市公司会时不时的发生现金分红、送股等一系列股本变动,这会造成股价的非正常变化,导致我们不能直接通过股价来计算股票的涨跌幅。这种数据我们也称之为除权数据。

所以我们要对这种数据做处理,也称之为复权数据。怎么进行复权呢?

简单的一种方式:
原始数据:
1号:100  2号:50 3号:53 4号:51
复权后:
100 / 50 = 2 比例
1号:100  2号:100 3号:106 4号:102

pandas - 股票K线数据重采样相关推荐

  1. Python 获取股票K线数据

    前言 玩过股票的几乎都知道,股票历史交易日的开盘价.收盘价.最高价.最低价等指标是选股的重要依据.虽然仅仅依靠它们无法在股市中盆满钵满,但是运用好它确实能在较大程度上提高我们的赚钱概率. 当前的金融数 ...

  2. [股票预测]获取股票K线数据

    目 录 2.2 获取K线函数get_k_data() 2.2.1获取最近一年K线数据 (1)数据集(XRHJ000598_OneYear.csv) (3)程序代码 2.2.2 获取指定时间段K线数据 ...

  3. 基于历史K线数据比较的量化选股方法及其系统分享

    第0章 引言 最近量化交易火起来了. 前段时间看了一本书<乌合之众>,讲的是大众心理学.其实股市的本质就是大众心理博弈,通过买卖行为对外表现出股价的涨跌,股价波动反映的是一段时间内股市中的 ...

  4. plotly基于dataframe数据绘制股票K线图并过滤非交易时间

    plotly基于dataframe数据绘制股票K线图并过滤非交易时间 #ohlc过滤非交易时间: import plotly as py # 导入plotly库并命名为py import plotly ...

  5. 如何获取下拉框lable的数据_如何使用Python获取指定股票的日K线数据?

    本篇仅介绍指定股票的数据拉取,批量拉取将在之后的教程中进行介绍,首先你需要安装BaoStock,参见往期教程: 如何使用Python安装BaoStock? 该数据是从2015年开始的,优点是可以用Py ...

  6. akshare、pyecharts、pandas实现指定A股股票K线、成交量图(可缩放、可指定日期)

    用pyecharts画出股票K线图和成交量的方法 --------------------------------------------- 在金融市场中,K线图是一种用来表现股票价格波动情况的图表. ...

  7. python数据科学包(七)—— matplotlib实战之绘制球员能力图和股票K线图

    1.球员能力图 # -*- coding: utf-8 -*- import numpy as np import pandas as pd import matplotlib.pyplot as p ...

  8. 腾讯股票接口API(2)——根据股票代码获取K线数据

    腾讯股票API相关章节 腾讯股票接口API(1)--根据股票代码获取详情 腾讯股票接口API(2)--根据股票代码获取K线数据 腾讯股票接口API(3)--根据股票代码获取分时数据 腾讯股票接口API ...

  9. 数据可视化7_股票K线图

    文章目录 题目要求 数据源 代码 简单版 复杂版 遗忘的知识 1. numpy 2. json和python数据转换 题目要求 excel里的股票数据搞成K线图 数据源 阿里巴巴2020年股票数据.x ...

最新文章

  1. BZOJ 1592. Making the Grade(思维,数据结构优化DP,以及三个拓展问题)[Usaco2008 Feb]【BZOJ计划】
  2. 什么是折线图?怎样用Python绘制?怎么用?终于有人讲明白了(附代码)
  3. NLP-基础知识-007(机器学习-朴素贝叶斯)
  4. 句法分析(syntactic parsing)在NLP领域的应用是怎样的
  5. 太大如何翻页固定表头_外行学 Python 爬虫 第六篇 动态翻页
  6. bat中的[%~dp0]使用
  7. java ee是编程语言_什么是Java编程语言?
  8. 大数据,云计算和物联网,三者之间的关系是什么?
  9. IT 认证考试--软考--(中级项目)嵌入式系统设计师1:嵌入式系统设计师介绍
  10. Centos7 切换为163 网易yum
  11. hdwiki 附件上传大小设置
  12. 优盘启动盘恢复为普通优盘
  13. 机器学习实战教程(九):模型泛化
  14. Python pivot详解
  15. 普通工程师和高级工程师的差别在哪里?如何快速突破?
  16. 网络常见面试题总结(四)
  17. 第十三届蓝桥杯大赛软件赛省赛 Java 研究生组
  18. 【Android 】零基础到飞升 | AbsoluteLayout(绝对布局)
  19. UI设计规范技巧——切图格式
  20. 电商平台搭建流程是怎样的_不懂编程怎么搭建_OctShop

热门文章

  1. QQ群课堂无法打开和加入
  2. WPF工控组态软件之冷却塔和空气压缩机开发
  3. 在DW中制作网页中的表格
  4. 计算机网络保研面试题整理(自用)
  5. java调用java程序,详细说明
  6. Keil 出现报错:undefined symbol
  7. C语言指针结构体详解,结构体指针,C语言结构体指针详解
  8. Axure RP Pro 8.1.0.3377中文破解正式版(附注册码)
  9. Android 插件化学习 加载apk并调用类的函数
  10. 机器学习预测结果评估展示_评估通用社区测试计划的性能并预测结果