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 开源数据包的使用的更多相关文章

  1. Wireshark数据包分析(一)——使用入门

    Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越Metasploit.Nessus.Aircrack ...

  2. Wireshark数据包分析入门

    Wireshark数据包分析(一)——使用入门   Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越 ...

  3. 捕获网络数据包并进行分析的开源库-WinPcap

    什么是WinPcap WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库. 大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets.  这是一种简单的 ...

  4. GnuRadio Hacking②:使用SDR嗅探北欧芯片无线键盘鼠标数据包

    0×00 前言 上半年的时候安全公司Bastille Networks(巴士底狱)安全研究员发现大多数无线鼠标和接收器之间的通信信号是不加密的,黑客可对一两百米范围内存在漏洞的无线键鼠进行嗅探甚至劫持 ...

  5. TCP数据包的封包和拆包

    //该段博文为引用,非原创. 封包和拆包 作者:fengge8ylf  博客:http://blog.csdn.net/fengge8ylf 对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就 ...

  6. c#网络通信框架networkcomms内核解析之八 数据包的核心处理器

    NetworkComms网络通信框架序言 本文基于networkcomms2.3.1开源版本  gplv3协议 我们先回顾一个 c#网络通信框架networkcomms内核解析之六 处理接收到的二进制 ...

  7. http数据包解析碰到gzip压缩格式的解压

    其中在做http数据包临控时碰到gzip压缩格式,在网友发布的一些技术文章基础上,经过一段时间的研究.调试,终于解析成功.现将核心代码公布于此,希望能够和大家一起共同学习交流.注:以下代码需要依赖zl ...

  8. 基于tcpdump的Android智能移动终端数据包捕获完整解决方案

    如何在Android智能手机上捕获数据包? 本文由CSDN-蚍蜉撼青松[主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 当前Android系统越来越流行,无 ...

  9. Java运用第三方开源jar包sigar.jar获取服务器信息

    通过使用第三方开源jar包sigar.jar我们可以获得本地的信息 一.准备工作 (1)下载jar包和相关文件 资源链接:百度云:链接:https://pan.baidu.com/s/1nxccJHJ ...

随机推荐

  1. 【Java基础】16、小数的浮点型和定点型

    一.简介 1.对于不需要任何准确计算精度的数字可以直接使用浮点型,但是如果需要精确计算的结果,则必须使用定点型(BigDecimal类) 浮点型:float,double 定点型:BigDecimal ...

  2. 不容易系列之一(hdu1465)错排+递推

    不容易系列之一 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  3. Heaps(Contest2080 - 湖南多校对抗赛(2015.05.10)(国防科大学校赛决赛-Semilive)+scu1616)

    Problem H: Heaps Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 48  Solved: 9[Submit][Status][Web Bo ...

  4. JavaScript事件(含Demo)

    主要事件: onclick 鼠标单击事件 onmouseover 鼠标经过事件 onmouseout 鼠标移开事件 onchange 文本框内容改变事件 onselect 文本框内容被选中事件 onf ...

  5. Spring之AOP的注解配置

    配置过程可以简单的分为3步: 1,业务类配置 在业务类前加入,将业务类交由Spring管理 @Component("s") 这个表示,这个业务类的Bean名字为 s . 2,将切点 ...

  6. [总结]WEB前端常用命令

    webpack等工具操作 自动创建package.json文件:npm init 如何根据package.json来自动安装包:npm install npm具体安装某个组件:npm install ...

  7. 【代码笔记】Web-JavaScript-Javascript对象

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  8. 计算机网络TCP“三次握手”

    终于有时间写这篇文章了,最近真的比较忙! TCP协议  之 “三次握手” 引言:我们知道,TCP是面向连接的协议(相较于UDP无连接的协议),会在传送数据之前先在 发送端 & 接收端 之间建立 ...

  9. (后端)安装mongodb以及设置为windows服务 详细步骤(转)

    1.在data文件夹下新建一个log文件夹,用于存放日志文件,在log文件夹下新建文件mongodb.log 2.在 D:\mongodb文件夹下新建文件mongo.config,并用记事本打开mon ...

  10. 微服务扩展新途径:Messaging

    [编者按]服务编排是微服务设置的一个重要方面.本文在利用 ActiveMQ 虚拟话题来实现这一目标的同时,还会提供实用性指导.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 目前,微服务使用 ...