量化学习笔记-获取交易日数据-20170520

** 学习环境:聚宽平台-投资研究 **

学习目标:生成一个列表。列表中元素是过去1年每月最后一个交易日的日期数据。


In [3]:
导入 jqdata 和numpy模块
import jqdata
import numpy as np
In [50]:
使用jqdata.get_tarde_days函数获取从2016-05-01到2017-05-01的所有交易日期数据,生成一个array
date_range=jqdata.get_trade_days(start_date='2016-05-01', end_date='2017-05-01', count=None)
In [51]:
date_range
Out[51]:
array([datetime.date(2016, 5, 3), datetime.date(2016, 5, 4),
datetime.date(2016, 5, 5), datetime.date(2016, 5, 6),
datetime.date(2016, 5, 9), datetime.date(2016, 5, 10),
datetime.date(2016, 5, 11), datetime.date(2016, 5, 12),
datetime.date(2016, 5, 13), datetime.date(2016, 5, 16),
datetime.date(2016, 5, 17), datetime.date(2016, 5, 18),
datetime.date(2016, 5, 19), datetime.date(2016, 5, 20),
datetime.date(2016, 5, 23), datetime.date(2016, 5, 24),
datetime.date(2016, 5, 25), datetime.date(2016, 5, 26),
datetime.date(2016, 5, 27), datetime.date(2016, 5, 30),
datetime.date(2016, 5, 31), datetime.date(2016, 6, 1),
datetime.date(2016, 6, 2), datetime.date(2016, 6, 3),
datetime.date(2016, 6, 6), datetime.date(2016, 6, 7),
datetime.date(2016, 6, 8), datetime.date(2016, 6, 13),
datetime.date(2016, 6, 14), datetime.date(2016, 6, 15),
datetime.date(2016, 6, 16), datetime.date(2016, 6, 17),
datetime.date(2016, 6, 20), datetime.date(2016, 6, 21),
datetime.date(2016, 6, 22), datetime.date(2016, 6, 23),
datetime.date(2016, 6, 24), datetime.date(2016, 6, 27),
datetime.date(2016, 6, 28), datetime.date(2016, 6, 29),
datetime.date(2016, 6, 30), datetime.date(2016, 7, 1),
。。。
In [52]:
新建一个空的列表date_range2.使用for循环遍历array中的每个交易日,当交易日的月份发生变化时,将变化前的交易日数据加入dare_range2。
date_range2=[]
for i in range(len(date_range)):
if date_range[i].month != date_range[i+1].month:
date_range2.append(date_range[I])

IndexError
Traceback (most recent call last)
in ()
1 date_range2=[]
2 for i in range(len(date_range)):
----> 3 if date_range[i].month != date_range[i+1].month:
4 date_range2.append(date_range[i])
IndexError: index 242 is out of bounds for axis 0 with size 242

In [53]:
1
date_range2
Out[53]:
[datetime.date(2016, 5, 31),
datetime.date(2016, 6, 30),
datetime.date(2016, 7, 29),
datetime.date(2016, 8, 31),
datetime.date(2016, 9, 30),
datetime.date(2016, 10, 31),
datetime.date(2016, 11, 30),
datetime.date(2016, 12, 30),
datetime.date(2017, 1, 26),
datetime.date(2017, 2, 28),
datetime.date(2017, 3, 31)]

中间一段有运行错误,但是结果没问题。

你可能感兴趣的:(量化学习笔记-获取交易日数据-20170520)