python量化数据处理小细节(以后还会不断补充)

使用tushare数据源获取数据后处理

以下都是本人在获得数据后,进行量化回测时,处理数据遇到的各种坑以及解决方案,有些甚至都很幼稚,切勿嘲笑

获取数据

导包

import tushare as ts
import pandas as pd
import matplotlib
#(jupyternotebook 画图用的,别的工具可以不用)
%matplotlib auto 
#正常显示画图时出现的中文和负号
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] =False
#显示所有列
pd.set_option('display.max_columns',None)
#显示所有行
pd.set_option('display.max_rows',None)

获取50指数数据

token='token值'
pro = ts.pro_api(token)
df = ts.fund_nav(ts_code='510050.SH')
df.head()

在这里插入图片描述
数据处理:
1.ts_code只保留前面代码

df['ts_code']=df['ts_code'].apply(lambda x:x[:6]).tolist()

2.列名修改

#修改列名
df.rename(columns={'ann_date':'trade_date'},inplace=True)

3.删除不需要的列

df = df.drop(['end_date','accum_nav','accum_div','net_asset','total_netasset','adj_nav','update_flag'],axis=1,inplace=True)

4.将数字日期修改为%Y-%m-%d格式
粗略说明,之后会专门讲解,挺麻烦的,将str格式转化为数字,再进行转换

df['trade_date'] = df['trade_date'].astype('datetime64[ns]')

在这里插入图片描述
5.按照日期排序
博主曾经遇到一个错误,就是日期排序后,有几个日期不是按照顺序排的,后来解决了,但目前找不到当时的解决方案,以后补充(备注,也欢迎大家补充)

df = df.sort_values(by='trade_date')
df.set_index('trade_date',inplace=True)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神出鬼没,指的就是我!

必须花钱,数据超好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值