金融量化分析【day112】:股票数据分析Tushare1
目录
1、使用tushare包获取某股票的历史行情数据
2、输出该股票所有收盘比开盘上涨3%以上的日期
3、输出该股票所有开盘比前日收盘跌幅超过2%的日期
4、假如我从2010年1月1日开始,每月第一个交易日买入1受股票,每年最后一个交易日卖出所有的股票,到今天为止,我的收益如何?
Tushare金融数据接口
Tushare是一个免费、开源的python测井数据接口包
一、 使用tushare包获取某股票的历史行情数据
1、实现代码
import pandas as pd
import numpy as np
import tushare as ts
%matplotlib auto df = ts.get_k_data("600519", start="1988-01-01")
df.to_csv("600519.csv") df = pd.read_csv("600519.csv",index_col='date',parse_dates=['date'])[['open','close','high','low']]
df
2、输出截图

......

二、 输出该股票所有收盘比开盘上涨3%以上的日期
1、代码
df[(df['close']-df['open'])/df['open']>0.03].index
2、输出

三、 输出该股票所有开盘比前日收盘跌幅超过2%的日期
1、答案
1、代码
df[(df['open']-df['close'].shift(1))/df['close'].shift(1)<=-0.02].index
2、输出

2、shift说明
1、代码
df['close'].shift(1)
2、输出
四、 假如我从2010年1月1日开始,每月第一个交易日买入1受股票,每年最后一个交易日卖出所有的股票,到今天为止,我的收益如何?
0、答案
1、代码
df_monthly = df.resample('M').first()
df_yearly = df.resample('A').last()[:-1]
cost_money = 0
hold = 0
for year in range(2001, 2019):
cost_money += df_monthly[str(year)]['open'].sum()*100
hold += len(df_monthly[str(year)]['open']) * 100
if year != 2018:
cost_money -= df_yearly[str(year)]['open'][0] * hold
hold = 0
print(cost_money)
cost_money -= hold * price_last
print(-cost_money)
2、输出

3、打印df_yearly
df_monthly = df.resample('M').first()
df_yearly = df.resample('A').last()[:-1]
df_yearly['2001']
输出

4、打印df_monthly
df_monthly['2018']

1、删除首尾无用数据
1、代码
price_last = df['open'][-1]
df = df['2001-9':'2018-9']
df
2、输出

.......

2、如何找每个月的第一一个交易日?
1、代码
df.resample('m').first()
2、输出

.........

3、如何找每个年的最后一个交易日?
1、代码
df.resample('3D').mean()
df.resample('A').last()[:-1]
2、输出

.........

切掉最后一行,是因为今年还没到年底
3、df.resample('A').last()深入

虽然显示的是一天但是其实代表一年

这是每年的最后一天,交易日不一定有这一天
金融量化分析【day112】:股票数据分析Tushare1的更多相关文章
- day31 堡垒机尾声 + Python与金融量化分析(一)
堡垒机尾声: 代码案例:https://github.com/liyongsan/git_class/tree/master/day31 课堂笔记:file send: 1.选择本地文件 2.远程路径 ...
- 金融量化分析-python量化分析系列之---使用python获取股票历史数据和实时分笔数据
财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据.历史分笔数据,本文对tushare的用法,已经存在的 ...
- 金融量化分析【day110】:金融基础知识
一.股票 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社会增发股票以募集 ...
- day32 Python与金融量化分析(二)
第一部分:金融与量化投资 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社 ...
- Python与金融量化分析----金融与量化投资
一:金融了解 金融:就是对现有资源进行重新的整合之后,进行价值和利润的等效流通. 金融工具: 股票 期货 黄金 外汇 基金 ............. 股票: 股票是股份公司发给出资人多的一种凭证,股 ...
- 金融量化分析【day112】:股票数据分析Tushare2
目录 1.使用tushare包获取某股票的历史行情数据 2.使用pandas包计算该股票历史数据的5日局限和60日均线 3.matplotlib包可视化历史数据的收盘价和历史均线 4.分析输出所有金叉 ...
- 金融量化分析【day112】:初识量化交易
一.摘要 为什么需要量化交易? 量化交易是做什么? 量化交易的价值何在? 做量化交易需要什么? 聚宽是什么? 零基础如何快速入门量化交易? 自测与自学 二.量化交易比传统交易强多少? 它能让你的交易效 ...
- 金融量化分析【day112】:量化交易策略基本框架
摘要 策略编写的基本框架及其实现 回测的含义及其实现 初步学习解决代码错误 周期循环的开始时间 自测与自学 通过前文对量化交易有了一个基本认识之后,我们开始学习做量化交易.毕竟就像学游泳,有些东西讲是 ...
- 金融量化分析【day112】:量化平台的使用-初始化函数
一.set_benchmark - 设置基准 1.实现代码 # 导入函数库 import jqdata #初始化函数,设定基准等等 def initialize(context): set_bench ...
随机推荐
- Python大数据系列-01-关系数据库基本运算
关系数据库基本运算 .tg {border-collapse:collapse;border-spacing:0;} .tg td{font-family:Arial, sans-serif;font ...
- Java使用volatile实现多线程输出ABC共10次
问题 有A,B,C三个线程, A线程输出A, B线程输出B, C线程输出C.要求,同时启动三个线程, 按顺序输出ABC, 循环10次. 今天在写多线程的时候找例子,见到了这样一个题,觉得不难,但是在网 ...
- DB2增删改不记录日志
第一步:关闭事务自动提交 C:\DB2>db2set DB2OPTIONS=+c +c永久关闭自动提交,-c永久开启自动提交 第二步:表修改为不记录日志 db2 alter table T1 a ...
- .NET CORE学习笔记系列(2)——依赖注入【1】控制反转IOC
原文:https://www.cnblogs.com/artech/p/net-core-di-01.html 一.流程控制的反转 IoC的全名Inverse of Control,翻译成中文就是“控 ...
- i春秋 百度杯”CTF比赛 十月场 login
出现敏感的信息,然后进行登录 登录成功发现奇怪的show 然后把show放到发包里面试一下 出现了源码,审计代码开始 出flag的条件要user 等于春秋 然后进行login来源于反序列化后的logi ...
- Eclipse中的快捷键
Ctrl+1:快捷修复(数字 1 不是字母 l) 将鼠标悬停到出错区域,按 Ctrl+1,出现快捷修复的菜单, 按上下方向键选择一种修复方式即可. 也可以将光标移动到出错区域,按 F2 + Enter ...
- CentOS7.4使用KVM
参考地址 [root@node1 ~]# cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) [root@node1 ~]# un ...
- [详细实例]MicroPython拼插编程实战:DIY一台会思考的壁障车
(转载请注明文章来源,更多教程可自助参考www.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇) 在日常生活中,大家会经常见到各种各样的遥控车,它需 ...
- odoo中def init(self):
# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. f ...
- [Spark]如何设置使得spark程序不输出 INFO级别的内容
Spark程序在运行的时候,总是输出很多INFO级别内容 查看了网上的一些文章,进行了试验. 发现在 /etc/spark/conf 目录下,有一个 log4j.properties.template ...
