Created
May 4, 2019 08:50
-
-
Save qzm/a67779459aa5643301a304cf48b0cf5f to your computer and use it in GitHub Desktop.
get all future data from rqdata
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from time import time | |
import rqdatac as rq | |
from vnpy.trader.object import BarData | |
from vnpy.trader.constant import Exchange, Interval | |
from vnpy.trader.database import database_manager | |
USERNAME = "" | |
PASSWORD = "" | |
FIELDS = ["open", "high", "low", "close", "volume"] | |
rq.init(USERNAME, PASSWORD, ("rqdatad-pro.ricequant.com", 16011)) | |
def generate_bar_from_row(row, symbol, exchange): | |
"""""" | |
bar = BarData( | |
symbol=symbol, | |
exchange=Exchange(exchange), | |
interval=Interval.MINUTE, | |
open_price=row["open"], | |
high_price=row["high"], | |
low_price=row["low"], | |
close_price=row["close"], | |
volume=row["volume"], | |
datetime=row.name.to_pydatetime(), | |
gateway_name="DB" | |
) | |
return bar | |
def download_minute_bar(vt_symbol): | |
"""下载某一合约的分钟线数据""" | |
print(f"开始下载合约数据{vt_symbol}") | |
symbol, exchange = vt_symbol.split(".") | |
start = time() | |
df = rq.get_price( | |
symbol, | |
frequency="1m", | |
fields=FIELDS, | |
start_date='20100416', | |
end_date='20190416' | |
) | |
bars = [] | |
for ix, row in df.iterrows(): | |
bar = generate_bar_from_row(row, symbol, exchange) | |
bars.append(bar) | |
database_manager.save_bar_data(bars) | |
end = time() | |
cost = (end - start) * 1000 | |
print( | |
"合约%s的分钟K线数据下载完成%s - %s,耗时%s毫秒" | |
% (symbol, df.index[0], df.index[-1], cost) | |
) | |
if __name__ == "__main__": | |
all_future_symbols = [ | |
'IF88.CFFEX', | |
'TF88.CFFEX', | |
'T88.CFFEX', | |
'IC88.CFFEX', | |
'IH88.CFFEX', | |
'P88.DCE', | |
'V88.DCE', | |
'JD88.DCE', | |
'L88.DCE', | |
'PP88.DCE', | |
'ZC88.CZCE', | |
'FB88.DCE', | |
'BB88.DCE', | |
'TA88.CZCE', | |
'I88.DCE', | |
'J88.DCE', | |
'JM88.DCE', | |
'PM88.CZCE', | |
'CF88.CZCE', | |
'WH88.CZCE', | |
'SR88.CZCE', | |
'RI88.CZCE', | |
'OI88.CZCE', | |
'MA88.CZCE', | |
'JR88.CZCE', | |
'RM88.CZCE', | |
'FG88.CZCE', | |
'LR88.CZCE', | |
'SM88.CZCE', | |
'SF88.CZCE', | |
'C88.DCE', | |
'A88.DCE', | |
'B88.DCE', | |
'M88.DCE', | |
'Y88.DCE', | |
'CS88.DCE', | |
'WS88.CZCE', | |
'WT88.CZCE', | |
'RO88.CZCE', | |
'ER88.CZCE', | |
'ME88.CZCE', | |
'S88.DCE', | |
'RS88.CZCE', | |
'TC88.CZCE', | |
'IF888.CFFEX', | |
'TF888.CFFEX', | |
'IC888.CFFEX', | |
'T888.CFFEX', | |
'IH888.CFFEX', | |
'P888.DCE', | |
'V888.DCE', | |
'JD888.DCE', | |
'L888.DCE', | |
'PP888.DCE', | |
'ZC888.CZCE', | |
'FB888.DCE', | |
'TA888.CZCE', | |
'BB888.DCE', | |
'I888.DCE', | |
'J888.DCE', | |
'JM888.DCE', | |
'PM888.CZCE', | |
'CF888.CZCE', | |
'WH888.CZCE', | |
'SR888.CZCE', | |
'RI888.CZCE', | |
'OI888.CZCE', | |
'MA888.CZCE', | |
'JR888.CZCE', | |
'RM888.CZCE', | |
'FG888.CZCE', | |
'LR888.CZCE', | |
'SF888.CZCE', | |
'SM888.CZCE', | |
'C888.DCE', | |
'A888.DCE', | |
'B888.DCE', | |
'M888.DCE', | |
'Y888.DCE', | |
'CS888.DCE', | |
'WS888.CZCE', | |
'WT888.CZCE', | |
'RO888.CZCE', | |
'ME888.CZCE', | |
'ER888.CZCE', | |
'S888.DCE', | |
'TC888.CZCE', | |
'RS888.CZCE', | |
'CY88.CZCE', | |
'CY888.CZCE', | |
'AP88.CZCE', | |
'AP888.CZCE', | |
'SC88.INE', | |
'SC888.INE', | |
'TS88.CFFEX', | |
'TS888.CFFEX', | |
'AL88.SHFE', | |
'FU88.SHFE', | |
'CU88.SHFE', | |
'ZN88.SHFE', | |
'PB88.SHFE', | |
'BU88.SHFE', | |
'SN88.SHFE', | |
'NI88.SHFE', | |
'RU88.SHFE', | |
'AU88.SHFE', | |
'AG88.SHFE', | |
'RB88.SHFE', | |
'HC88.SHFE', | |
'WR88.SHFE', | |
'AL888.SHFE', | |
'FU888.SHFE', | |
'ZN888.SHFE', | |
'CU888.SHFE', | |
'PB888.SHFE', | |
'BU888.SHFE', | |
'SN888.SHFE', | |
'NI888.SHFE', | |
'RU888.SHFE', | |
'AU888.SHFE', | |
'AG888.SHFE', | |
'HC888.SHFE', | |
'RB888.SHFE', | |
'WR888.SHFE', | |
'SP88.SHFE', | |
'SP888.SHFE', | |
'EG88.DCE', | |
'EG888.DCE', | |
'CJ88.CZCE', | |
'CJ888.CZCE', | |
] | |
for symbol in all_future_symbols: | |
download_minute_bar(symbol) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment