爬取股票全ATick数据
概述
在金融市场分析中,Tick数据是非常重要的资源,它记录了股票在每一交易时间内的价格变动。对于量化交易者和分析师来说,获取并分析这些数据是至关重要的。本文将介绍如何使用Python爬取股票的Tick数据,并将其存储到本地。
环境准备
在开始之前,请确保你已经安装了Python环境以及以下库:
xtquant.xtdata
:用于获取股票行情数据。json
:用于处理JSON数据。multiprocessing
:用于并行处理。csv
:用于操作CSV文件。os
:用于操作系统级别的功能。
步骤1:导入必要的库
这里使用的是迅投qmt系统,本程序也是基于qmt发布的行情,变量SUBSCRIBE_LIST即为订阅的标的代码
from datetime import datetime, timezone, timedelta
import xtquant.xtdata as xd
import json
import multiprocessing as mp
from Account_and_Trader_information import SUBSCRIBE_LIST
import csv
import os
步骤2:设置基础变量
today = datetime.now().strftime('%Y%m%d')
data_latest = {
}
这里我们定义了today
变量来存储当前日期,data_latest
用于存储最新的股票数据。
步骤3:定义时间戳转换函数
def timestamp_to_datetime(timestamp):
dt_object = datetime.fromtimestamp(timestamp / 1000.0, tz=timezone(timedelta(hours=8)))
dt_string = dt_object.strftime('%Y-%m-%d %H:%M:%S')
return dt_string
这个函数将时间戳转换为可读的日期时间格式。
步骤4:定义保存数据为JSON的函数
def save_dict_as_json(data, filename):
with open(filename, 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
步骤5:定义存储股票信息到CSV的函数
def store_stock_info_csv(data):
for stock_id in data.keys():
stock_info = data[stock_id]
filename = f'./data/fiveab/{
today}/{
stock_id}.csv'
if not os.path.exists(filename):
标签:数据,filename,datetime,爬取,import,dt,ATick,data,stock
From: https://blog.csdn.net/weixin_39346529/article/details/142768285