栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用Tushare平台提供的数据绘制日K线、周K线、月K线

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Tushare平台提供的数据绘制日K线、周K线、月K线

1. Tushare介绍

Tushare平台提供了丰富的数据,包含股票、基金、期货、债券、外汇、行业大数据,同时包括了数字货币行情等区块链数据的全数据品类的金融大数据平台,各种api接口的调用极为方便。此外我认为比较好的一点是该平台还提供了数据工具用来调试和查看api调用情况数据工具,只能说不能再方便了,在此奉上Tushare平台链接

2. 日K线、周K线、月K线绘制

使用Tushare获取数据极为方便,在调用各类api接口前,只需要完成token设置和接口初始化工作,具体代码如下:

# 设置token,该方法只需要在第一次或者token失效后调用,完成调取tushare数据凭证的设置,正常情况下不需要重复设置
ts.set_token('your token here')
# 初始化pro接口
pro = ts.pro_api()

要想绘制日K线、周K线、月K线,只需要将需要展示的股票的每日、每周、每月数据保存到数据库,再进行前端展示即可,前端展示这里就不细说了,这里只简单介绍如何借助Tshare获取到这些数据。

2.1 日K线 2.1.1 思路及代码

首先需要设置我们想展示哪段时期的股票的日K线图,本次实验中,我展示的是近最200天内的数据,代码如下:

# 最近200天内的开始与截止日期
now = datetime.datetime.now()
start_date = datetime2string(now - datetime.timedelta(days=200))
end_date = datetime2string(now - datetime.timedelta(days=1))
# 获取交易日历
df = pro.trade_cal(exchange='', start_date=start_date, end_date=end_date)
# 接着再筛选一下即可即可
d_date = df[df['is_open'] == 1]['cal_date'].values.tolist()

通过遍历这些日期,便可获取股票日线行情,并将其插入到数据库,大致代码如下:
for date in d_date:
…
daily = pro.daily(ts_code=‘’, trade_date=date) # 日线行情
…

2.1.2 结果展示

2.2 周K线 2.2.1 思路及代码

该段日期有多少周,可借助python的isocalendar函数获取:

st = set()
for date in to_update_date:
    y, wi, _ = datetime.datetime.strptime(date, '%Y%m%d').isocalendar()
    st.add((y, wi))

这里要注意python的isocalendar方法会把年末的最后几天算到下一年的第一周,因此需要做些简单的处理,在此就不多说了。

周K线则在日线数据的基础上,大致思路如下:
1.计算该周对应的具体起止日期start_date和end_date
2.查询日线行情数据,得到该支股票对应该周内行情数据
3.统计分析即可

2.2.2 结果展示

2.3 月K线 2.3.1 思路及代码

该段日期的月份,可借助d_date获取,即截取d_date,再加入到set中去重即可:

st = set()
for date in d_date :
    st.add((int(date[:4]), int(date[4:6])))

月K线同样是在日线数据的基础上,大致思路如下:
1.计算该月对应的具体起止日期start_date和end_date
2.查询日线行情数据,得到该支股票对应该月内行情数据
3.统计分析即可

2.3.2 结果展示

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015100.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号