本文整理汇总了Python中tushare.util.dateu.today_last_year函数的典型用法代码示例。如果您正苦于以下问题:Python today_last_year函数的具体用法?Python today_last_year怎么用?Python today_last_year使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了today_last_year函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: sh_margins
def sh_margins(start=None, end=None, retry_count=3, pause=0.001):
"""
获取沪市融资融券数据列表
Parameters
--------
start:string
开始日期 format:YYYY-MM-DD 为空时取去年今日
end:string
结束日期 format:YYYY-MM-DD 为空时取当前日期
retry_count : int, 默认 3
如遇网络等问题重复执行的次数
pause : int, 默认 0
重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
Return
------
DataFrame
opDate:信用交易日期
rzye:本日融资余额(元)
rzmre: 本日融资买入额(元)
rqyl: 本日融券余量
rqylje: 本日融券余量金额(元)
rqmcl: 本日融券卖出量
rzrqjyzl:本日融资融券余额(元)
"""
start = du.today_last_year() if start is None else start
end = du.today() if end is None else end
if du.diff_day(start, end) < 0:
return None
start, end = start.replace("-", ""), end.replace("-", "")
data = pd.DataFrame()
ct._write_head()
df = _sh_hz(data, start=start, end=end, retry_count=retry_count, pause=pause)
return df
示例2: get_nav_history
def get_nav_history(code, start=None, end=None, retry_count=3, pause=0.001, timeout=10):
'''
获取历史净值数据
Parameters
------
code:string
基金代码 e.g. 000001
start:string
开始日期 format:YYYY-MM-DD 为空时取当前日期
end:string
结束日期 format:YYYY-MM-DD 为空时取去年今日
retry_count : int, 默认 3
如遇网络等问题重复执行的次数
pause : int, 默认 0
重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
timeout: int 默认 10s
请求大量数据时的网络超时
return
-------
DataFrame
date 发布日期 (index)
value 基金净值(股票/混合/QDII型基金) / 年华收益(货币/债券基金)
total 累计净值(股票/混合/QDII型基金) / 万分收益(货币/债券基金)
change 净值增长率(股票/混合/QDII型基金)
'''
start = du.today_last_year() if start is None else start
end = du.today() if end is None else end
# 判断基金类型
ismonetary = False # 是否是债券型和货币型基金
df_fund = get_fund_info(code)
fund_type = df_fund.ix[0]['Type2Name']
if (fund_type.find(u'债券型') != -1) or (fund_type.find(u'货币型') != -1):
ismonetary = True
ct._write_head()
nums = _get_nav_histroy_num(code, start, end, ismonetary)
data = _parse_nav_history_data(
code, start, end, nums, ismonetary, retry_count, pause, timeout)
return data
示例3: get_h_data
def get_h_data(code, start=None, end=None, autype='qfq',
index=False, retry_count=3, pause=0.001):
'''
获取历史复权数据
Parameters
------
code:string
股票代码 e.g. 600848
start:string
开始日期 format:YYYY-MM-DD 为空时取当前日期
end:string
结束日期 format:YYYY-MM-DD 为空时取去年今日
autype:string
复权类型,qfq-前复权 hfq-后复权 None-不复权,默认为qfq
retry_count : int, 默认 3
如遇网络等问题重复执行的次数
pause : int, 默认 0
重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
return
-------
DataFrame
date 交易日期 (index)
open 开盘价
high 最高价
close 收盘价
low 最低价
volume 成交量
amount 成交金额
'''
start = du.today_last_year() if start is None else start
end = du.today() if end is None else end
qs = du.get_quarts(start, end)
qt = qs[0]
ct._write_head()
data = _parse_fq_data(_get_index_url(index, code, qt), index,
retry_count, pause)
if len(qs)>1:
for d in range(1, len(qs)):
qt = qs[d]
ct._write_console()
df = _parse_fq_data(_get_index_url(index, code, qt), index,
retry_count, pause)
data = data.append(df, ignore_index=True)
if len(data) == 0 or len(data[(data.date>=start)&(data.date<=end)]) == 0:
return None
data = data.drop_duplicates('date')
if index:
data = data[(data.date>=start) & (data.date<=end)]
data = data.set_index('date')
data = data.sort_index(ascending=False)
return data
if autype == 'hfq':
data = data.drop('factor', axis=1)
data = data[(data.date>=start) & (data.date<=end)]
for label in ['open', 'high', 'close', 'low']:
data[label] = data[label].map(ct.FORMAT)
data[label] = data[label].astype(float)
data = data.set_index('date')
data = data.sort_index(ascending = False)
return data
else:
if autype == 'qfq':
data = data.drop('factor', axis=1)
df = _parase_fq_factor(code, start, end)
df = df.drop_duplicates('date')
df = df.sort('date', ascending=False)
frow = df.head(1)
rt = get_realtime_quotes(code)
if rt is None:
return None
if ((float(rt['high']) == 0) & (float(rt['low']) == 0)):
preClose = float(rt['pre_close'])
else:
if du.is_holiday(du.today()):
preClose = float(rt['price'])
else:
if (du.get_hour() > 9) & (du.get_hour() < 18):
preClose = float(rt['pre_close'])
else:
preClose = float(rt['price'])
rate = float(frow['factor']) / preClose
data = data[(data.date >= start) & (data.date <= end)]
for label in ['open', 'high', 'low', 'close']:
data[label] = data[label] / rate
data[label] = data[label].map(ct.FORMAT)
data[label] = data[label].astype(float)
data = data.set_index('date')
data = data.sort_index(ascending = False)
return data
else:
for label in ['open', 'high', 'close', 'low']:
data[label] = data[label] / data['factor']
data = data.drop('factor', axis=1)
data = data[(data.date>=start) & (data.date<=end)]
for label in ['open', 'high', 'close', 'low']:
data[label] = data[label].map(ct.FORMAT)
data = data.set_index('date')
data = data.sort_index(ascending=False)
#.........这里部分代码省略.........
示例4: get_h_data
def get_h_data(code, start=None, end=None, autype='qfq',
retry_count=3, pause=0.001):
'''
获取历史复权数据
Parameters
------
code:string
股票代码 e.g. 600848
start:string
开始日期 format:YYYY-MM-DD 为空时取当前日期
end:string
结束日期 format:YYYY-MM-DD 为空时取去年今日
autype:string
复权类型,qfq-前复权 hfq-后复权 None-不复权,默认为qfq
retry_count : int, 默认 3
如遇网络等问题重复执行的次数
pause : int, 默认 0
重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
return
-------
DataFrame
date 交易日期 (index)
open 开盘价
high 最高价
close 收盘价
low 最低价
volumn 成交量
amount 成交金额
'''
start = du.today_last_year() if start is None else start
end = du.today() if end is None else end
qs = du.get_quarts(start, end)
qt = qs[0]
print ct.FQ_PRINTING%(qt[0], qt[1])
data = _parse_fq_data(ct.HIST_FQ_URL%(ct.P_TYPE['http'], ct.DOMAINS['vsf'],
code, qt[0], qt[1]), retry_count, pause)
if len(qs)>1:
for d in range(1, len(qs)):
qt = qs[d]
print ct.FQ_PRINTING%(qt[0], qt[1])
url = ct.HIST_FQ_URL%(ct.P_TYPE['http'], ct.DOMAINS['vsf'],
code, qt[0], qt[1])
df = _parse_fq_data(url, retry_count, pause)
data = data.append(df, ignore_index=True)
data = data.drop_duplicates('date')
if start is not None:
data = data[data.date>=start]
if end is not None:
data = data[data.date<=end]
if autype == 'hfq':
data = data.drop('factor', axis=1)
for label in ['open', 'high', 'close', 'low']:
data[label] = data[label].map(ct.FORMAT)
data = data.set_index('date')
data = data.sort_index(ascending=False)
return data
else:
for label in ['open', 'high', 'close', 'low']:
data[label] = data[label] / data['factor']
data = data.drop('factor', axis=1)
if autype == 'qfq':
df = _parase_fq_factor(code, start, end)
df = df.drop_duplicates('date')
df = df[df.date>=start]
df = df[df.date<=end]
df = pd.merge(data, df)
df = df.sort('date', ascending=False)
frow = df.head(1)
rate = float(frow['close']) / float(frow['factor'])
df['close_temp'] = df['close']
df['close'] = rate * df['factor']
for label in ['open', 'high', 'low']:
df[label] = df[label] * (df['close'] / df['close_temp'])
df[label] = df[label].map(ct.FORMAT)
df = df.drop(['factor', 'close_temp'], axis=1)
df['close'] = df['close'].map(ct.FORMAT)
df = df.set_index('date')
df = df.sort_index(ascending=False)
return df
else:
for label in ['open', 'high', 'close', 'low']:
data[label] = data[label].map(ct.FORMAT)
data = data.set_index('date')
data = data.sort_index(ascending=False)
return data
示例5: get_h_data
def get_h_data(code, start=None, end=None, autype="qfq", index=False, retry_count=3, pause=0.001, drop_factor=True):
"""
获取历史复权数据
Parameters
------
code:string
股票代码 e.g. 600848
start:string
开始日期 format:YYYY-MM-DD 为空时取当前日期
end:string
结束日期 format:YYYY-MM-DD 为空时取去年今日
autype:string
复权类型,qfq-前复权 hfq-后复权 None-不复权,默认为qfq
retry_count : int, 默认 3
如遇网络等问题重复执行的次数
pause : int, 默认 0
重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
drop_factor : bool, 默认 True
是否移除复权因子,在分析过程中可能复权因子意义不大,但是如需要先储存到数据库之后再分析的话,有该项目会更加灵活
return
-------
DataFrame
date 交易日期 (index)
open 开盘价
high 最高价
close 收盘价
low 最低价
volume 成交量
amount 成交金额
"""
start = du.today_last_year() if start is None else start
end = du.today() if end is None else end
qs = du.get_quarts(start, end)
qt = qs[0]
ct._write_head()
data = _parse_fq_data(_get_index_url(index, code, qt), index, retry_count, pause)
if len(qs) > 1:
for d in range(1, len(qs)):
qt = qs[d]
ct._write_console()
df = _parse_fq_data(_get_index_url(index, code, qt), index, retry_count, pause)
data = data.append(df, ignore_index=True)
if len(data) == 0 or len(data[(data.date >= start) & (data.date <= end)]) == 0:
return None
data = data.drop_duplicates("date")
if index:
data = data[(data.date >= start) & (data.date <= end)]
data = data.set_index("date")
data = data.sort_index(ascending=False)
return data
if autype == "hfq":
if drop_factor:
data = data.drop("factor", axis=1)
data = data[(data.date >= start) & (data.date <= end)]
for label in ["open", "high", "close", "low"]:
data[label] = data[label].map(ct.FORMAT)
data[label] = data[label].astype(float)
data = data.set_index("date")
data = data.sort_index(ascending=False)
return data
else:
if autype == "qfq":
if drop_factor:
data = data.drop("factor", axis=1)
df = _parase_fq_factor(code, start, end)
df = df.drop_duplicates("date")
df = df.sort("date", ascending=False)
frow = df.head(1)
rt = get_realtime_quotes(code)
if rt is None:
return None
if (float(rt["high"]) == 0) & (float(rt["low"]) == 0):
preClose = float(rt["pre_close"])
else:
if du.is_holiday(du.today()):
preClose = float(rt["price"])
else:
if (du.get_hour() > 9) & (du.get_hour() < 18):
preClose = float(rt["pre_close"])
else:
preClose = float(rt["price"])
rate = float(frow["factor"]) / preClose
data = data[(data.date >= start) & (data.date <= end)]
for label in ["open", "high", "low", "close"]:
data[label] = data[label] / rate
data[label] = data[label].map(ct.FORMAT)
data[label] = data[label].astype(float)
data = data.set_index("date")
data = data.sort_index(ascending=False)
return data
else:
for label in ["open", "high", "close", "low"]:
data[label] = data[label] / data["factor"]
if drop_factor:
data = data.drop("factor", axis=1)
data = data[(data.date >= start) & (data.date <= end)]
for label in ["open", "high", "close", "low"]:
data[label] = data[label].map(ct.FORMAT)
#.........这里部分代码省略.........