获取 AKshare 的数据,为 VectorBt、Pybroker等框架提供数据

1、AKShare 日线数据地址:https://akshare.akfamily.xyz/data_tips.html#stock-zh-a-hist

            历史行情数据-东财    https://akshare.akfamily.xyz/data/stock/stock.html#id22    =》 接口: stock_zh_a_hist  

            历史行情数据-新浪   接口: stock_zh_a_daily  ,  历史行情数据-腾讯  接口: stock_zh_a_hist_tx,

           分时数据-新浪  接口: stock_zh_a_minute, 分时数据-东财  接口: stock_zh_a_hist_min_em

import akshare as ak
stock_df = ak.stock_zh_a_hist(
    symbol="600734",
    period="daily",
    start_date="20050501",
    end_date="20050520",
    adjust="hfq"
)

2、Pybroker 如何获取?
参考官方: AKShare 策略示例 https://akshare.akfamily.xyz/demo.html

3、VectorBt 如何获取?
网上的一个示例:VectorBT项目如何扩展中国A股市场数据源接入 - GitCode博客 提供的代码如下:

class AKShareData (Data):   

def __init__(self, symbol, start_date, end_date, interval='1d'):

self.symbol = self._normalize_symbol(symbol)
self.start_date = pd.to_datetime(start_date)
self.end_date = pd.to_datetime(end_date)
self.interval = interval
self._data = None

def _normalize_symbol (self, symbol):

# 实现A股代码标准化逻辑
pass

def _fetch_data (self):

# 调用AKShare接口获取原始数据
raw_data = ak.stock_zh_a_daily (         ## 新浪 接口,官方推荐:东财接口: stock_zh_a_hist

                        symbol=self.symbol,
                        start_date=self.start_date.strftime('%Y%m%d'),
                        end_date=self.end_date.strftime('%Y%m%d')             )


# 数据清洗与标准化
processed = raw_data.rename ( columns= {
'date': 'datetime',
'open': 'Open',
'high': 'High',
'low': 'Low',
'close': 'Close',
'volume': 'Volume'
}).set_index('datetime')

return processed



posted @ 2025-07-13 21:40  Hopesun  阅读(330)  评论(0)    收藏  举报