fix(datasource): 修正混合数据源导入路径错误
- 修正 strategies.rotation.engine 中 hybrid_source 模块导入路径错误 - 新增 core.datasource 目录下多个数据源实现模块 - 增加 Akshare 数据源支持 A股指数数据拉取 - 实现数据缓存管理机制,支持本地数据缓存读写 - 新增 YFinance 数据源,支持通过 SSH 隧道访问美股和港股数据 - 实现混合数据源支持 A股/Tushare、港美股/YFinance、加密货币/CCXT 的统一访问 - 集成 SSH 隧道管理,支持 SOCKS5 转 HTTP 代理转发 - 新增 socks2http.py 代理转发工具,解决 CCXT 仅支持 HTTP 代理问题 - 修改 rotation.yaml 加密货币注释,明确使用 OKX 现货和 SSH->HTTP 代理访问 - 删除.gitignore中无用的 data/ 忽略规则,保留 test/ 文件夹忽略规则
This commit is contained in:
53
core/datasource/base.py
Normal file
53
core/datasource/base.py
Normal file
@@ -0,0 +1,53 @@
|
||||
"""
|
||||
数据源抽象基类
|
||||
"""
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import Optional
|
||||
import pandas as pd
|
||||
|
||||
|
||||
class DataSource(ABC):
|
||||
"""数据源抽象基类"""
|
||||
|
||||
@abstractmethod
|
||||
def fetch_ohlcv(
|
||||
self,
|
||||
code: str,
|
||||
start_date: str,
|
||||
end_date: str,
|
||||
fields: Optional[list] = None,
|
||||
) -> pd.DataFrame:
|
||||
"""
|
||||
获取OHLCV数据
|
||||
|
||||
Args:
|
||||
code: 标的代码
|
||||
start_date: 开始日期 (YYYY-MM-DD)
|
||||
end_date: 结束日期 (YYYY-MM-DD)
|
||||
fields: 指定字段列表,None表示获取全部
|
||||
|
||||
Returns:
|
||||
DataFrame with columns: date, open, high, low, close, volume
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def fetch_multiple(
|
||||
self,
|
||||
codes: list,
|
||||
start_date: str,
|
||||
end_date: str,
|
||||
) -> pd.DataFrame:
|
||||
"""
|
||||
批量获取多只标的收盘价数据
|
||||
|
||||
Args:
|
||||
codes: 标的代码列表
|
||||
start_date: 开始日期
|
||||
end_date: 结束日期
|
||||
|
||||
Returns:
|
||||
DataFrame, index=日期, columns=代码, values=收盘价
|
||||
"""
|
||||
pass
|
||||
Reference in New Issue
Block a user