python处理金融时间序列
针对时间序列的处理、量化交易等
1. 常用的三方库
datetime
时间,与timestamp对象息息相关
pandas
Dataframe格式,数据向量化
numpy
高效的矩阵和向量运算
os, sys
一些必要的系统操作
2. datetime库与timestamp
from datetime import time # time库为时间:时-分-秒
from datetime import date # date库为日期:年-月-日
from datetime import datetime # datetime库为:年-月-日-时-分-秒
time库:
# 获取指定时间: 13:23:58
time(hour=13, minute=23, second=59)
time(13, 23, 59) # 同理
date库:
# 获取指定日期: 2020-12-07
date(year=2020, month=12, day=7)
date(2020, 12, 7) # 同理
# 获取今天日期: 2019-12-07
date.today()
# 获取今天周几:
date.today().weekday() # 返回0-6
date.today().isoweekday() # 返回1-7
datetime库:
# 获取指定日期,同理
datetime(year=2019, ..., second=1)
# 获取今天日期时间(精确值):2019-12-07 14:02:15.009170
datetime.today()
datetime.now() # 同理
# 字符串转化为datetime格式
s = '2019-11-07 23:59:34'
t = datetime.strptime(s, "%Y-%m-%d %H:%M:%S")
时间大小比较
time、date、datetime之间不能比较,同类可直接比大小
应用一: 获取当天的年-月-日-时-分-秒 (只保留到秒即可)
now_time = datetime.strptime(str(datetime.now())[:19], "%Y-%m-%d %H:%M:%S")
应用二:获取前一天、前一小时的日期
from datetime import timedelta, date, datetime
yesterday = date.today() - timedelta(days=1)
last_hour = datetime.today() - timedelta(hours=1)