用AkShare获取沪深京A股分钟级K线数据

前面已经讲解了如何通过AkShare获取实时K线数据和沪深京A股历史数据。但是在现实做策略回测的过程,经常会用到分钟级数据计算买卖点。下面我们讲讲如何用AkShare获取沪深京A股分钟级K线数据。

一、用东财接口获取实时行情数据

描述:东方财富网-沪深京 A 股-实时行情数据;

接口:stock_zh_a_spot_em;

目标地址:

行情中心:国内快捷全面的股票、基金、期货、美股、港股、外汇、黄金、债券行情系统_东方财富网

限量:单次返回所有沪深京 A 股上市公司的实时行情数据;

输出参数:

二、通过新浪财经接口获取分时数据

描述:新浪财经-沪深京 A 股股票或者指数的分时数据,目前可以获取 1, 5, 15, 30, 60 分钟的数据频率, 可以指定是否复权。

目标地址:

贵州茅台(600519)股票股价,行情,新闻,财报数据_新浪财经_新浪网

接口:stock_zh_a_minute

限量:单次返回指定股票或指数的指定频率的最近交易日的历史分时行情数据,单次最多可返回20000条数据。

输入参数:

名称

类型

描述

symbol

str

symbol='sh000300'; 同日频率数据接口

period

str

period='1'; 获取 1, 5, 15, 30, 60 分钟的数据频率

adjust

str

adjust=""; 默认为空: 返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据;

输出参数:

三、获取沪深京A股分钟级历史股票数据

1)代码示例

import os
import time
import pandas as pd
import akshare as ak
import warnings
from datetime import timedelta, datetime
warnings
.filterwarnings("ignore")
pd.set_option('max_rows', None)
pd.set_option('max_columns', None)
pd.set_option('expand_frame_repr', False)
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
# 输入参数
adj="hfq" # 复权类型:None未复权 qfq前复权 hfq后复权
period = "1" # 周期可选:1, 5, 15, 30, 60 分钟的数据频率。
# 利用东财实时行情数据接口获取所有股票代码接口

df=ak.stock_zh_a_spot_em()
code_list=df[['序号','代码','名称']].values
# 创建文件存储路径
def create_path():
    global
path
    path
= os.path.join(".","all_stock_candle","stock")
   
# 保存数据
   
if not os.path.exists(path) :
       
# os.mkdir(path)  # 可以建一级文件夹
       
os.makedirs(path# 可以建多级文件夹
   
file_name = ak_code + ".csv"
   
return os.path.join(path,file_name)
# 获取近5天股票的1分钟数据


    try:
       
# 利用新浪财经接口获取20000条分钟级股票数据
       
df= ak.stock_zh_a_minute(symbol=ak_code, period=period, adjust=adj)
   
except Exception as e:
       
print(e)
       
continue
   
df['股票代码'] = ak_code
    df
['股票名称'] = ak_name
    df
.rename(columns={'day': '交易日期''open': '开盘价', 'high': '最高价',
                      
'low': '最低价', 'close': '收盘价','volume':'成交量'}, inplace=True)
   
df = df[['交易日期', '股票代码', '股票名称', '开盘价', '最高价', '最低价', '收盘价', '成交量']]
   
df.sort_values(by=['交易日期'],ascending=True,inplace=True)
   
df.reset_index(drop=True, inplace=True)
   
path=create_path()
   
df.to_csv(path, index=False, mode='w',encoding='gbk')
   
time.sleep(2)
 

 

2)输出示例

3)文件存储示例:

4)文档示例

  • 9
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值