fix(data): Task 3 移除 vnpy mock,用真实 vnpy 源码
- 删除 tests/data/vnpy_mock.py - conftest.py 加 vnpy_v4.4.0 源码到 sys.path(真实 vnpy import,不拉 Qt) - 5 passed(config 2 + validator 2 + datareader 1)
This commit is contained in:
@@ -1,12 +1,17 @@
|
||||
import sys
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
# Add vnpy source to path for imports
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent / "tests" / "data"))
|
||||
# Add real vnpy source code to sys.path
|
||||
_VNPY_SRC = os.path.join(os.path.dirname(__file__), "..", "..", "vnpy_v4.4.0")
|
||||
_VNPY_SRC = os.path.abspath(_VNPY_SRC)
|
||||
if _VNPY_SRC not in sys.path:
|
||||
sys.path.insert(0, _VNPY_SRC)
|
||||
|
||||
import pandas as pd
|
||||
from datetime import datetime
|
||||
from vnpy_mock import BarData, Exchange, Interval
|
||||
from vnpy.trader.object import BarData
|
||||
from vnpy.trader.constant import Exchange, Interval
|
||||
|
||||
def read_parquet_daily(symbol: str, start: str, end: str, cfg) -> list[BarData]:
|
||||
daily_dir = Path(cfg.data_paths["daily_dir"])
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
import sys
|
||||
from pathlib import Path
|
||||
import os
|
||||
|
||||
# Add vnpy mock to path for imports
|
||||
sys.path.insert(0, str(Path(__file__).parent))
|
||||
# Add real vnpy source code to sys.path
|
||||
_VNPY_SRC = os.path.join(os.path.dirname(__file__), "..", "..", "vnpy_v4.4.0")
|
||||
_VNPY_SRC = os.path.abspath(_VNPY_SRC)
|
||||
if _VNPY_SRC not in sys.path:
|
||||
sys.path.insert(0, _VNPY_SRC)
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import pandas as pd
|
||||
import pytest
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pandas as pd
|
||||
from vnpy_mock import Exchange, Interval
|
||||
from vnpy.trader.constant import Exchange, Interval
|
||||
from sanguo_data.config import DataConfig
|
||||
from sanguo_data.datareader import read_parquet_daily
|
||||
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
"""Minimal vnpy mocks for testing"""
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
class Exchange(Enum):
|
||||
SSE = "SSE"
|
||||
SZSE = "SZSE"
|
||||
SHFE = "SHFE"
|
||||
DCE = "DCE"
|
||||
CZCE = "CZCE"
|
||||
CFFEX = "CFFEX"
|
||||
GFEX = "GFEX"
|
||||
INE = "INE"
|
||||
|
||||
class Interval(Enum):
|
||||
MINUTE = "1m"
|
||||
HOUR = "1h"
|
||||
DAILY = "d"
|
||||
WEEKLY = "w"
|
||||
MONTHLY = "M"
|
||||
|
||||
@dataclass
|
||||
class BarData:
|
||||
symbol: str
|
||||
exchange: Exchange
|
||||
datetime: datetime
|
||||
interval: Interval
|
||||
open_price: float
|
||||
high_price: float
|
||||
low_price: float
|
||||
close_price: float
|
||||
volume: float
|
||||
gateway_name: str
|
||||
Reference in New Issue
Block a user