SKD初始化使用
jqdatasdk在使用之前需要进行账号密码的初始化,通过auth来进行权限校验。
# need to pip install jqdatasdk
from jqdatasdk import *
import pandas as pd
auth("username", "password")
data_root = '需要存储DATA的地址'
# set pandas max_rows and pandas max_columns
pd.set_option("display.max_rows", 10000)
pd.set_option("display.max_columns", 1000)
获取股票列表
通过封装get_all_stock_list方法来获取所有上市A股的股票列表信息。
def get_all_stock_list():
"""
获取所有A股股票列表
:return: stock_list
"""
stock_list = list(get_all_securities(["stock"]).index)
return stock_list
获取单个股票价格行情
使用get_security_info来获取股票价格行情价格,可以通过不同的参数进行获取不同的时间不同维度的股票的价格。
def get_single_price(code, time_freq, start_date, end_date):
"""
获取单个股票行情数据
:param code:
:param time_freq:
:param start_date:
:param end_date:
:return:
"""
# 如果start_date == None,默认为上市日期
if start_date is None:
start_date = get_security_info(code).start_date
data = get_price(code, start_date=start_date, end_date=end_date,
frequency=time_freq, panel=False)
return data
导出CSV数据
可以使用to_csv将dataframe数据转换成csv数据,存储在本地文件中。
def export_data(data, filename, type):
"""
导出股票行情数据
:param data:
:param filename:
:param data:
:return:
"""
file_root = data_root +type+"/"+filename+".csv"
data.index.names = ['date']
data.to_csv(file_root)
print("已成功存储至:", file_root)
获取CSV数据
根据文件名称和路径获取CSV的数据。
def get_csv_data(code, type):
file_root = data_root + type + "/" + code + ".csv"
return pd.read_csv(file_root)