def download_tick_data( self, symbol: str, exchange: Exchange, start: datetime ) -> int: """ Query tick data from RQData. """ req = HistoryRequest( symbol=symbol, exchange=exchange, start=start, end=datetime.now() ) if not rqdata_client.inited: rqdata_client.init() data = rqdata_client.query_history(req) if data: database_manager.save_tick_data(data) return(len(data)) return 0
def download_bar_data(self, symbol: str, exchange: Exchange, interval: str, start: datetime) -> int: """ Query bar data from RQData. """ req = HistoryRequest(symbol=symbol, exchange=exchange, interval=Interval(interval), start=start, end=datetime.now()) vt_symbol = f"{symbol}.{exchange.value}" contract = self.main_engine.get_contract(vt_symbol) # If history data provided in gateway, then query if contract and contract.history_data: data = self.main_engine.query_history(req, contract.gateway_name) # Otherwise use RQData to query data else: if not rqdata_client.inited: rqdata_client.init() data = rqdata_client.query_history(req) if data: database_manager.save_bar_data(data) return (len(data)) return 0
def rq_download( self, vt_symbol: str, interval: str, start: datetime, end: datetime, ): rqdata_client.init() symbol, exchange = extract_vt_symbol(vt_symbol) req = HistoryRequest(symbol=symbol, exchange=exchange, interval=Interval(interval), start=start, end=end) # print(req) data = rqdata_client.query_history(req) if data: database_manager.save_bar_data(data) print(f"{vt_symbol}-{interval} 历史数据下载完成") else: print(f"数据下载失败,无法得到 {vt_symbol} 的数据")
def init(self): """ Start script engine. """ result = rqdata_client.init() if result: self.write_log("RQData数据接口初始化成功")
def init_rqdata(self): """ Init RQData client. """ result = rqdata_client.init() if result: self.write_log("RQData数据接口初始化成功")
def init_rqdata(self): """ Init RQData client. """ result = rqdata_client.init() if result: self.write_log("RQData successful initialization data interface")
def init(self): """ Start script engine. """ result = rqdata_client.init() if result: self.write_log("RQData successful initialization data interface ")
def init_rqdata(self): """ Init RQData client. """ username = SETTINGS["rqdata.username"] if username: result = rqdata_client.init() if result: self.write_log("RQData数据接口初始化成功")
def query_bar_from_rq( symbol: str, exchange: Exchange, interval: Interval, start: datetime, end: datetime ): """ Query bar data from RQData. """ if not rqdata_client.inited: rqdata_client.init() req = HistoryRequest( symbol=symbol, exchange=exchange, interval=interval, start=start, end=end ) data = rqdata_client.query_history(req) return data
def __init__(self, main_engine: MainEngine, event_engine: EventEngine): """""" super().__init__(main_engine, event_engine, APP_NAME) rqdata_client.init()
from vnpy.trader.setting import SETTINGS # 设置配置参数 interval = Interval.MINUTE symbol = "IF2005" exchange = Exchange.CFFEX # 查询数据库中的最新数据 bar = database_manager.get_newest_bar_data(symbol, exchange, interval) if bar: start = bar.datetime else: start = datetime(2017, 1, 1) # 初始化米筐 n = rqdata_client.init(SETTINGS["rqdata.username"], SETTINGS["rqdata.password"]) if n: print("RQData登录成功") else: print("RQData登录失败") # 从米筐下载数据 req = HistoryRequest(symbol, exchange, start, datetime.now(), interval=interval) data = rqdata_client.query_history(req) # 写入数据库 if data:
from vnpy.trader.constant import Interval, Exchange from vnpy.trader.database import BarOverview, DB_TZ from vnpy.trader.database import database_manager from vnpy.trader.engine import BaseEngine, MainEngine, EventEngine from vnpy.trader.object import BarData, HistoryRequest from vnpy.trader.rqdata import rqdata_client from vnpy.trader.iexdata import iexdata_client from vnpy.trader.tiingodata import tiingo_client from vnpy.trader.setting import SETTINGS import sys from vnpy.trader.rqdata import rqdata_client username = SETTINGS['rqdata.username'] password = SETTINGS['rqdata.password'] rqdata_client.init(username, password) req = HistoryRequest(symbol='TSLA', exchange=Exchange.NASDAQ, start=DB_TZ.localize( datetime.strptime('2020-01-01', '%Y-%m-%d')), interval=Interval.DAILY, end=datetime.now(DB_TZ)) data = rqdata_client.query_history(req) print(data) # # start = datetime(2016, 1, 1) # end = datetime(2019, 7, 30) # # single_stock_history = client.getHistoricalPrices(['AAPL']) # single_company_history = client.getCompanyInfo(['AAPL'])
import datetime as dt from vnpy.trader.rqdata import rqdata_client from vnpy.trader.database import database_manager from vnpy.trader.constant import Exchange, Interval from vnpy.trader.object import HistoryRequest rqdata_client.init() # symbols = { # "SHFE": ["CU", "AL", "ZN", "PB", "NI", "SN", "AU", "AG", "RB", "WR", "HC", "SS", "BU", "RU", "NR", "SP", "SC", "LU", "FU"], # "DCE": ["C", "CS", "A", "B", "M", "Y", "P", "FB","BB", "JD", "RR", "L", "V", "PP", "J", "JM", "I", "EG", "EB", "PG"], # "CZCE": ["SR", "CF", "CY", "PM","WH", "RI", "LR", "AP","JR","OI", "RS", "RM", "TA", "MA", "FG", "SF", "ZC", "SM", "UR", "SA", "CL"], # "CFFEX": ["IH","IC","IF", "TF","T", "TS"] # } symbols = {"CFFEX": ["IH", "IC", "IF"]} start_date = dt.datetime(2020, 1, 1) end_date = dt.datetime(2020, 9, 10) symbol_type = "88" def load_data(req): data = rqdata_client.query_history(req) database_manager.save_bar_data(data) print(f"{req.symbol}历史数据下载完成") for exchange, symbols_list in symbols.items(): for s in symbols_list: req = HistoryRequest(