tushare 开源数据包的使用
tushare 使用
- python开源金融接口包:
- tushare.org/trading.html#d2
- 安装: pip install tushare
import tushare as ts
# 查看中国茅台 股票历史数据
df = tr.get_k_data('600519',"2000-01-01")
# 好存到本地
df.to_csv('./maotai.csv')
- 修改数据中的 date 时间 值 为时间序列
# 查看date 列中元素类型
df['date'].dtype
import pandas as pd
# 读取本地 csv 文件中的数据
# index_col='date' 将date列作为行索引
# parse_dates=['date'] 将这一列转为时间 序列
df = pd.read_csv('./maotai.csv',index_col='date',parse_dates=['date'])
# 删除数据 一列数据
# inplace=True 映射回元数据 操作不返回数据
df.drop('Unnamed: 0',axis=1,inplace=True)
- 根据时间序列查找数据
# 输出改股票 所有开盘比收盘上涨 3% 以上的 日期
b_index = (df['colse']-df['open'])/df['open'] > 0.03
# 可以将一组bool 值作为 df 的航索引
df.loc[b_index].index
数据偏移
df['close'].shift(1)
down_indexs = (df['colse']-df['open'].shift(1))/df['open'].shift(1) <= 0.02
df.loc[down_indexs].index
- resample 数据的重新取样
- 指定月份 年份查找第一个 或最后一个
df_ = df['2010','2019']
# 获取每月第一天的数据
df_.resample("M").first().head()
# 获取每年最后一天的数据
df_.resample("Y").last()
- 从 2010-1019 年每月开始买入 100支 每年卖出 收益
# 假如我从2010年1月1日开始,每月第一个交易日买入1手股票,
# 每年最后一个交易日卖出所有股票,到今天为止,我的收益如何?
df_ = df["2010":"2019"]
df_.head()
df = df_
price_last = df['open'][-1]
#df = df['2010-01':'2019-01'] #剔除首尾无用的数据
#Pandas提供了resample函数用便捷的方式对时间序列进行重采样,根据时间粒度的变大或者变小分为降采样和升采样:
df_monthly = df.resample("M").first()
df_yearly = df.resample("Y").last()[:-1] #去除最后一年
cost_money = 0 # 持有的金钱
hold = 0 #每年持有的股票
for year in range(2010, 2020):
cost_money -= df_monthly[str(year)]['open'].sum()*100
hold += len(df_monthly[str(year)]['open']) * 100
if year != 2019:
cost_money +=df_yearly[str(year)]['close'][0]*hold
hold = 0
cost_money += hold * price_last
print(cost_money)
1. 创建多层列索引
1) 隐式构造
最常见的方法是给DataFrame构造函数的index或者columns参数传递两个或更多的数组
qizhong qizhong qimo qimo chinese math chinese math tom 100 90 80 70
jay 100 90 80 70
# - 使用product:
# 最简单,推荐使用
col=pd.MultiIndex.from_product([['qizhong','qimo'],
['chinese','math']])
#创建DF对象
df = DataFrame(data=np.random.randint(60,120,size=(2,4)),index=['tom','jay'], columns=col)
df
tushare 开源数据包的使用的更多相关文章
- Wireshark数据包分析(一)——使用入门
Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越Metasploit.Nessus.Aircrack ...
- Wireshark数据包分析入门
Wireshark数据包分析(一)——使用入门 Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越 ...
- 捕获网络数据包并进行分析的开源库-WinPcap
什么是WinPcap WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库. 大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets. 这是一种简单的 ...
- GnuRadio Hacking②:使用SDR嗅探北欧芯片无线键盘鼠标数据包
0×00 前言 上半年的时候安全公司Bastille Networks(巴士底狱)安全研究员发现大多数无线鼠标和接收器之间的通信信号是不加密的,黑客可对一两百米范围内存在漏洞的无线键鼠进行嗅探甚至劫持 ...
- TCP数据包的封包和拆包
//该段博文为引用,非原创. 封包和拆包 作者:fengge8ylf 博客:http://blog.csdn.net/fengge8ylf 对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就 ...
- c#网络通信框架networkcomms内核解析之八 数据包的核心处理器
NetworkComms网络通信框架序言 本文基于networkcomms2.3.1开源版本 gplv3协议 我们先回顾一个 c#网络通信框架networkcomms内核解析之六 处理接收到的二进制 ...
- http数据包解析碰到gzip压缩格式的解压
其中在做http数据包临控时碰到gzip压缩格式,在网友发布的一些技术文章基础上,经过一段时间的研究.调试,终于解析成功.现将核心代码公布于此,希望能够和大家一起共同学习交流.注:以下代码需要依赖zl ...
- 基于tcpdump的Android智能移动终端数据包捕获完整解决方案
如何在Android智能手机上捕获数据包? 本文由CSDN-蚍蜉撼青松[主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 当前Android系统越来越流行,无 ...
- Java运用第三方开源jar包sigar.jar获取服务器信息
通过使用第三方开源jar包sigar.jar我们可以获得本地的信息 一.准备工作 (1)下载jar包和相关文件 资源链接:百度云:链接:https://pan.baidu.com/s/1nxccJHJ ...
随机推荐
- 腾讯防水墙(滑动验证码)的简单使用 https://007.qq.com
在线体验:https://007.qq.com/online.html 快速开始:https://007.qq.com/quick-start.html 简单使用: 1. 引入 JS <scri ...
- ASP.NET MVC 学习笔记-6.异步控制器
1) 异步控制器的由来 对于IIS,它维护了一个.NET线程池来处理客户端请求,这个线程池称为工作线程池,其中的线程称为工作线程.当IIS接收到一个请求时,需要从工作线程池中唤醒一个工 ...
- Prism 学习:从配置文件中加载 Module
之前我们已经了解过,如何从指定的目录中来加载 Module(原文),现在我们来看,如何从应用程序的配置文件中来加载 Module.以这种方式来加载 Module 的优点包括:1. 被加载的 Modul ...
- springMVC_07乱码及restful风格
乱码的解决 通过过滤器解决乱码问题:CharacterEncodingFilter 配置web.xml文件 <filter> <filter-name>encoding< ...
- openjudge------ 日期的种类题目
描述TXT is a vegetable chicken,so 出题什么的完全不会啊! 干脆直接从网络上copy一题下来吧. 小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都 ...
- js 1.变量提升 2.条件语句 3.循环语句 4.加号+的使用
1.变量提升 变量提升是浏览器的一个功能,在运行js 代码执行前,浏览器会给js一个全局作用域叫 window,window 分两个模块,一个叫运营模块,内存模块找到当前作用域下的所有带var和fun ...
- Spring之AOP在XML中的配置方法
AOP 即 Aspect Oriental Program 面向切面编程 先来一个栗子: <aop:config> <aop:pointcut id="loggerCutp ...
- Django---ORM中的锁和事务
---恢复内容开始--- 一 锁 行级锁 select_for_update(nowait=False,skip_locked=False) #注意必须用在事务里面,至于如何开启事务,往后看 返回一 ...
- Java 导出 Excel 列号数字与字母互相转换工具
package test; /** * Deal with Excel column indexToStr and strToIndex * @author * @version 2015-7-8 * ...
- 简析服务端通过geotools导入SHP至PG的方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG ...