量化金融分析AQF(6):金融数据处理(tushare同时获取多只股价信息、累积收益、每日收益、return分布、股价相关性)

目录

一、获得金融数据

1.1 tushare获取单个对象数据

1.2 tushare pro 获取单个对象数据

1.3 同时获取多只股价信息

二. 金融数据可视化

2.1  数据透视表 pivot :

三、金融初级计算

3.1 计算每日收益

3.3.1 将NaN值替换为0:

3.2 计算累积收益

四、分析return分布

4.1 直方图

4.2 QQ-Plots

五. 股价相关性


 

可能用到的库:

import pandas as pd
import numpy as np
import datetime                
import matplotlib.pyplot as plt
import seaborn
import tushare as ts
%matplotlib inline
import warnings; warnings.simplefilter('ignore') #忽略可能会出现的警告信息,警告并不是错误,可以忽略;

一、获得金融数据

1.1 tushare获取单个对象数据

#获得中信证券的股价信息
zxzq = ts.get_k_data('600030', start = '2019-01-01', end = '2019-03-01')
zxzq.head()

 

1.2 tushare pro 获取单个对象数据

ts.set_token('你注册的token')
pro = ts.pro_api()
df = pro.daily(ts_code='600030.SH', start_date='20190101', end_date='20190301')
df

不知道tushare pro的token,可以看我上篇博客量化金融分析AQF(5):金融数据获取、清洗、整理和存储(Yahoo、Tushare)

 

1.3 同时获取多只股价信息

编写函数同时获得多只股票的数据:

以后有需要直接复制(只需修改时间):

def multiple_stocks(tickers):
    def data(ticker):
        stocks = ts.get_k_data(ticker,start = '2019-01-01', end = '2019-03-01')    #定义了stocks这个daraFrame;
        stocks.set_index('date',inplace = True)
        stocks.index = pd.to_datetime(stocks.index)      #要把日期时间parse成python支持的datetime格式,不然很多python层面的操作无法完成;
        return  stocks             #返回的是进行完处理的stcoks这个DataFrame;
        
    datas = map(data, tickers)
    
    return pd.concat(datas, keys=tickers, names=['Ticker','Date'])    #multiple_stocks函数返回的是拼接后的大DataFrame

获得以下三只股票数据:

tickers = ['600030', '000001','600426']
all_stocks = multiple_stocks(tickers)
all_stocks

如果报错,是tushare数据库问题,可以重启iPython

  • 8
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值