![9718a90b77c0c6cb8daad6298609acaf.png](https://i-blog.csdnimg.cn/blog_migrate/88536a767df75ee5510f0cc0eeda07d8.jpeg)
量化数据接口
JQData-本地调用的量化金融数据接口
—— 本篇文章 by 木冬瓜007
如何将本地获取jqdata的数据保存为sql数据库文件呢?
简单粗暴直接上代码,使用的是python自带的sqlite3数据库,比较轻便!
import jqdatasdk as jq from sqlalchemy import create_engine #sqlalchemy是Python自带的与数据库联结的包,导入创建数据库联结的函数 import sqlite3 #导入python自带数据库sqlite3 import pandas as pd jq.auth('admin','passpords') ADDR = 'sqlite:///jqstockdata.db' # 使用sqlite,当前目录的jqstockdata.db作为数据库文件 engine = create_engine(ADDR) #创建jqstockdata.db文件 Stocks = list(jq.get_all_securities(['stock']).index) #获取所有股票代码 connect=sqlite3.connect('jqStockdata.db') #与数据库建立链接 def save(stocks): #构建函数 print("save code:",stocks) #打印数据保存成功的股票代码 try: df = jq.get_price(stocks, start_date='start_date', end_date='end_data',frequency='1d',skip_paused=True,fq='pre') #获取股票数据 name =stocks #以股票代码为数据库表名 df.to_sql(name, conn2, if_exists='append') #将数据写入数据库 except: print(code, " save failed") #打印保存失败的股票代码 for i in range(0, len(Stocks)): save(Stocks[i])
数据保存好之后我们如何获取数据呢?也很简单,请看下面代码
import sqlite3 import pandas as pd conn=sqlite3.connect('jqstockdata.db') df=pd.read_sql('select * from "{}"'.format('股票代码'),index_col = 'index',con= conn ) df.index= pd.to_datetime(df.index,format='%Y-%m-%d') #改变一下读取后的数据日期格式
具体效果我用研究模块直接展示一下克隆源码请移步原文:将在本地获取jqdata的数据保存为sql数据库,并读取数据的方法 - mrqinhuai - JoinQuant
![93ac0816a1494cd8b9371c09efa01ca7.png](https://i-blog.csdnimg.cn/blog_migrate/26b74fa4d8d48326eece6fde539b2cbc.jpeg)
![921f3445fb8194002171c1d3ef7cd922.png](https://i-blog.csdnimg.cn/blog_migrate/1094f1a80ba00c087f8bf389de2e6f77.jpeg)