Python量化策略入门1-如何利用聚宽(JoinQuant)下载金融数据

@[TOC]量化策略入门1-如何利用聚宽(JoinQuant)下载金融数据

前言

量化策略入门系列文章是本人学习股票量化笔记,最终输出结果希望是一个可在本地运行的回测框架,包含数据获取,数据处理,策略回测等。

本文主要为了介绍如何利用聚宽(JoinQuant)的数据接口下载金融数据。主要针对量价数据(开盘价,收盘价,最高价,最低价,成交量等)。

使用宽聚(JoinQuant)的体验

宽聚(JoinQuant)提供了数据接口,可以方便的下载股票数据。使用下来唯一缺点是每日可下载数据量有限,每天最多可下载100万条(可通过申请多个账号解决)。不过,总体来看确实很方便,也没有找到更合适的数据源,暂且先用这个平台。

如何下载数据

具体流程如下

注册宽聚账号
申请数据权限
调用API下载数据

注册宽聚账号

不多赘述

申请数据权限

在主页即有相应入口

在这里插入图片描述
在这里插入图片描述

调用API下载数据

通过get_price()方法可实现获取行情数据,具体文档如下亦可在链接中查看

get_price(security, start_date=None, end_date=None, frequency='daily', fields=None, skip_paused=False, fq='pre', count=None, panel=True, fill_paused=True)

需要的数据是全部股票从2010年1月1号到最新交易日股票的开盘价,收盘价,最高价,最低价,成交量等,其实现思路是写一个for循环历遍所有日期,并用以上代码查询当时股票数据。当然,有些日期非交易日,这种情况返回的数据很小(40-50KB),可以在文件夹里很容易识别出并删除。具体代码如下。

from jqdatasdk import *
import pandas as pd
from datetime import datetime, timedeltaauth('宽聚账号','宽聚密码') all_sec = list(get_all_securities(types=['stock']).index)
print(all_sec)def load_price(all_sec, start, end=):print(start)df = pd.DataFrame(get_price(all_sec, start_date=start, end_date=end, fields=['open', 'close', 'high', 'low', 'factor', 'volume', 'money']).values)df.columns = ['date', 'code', 'open', 'close', 'high', 'low', 'factor', 'volume', 'money']df.index = df.iloc[:, 1].valuesdel df['code']df.to_csv('.....')all_date = []start = '2010-01-01'
end = '2020-08-21'datestart = datetime.strptime(start, '%Y-%m-%d')
dateend = datetime.strptime(end, '%Y-%m-%d')while datestart < dateend:datestart += timedelta(days=1)all_date.append(datestart.strftime('%Y-%m-%d'))
print(all_date)for day in all_date:load_price(all_sec, start=day, end=day)

下载完数据如下。

在相应文件夹里为:
在这里插入图片描述
每个csv文件里为:
在这里插入图片描述

数据处理

以上我们已经获得了量化分析所需的基础数据,以每天一个csv形式存储,但是这样的存储方式并不利于数据调取。我们希望得到的数据形式是一个csv中包含所有股票在2010年1月1日到最近一个交易日的某项数据,如收盘价,如下图所示为历史收盘价信息。
在这里插入图片描述
我们可以通过调取之前每日行情信息的csv,之后合并相关数据得到,具体代码如下。

import pandas as pd
import osroot = '每日行情csv所在文件夹地址'def combine_data(root, keyword=None):df_data = []flag=0for dirpath, dirnames, filenames in os.walk(root):for filepath in filenames:address = os.path.join(dirpath, filepath)#过滤部分命名错误的文件if address[-21:-19] != '._':if flag==0:df = pd.read_csv(address, index_col=[0])df_data = pd.DataFrame(columns=list(df.index))date = df['date'][1]df_data.loc[date] = df[keyword]else:df = pd.read_csv(address, index_col=[0])date = df['date'][1]df_data.loc[date] = df[keyword]flag=1df_data.sort_index(ascending = True, inplace = True)df_data.to_csv('全部历史行情csv所在文件夹地址')print(df_data)for word in ['open', 'close', 'high', 'low', 'factor', 'volume','money']:combine_data(root, keyword=word)

总结

以上就完成了基本每日行情数据的获取,通过计算对收盘价历史信息表等进行计算,可以很容易得到为收益表,为之后回测打下基础。计划会陆续介绍基于本文数据做策略回测,下载整理基本面数据,行业中性化等。

谢谢观看,欢迎指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43546.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金 融 量 化 分 析 • 外 篇 • 绘 制 行 情 数 据 数 据 图

文章目录 前言一、k 线 图 是 什 么 &#xff1f;二、K 线 图 结 构&#xff08;1&#xff09; 影 线 和 实 体&#xff08;2&#xff09; 十 字 线 四、 双 均 线 策 略&#xff08;一&#xff09;、金叉&#xff08;二&#xff09;、死叉&#xff08;三&#xff09;、均 线 策…

老板,摊牌了,不装了,pyechart高端实现我国GDP大数据图

pyechart实现我国GDP大屏展示图 from typing import Listimport pyecharts.options as opts from pyecharts.globals import ThemeType from pyecharts.commons.utils import JsCode from pyecharts.charts import Timeline, Grid, Bar, Map, Pie, Linedata [{"time"…

将《2020中国统计年鉴》中的GDP数据换算成不变GDP数据

文章目录 前言一、数据来源二、计算步骤1.理解一下公式和不同的指数国内生产总值指数&#xff08;上一年100&#xff09;国内生产总值指数&#xff08;1978年100&#xff09;现价GDP: 即当年价GDP&#xff0c;也叫名义GDP&#xff0c;包含价格浮动因素&#xff0c;不可比不变价…

【qstock量化】数据篇之宏观指标和财经新闻文本

qstock简介 qstock由“Python金融量化”公众号开发&#xff0c;试图打造成个人量化投研分析开源库&#xff0c;目前包括数据获取&#xff08;data&#xff09;、可视化(plot)、选股(stock)和量化回测&#xff08;backtest&#xff09;四个模块。其中数据模块&#xff08;data&a…

使用Postman模拟发送get、post、delete、put请求

使用Postman模拟发送get、post、delete、put请求 现在的模拟发送请求插件很多&#xff0c;包括在idea上都自带了Test restful web service来模拟请求&#xff0c;但亲测postman更好用一些 今天来分享如何使用postman发送各种请求 1.下载 postman是谷歌的一款插件&#xff0…

使用hutool发送POST请求

之前使用Java程序发送请求都是使用的HttpURLConnection&#xff0c;不太方便&#xff0c;可以使用hutool封装好的方法。 引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.0.M4</…

10小时训练数据打造多语种语音识别新高度

本文联合撰写&#xff1a; 腾讯&#xff1a;吕志强&#xff0c;颜京豪&#xff0c;胡鹏飞&#xff0c;康健&#xff0c;阿敏巴雅尔 导语&#xff5c;在刚刚结束的NIST OPENASR评测中&#xff0c;TEG AI语音联合清华大学&#xff0c;刷新世界小语种语音识别比赛6项第一。从2000年…

Python开发智能语音机器人——小O同学

本篇代码存在部分错误 &#xff0c;现已经更新 &#xff08;https://blog.csdn.net/aqqwvfbukn/article/details/131277668&#xff09; 这次项目开发能按部就班顺利完成&#xff0c;主要是靠队友成功在软件的前期设计阶段&#xff0c;需求分析和用例设计起到了重要的作用。当…

微信小程序实现图林机器人聊天和百度AI语音识别的简单人工客服

用微信小程序实现简单的人工客服 最近在做软件工程的课程设计&#xff0c;选择性的做了微信小程序的简单的人工客服。在这里对该课程设计的原理和实现进行一个讲解&#xff0c;也算做一个总结和笔记&#xff0c;方便自己以后查看、复习和帮助大家的学习。 工具&#xff1a;微信…

Python实现语音识别(基于百度语音识别)

我是一名2016级电子信息工程的学生&#xff0c;这是第一次发博客&#xff0c;因为经常在这里查资料 &#xff0c;自己也应该贡献一点经验吧&#xff0c;也可以当是记录自己学习的过程吧。 最近在自学python&#xff0c;然后18年9月份正好python加入计算机二级&#xff0c;再然…

玩转百度语音识别,就是这么简单

http://www.cnblogs.com/bigdataZJ/p/SpeechRecognition.html 明后两天就是公司一年一度的Fedex Day了。我的理解就是技术界的头脑风暴&#xff0c;idea喷如泉涌的盛大节日。 对于这次活动每个人或者两三个人一组需要有个idea&#xff0c;针对当前的产品现状&#xff0c;提出自…

语音-小度自定义技能

文章目录 前言一、学习简介二、代码快速开发三、官网配置3.1 百度云CFC配置3.2 小度官网配置 四、测试4.1连接技能4.2 意图测试4.3 断开技能 前言 主要是为了记录下学习小度自定义技能的过程 一、学习简介 参考官网解释 自定义技能简介 二、代码快速开发 快速开发java 我…

人人都是绘画大师!微软必应接入DALL·E模型,文字生成图像!

机器之心编辑部 微软必应完善文字生成图像能力&#xff0c;Adobe 今日也发布 Firefly&#xff0c;杀入生成式 AI 这场游戏。 今晚实在是有些热闹。 一边英伟达 GTC 正在进行中&#xff0c;一边谷歌正式开放了 Bard 的测试&#xff0c;这里微软必应也不甘寂寞。 今日&#xff0c…

对比编程语言的四种错误处理方法,哪种才是最优方案?

△点击上方“Python猫”关注 &#xff0c;回复“1”领取电子书 作者&#xff1a;Andrea Bergia 译者&#xff1a;豌豆花下猫Python猫 英文&#xff1a;Error handling patterns 转载请保留作者及译者信息&#xff01; 错误处理是编程的一个基本要素。除非你写的是“hello world…

巴比特 | 元宇宙每日必读:不再盲目迷信硬件掘金,大厂XR集体后撤,业内人士建议多条腿走路,生态和内容才有更广阔市场...

摘要&#xff1a;据极点商业报道&#xff0c;元宇宙凉热之间&#xff0c;大厂集体收缩XR业务。是舆论定调的风口已过&#xff0c;还是如业内人士所言&#xff0c;进入理智探索时代&#xff1f;为何短短半年时间内&#xff0c;大厂们态度就发生了截然不同的变化&#xff1f;“与…

学会这些思维模型,窥见查理·芒格的致胜秘笈(二)

目录 导语 模型五&#xff1a;SCQA模型 模型六&#xff1a;问题树模型 模型七&#xff1a;MECE原则 模型八&#xff1a;SWOT分析 模型九&#xff1a;波特五力模型 模型十&#xff1a;波斯顿矩阵 导语 读者朋友们好&#xff0c;在我上一篇文章介绍了几个最核心和底层的模…

产品读书《穷查理宝典:查理.芒格智慧箴言录》

要通过提升自己&#xff0c;来强化对世界的感知&#xff0c;内在的能力才能增长&#xff0c;和世界的大趋势才能互相匹配。这种匹配度提高了&#xff0c;无论你是用来投资、创业&#xff0c;还是做其他事情&#xff0c;都会无往而不利。 查理芒格在书中反复强调的4点内容有&a…

芒格最新演讲:中国的水有些聪明人已经蹚进去了,时候到了更多人会进场

图文来源&#xff1a;雪球 译者&#xff1a;RanRan 我们在说某个人有常识的时候&#xff0c;我们其实是说&#xff0c;他具备平常人没有的常识。人们都以为具备常识很简单&#xff0c;其实很难。 2月14日&#xff0c;95岁的芒格参加了Daily Journal 公司年会&#xff0c;发表了…

站在大模型新风口的云知声:十一年创业之路引领智能语音技术变革

AGI的目标是实现人类般的通用智能&#xff0c;这意味着AI可以像人类一样理解任意通用任务&#xff0c;并以人类的智力水平执行完成。基本上&#xff0c;除了自我意识的生成&#xff0c;AGI就是人类对人工智能的终极梦想了。在AGI曙光照进现实之际&#xff0c;云知声化身为那位站…

在MT4上使用KDJ指标

KDJ指标就是随机指标&#xff0c;由K线、D线和J线这三条曲线共同构成&#xff0c;通过分析图表&#xff0c;我们可以得出&#xff0c;K、D、J分别用不同的颜色线条来表示&#xff0c;所谓的K线是指快速确认线&#xff0c;D线就是指慢速主干线&#xff0c;而J线则为方向明暗线。…