Beispiel #1
0
def get_quote(begin_time=None, Symbol=None):
    client_config = get_client_config()
    quote_client = QuoteClient(client_config)
    #timeArray = time.strptime("2000-01-01 00:00:00","%Y-%m-%d %H:%M:%S")
    #begin_time=int(time.mktime(timeArray))*10**3
    return quote_client.get_bars('600570',
                                 period=BarPeriod.ONE_MINUTE,
                                 begin_time=begintimestamp)
Beispiel #2
0
def get_quote_client():
    """
    获取 QuoteClient
    :return: QuoteClient
    """
    config = get_client_config()
    quote_client = QuoteClient(config)

    return quote_client
    def __init__(self):
        self.client_config = get_client_config()
        self.trade_client = TradeClient(self.client_config)
        self.openapi_client = QuoteClient(self.client_config, logger=logger)
        # 初始化 pushclient

        protocol, host, port = self.client_config.socket_host_port
        self.push_client = PushClient(host, port, use_ssl=(protocol == 'ssl'))
        self.push_client.connect(self.client_config.tiger_id, self.client_config.private_key)
Beispiel #4
0
def get_quote():
    client_config = get_client_config()
    quote_client = QuoteClient(client_config)
    quote_client.get_market_status(Market.US)
    quote_client.get_briefs(symbols=['AAPL', '00700', '600519'],
                            include_ask_bid=True,
                            right=QuoteRight.BR)
    #quote_client.get_timeline('AAPL', period=TimelinePeriod.DAY, include_hour_trading=True)
    return quote_client.get_bars('AAPL')
Beispiel #5
0
def get_symbol_names():
    """
    获取所有股票代码和名称
    :return: 代码与名称数组
    """
    config = get_client_config()
    quant_client = QuoteClient(config)
    symbols = quant_client.get_symbol_names(market=Market.ALL)

    return symbols
Beispiel #6
0
    def __init__(self):
        """"""
        logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s %(levelname)s %(message)s',
                    filemode='a', )
        logger = logging.getLogger('TigerOpenApi')
        client_config = get_client_config()
        self.openapi_client = QuoteClient(client_config, logger=logger)

        self.inited = False
        self.symbols = set()
Beispiel #7
0
def get_future_quote():
    client_config = get_client_config()
    quote_client = QuoteClient(client_config)
    exchanges = quote_client.get_future_exchanges()
    print(exchanges)
    quote_client.get_future_bars(['CN1901'],
                                 begin_time=-1,
                                 end_time=1545105097358)
    quote_client.get_future_trade_ticks(['CN1901'])
    quote_client.get_future_contracts('CME')
    quote_client.get_future_trading_times('CN1901', trading_date=1545049282852)
    quote_client.get_future_brief(['ES1906', 'CN1901'])
Beispiel #8
0
def get_option_quote():
    client_config = get_client_config()
    quote_client = QuoteClient(client_config)
    symbol = 'AAPL'
    expirations = quote_client.get_option_expirations(symbols=[symbol])
    if len(expirations) > 1:
        expiry = int(
            expirations[expirations['symbol'] == symbol].at[0, 'timestamp'])
        quote_client.get_option_chain(symbol, expiry)

    quote_client.get_option_briefs(['AAPL  190104C00121000'])
    quote_client.get_option_bars(['AAPL  190104P00134000'])
    quote_client.get_option_trade_ticks(['AAPL  190104P00134000'])
Beispiel #9
0
def get_quote():
    client_config = get_client_config()
    quote_client = QuoteClient(client_config)
    #quote_client.get_market_status(Market.ALL)
    #quote_client.get_briefs(symbols=['AAPL', '00700', '600519'], include_ask_bid=True, right=QuoteRight.BR)
    #quote_client.get_briefs(symbols=['00700', '600519'], include_ask_bid=True, right=QuoteRight.BR)
    #quote_client.get_timeline('AAPL', period=TimelinePeriod.5MIN, begin_time='20181213', include_hour_trading=True)
    #    today_time = time.strftime('%Y-%m-%d 00:00:00',time.localtime(time.time()))
    timeArray = time.strptime("2000-01-01 00:00:00", "%Y-%m-%d %H:%M:%S")
    begin_time = int(time.mktime(timeArray)) * 10**3
    return quote_client.get_bars('600570',
                                 period=BarPeriod.ONE_MINUTE,
                                 begin_time=begin_time)
Beispiel #10
0
    def connect_quote(self):
        """
        Connect to market data server.
        """
        try:
            self.quote_client = QuoteClient(self.client_config)
            self.symbol_names = dict(
                self.quote_client.get_symbol_names(lang=Language.zh_CN))
            self.query_contract()
        except ApiException:
            self.write_log("查询合约失败")
            return

        self.write_log("行情接口连接成功")
    def connect_quote(self):
        """
        Connect to market data server.
        """
        try:
            self.quote_client = QuoteClient(self.client_config)
            self.symbol_names = dict(
                self.quote_client.get_symbol_names(lang=Language.zh_CN))
            self.query_contract()
        except ApiException:
            self.write_log(" queries contract failure ")
            return

        self.write_log(" quotes interfacing success ")
        self.write_log(" contract query succeeds ")
Beispiel #12
0
    def __init__(self,
                 account_type,
                 config,
                 sandbox_debug=False,
                 logger_name=None,
                 open_time_adj=0,
                 close_time_adj=0):

        # get logger
        self.logger = Tiger.defualt_logger if (
            logger_name is None) else logging.getLogger(logger_name)

        # read user info, position record from local files
        self.__user_info = io_util.read_config(file_path=config['tiger_path'],
                                               file_name='user_info.json')
        self.__position_record = io_util.read_config(
            file_path=config['config_path'],
            file_name='tiger_position_record.json')
        self.record = self.__position_record[account_type].copy()
        self.eod_api_key = config['api_key']['eod']

        # set account, account type
        self.account = self.__user_info[account_type]
        self.account_type = account_type

        # initialize client_config
        self.client_config = TigerOpenClientConfig(sandbox_debug=sandbox_debug)
        self.client_config.private_key = read_private_key(
            config['tiger_path'] + self.__user_info['private_key_name'])
        self.client_config.tiger_id = str(self.__user_info['tiger_id'])
        self.client_config.language = Language.en_US
        self.client_config.account = self.account

        # get quote/trade clients, assets, positions
        self.quote_client = QuoteClient(self.client_config)
        self.trade_client = TradeClient(self.client_config)
        self.positions = self.trade_client.get_positions(account=self.account)
        self.assets = self.trade_client.get_assets(account=self.account)

        # get market status and trade time
        self.update_trade_time(open_time_adj=open_time_adj,
                               close_time_adj=close_time_adj)

        # update position record
        self.synchronize_position_record(config=config)

        self.logger.info(f'[tiger]: Tiger instance created: {logger_name}')
Beispiel #13
0
import pandas as pd
import os
from client_config import get_client_config
import talib
import struct
import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s %(levelname)s %(message)s',
    filemode='a',
)
logger = logging.getLogger('TigerOpenApi')

client_config = get_client_config()
openapi_client = QuoteClient(client_config, logger=logger)


def get_option_quote():
    symbol = 'AAPL'
    expirations = openapi_client.get_option_expirations(symbols=[symbol])
    if len(expirations) > 1:
        print(expirations)
        expiry = int(
            expirations[expirations['symbol'] == symbol].at[0, 'timestamp'])
        chains = openapi_client.get_option_chain(symbol, expiry)
        print(chains)
    for index, row in chains.iterrows():
        print(row["identifier"], row["strike"], row["put_call"])
    briefs = openapi_client.get_option_briefs(['AAPL  190906C00215000'])
    print(briefs)
Beispiel #14
0
def get_quote(symbol=None):
    client_config = get_client_config()
    quote_client = QuoteClient(client_config)
    return quote_client.get_hour_trading_timeline(symbol=symbol)
Beispiel #15
0
def get_quote_client(account='global_account'):
    client_config = get_client_config(account=account)
    quote_client = QuoteClient(client_config)

    return quote_client
Beispiel #16
0
def get_quote():
    client_config = get_client_config()
    quote_client = QuoteClient(client_config)
    return quote_client.get_bars('600570')
    'SLG', 'SNA', 'SO', 'LUV', 'SPGI', 'SWK', 'SBUX', 'STT', 'SRCL', 'SYK',
    'STI', 'SIVB', 'SYMC', 'SYF', 'SNPS', 'SYY', 'TROW', 'TTWO', 'TPR', 'TGT',
    'TEL', 'FTI', 'TXN', 'TXT', 'TMO', 'TIF', 'TWX', 'TJX', 'TMK', 'TSS',
    'TSCO', 'TDG', 'TRV', 'TRIP', 'FOXA', 'FOX', 'TSN', 'UDR', 'ULTA', 'USB',
    'UAA', 'UA', 'UNP', 'UAL', 'UNH', 'UPS', 'URI', 'UTX', 'UHS', 'UNM', 'VFC',
    'VLO', 'VAR', 'VTR', 'VRSN', 'VRSK', 'VZ', 'VRTX', 'VIAB', 'V', 'VNO',
    'VMC', 'WMT', 'WBA', 'DIS', 'WM', 'WAT', 'WEC', 'WFC', 'WELL', 'WDC', 'WU',
    'WRK', 'WY', 'WHR', 'WMB', 'WLTW', 'WYN', 'WYNN', 'XEL', 'XRX', 'XLNX',
    'XL', 'XYL', 'YUM', 'ZBH', 'ZION', 'ZTS'
]

client_config = get_client_config(private_key_path=PRIVATE_KEY_PATH,
                                  tiger_id=TIGER_ID,
                                  account=ACCOUNT,
                                  sandbox_debug=True)
quote_client = QuoteClient(client_config)
trade_client = TradeClient(client_config)

# 初始化 log 模块
logging.basicConfig(
    format='%(asctime)s - %(module)s - %(levelname)s - %(message)s',
    filename=LOG_PATH,
    filemode='a')
log = logging.getLogger(__name__)
log.setLevel(logging.INFO)


def recorder(func):
    @wraps(func)
    def do_log(*args, **kwargs):
        try:
Beispiel #18
0

def random_color():
    color_arr = [
        '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E',
        'F'
    ]
    color = ""
    for i in range(6):
        color += color_arr[random.randint(0, 14)]
    return "#" + color


if __name__ == '__main__':
    config = get_client_config()
    quant_client = QuoteClient(config)

    stocks = ['QQQ', 'TLT']
    data = quant_client.get_bars(stocks)

    years = mdates.YearLocator()  # every year
    months = mdates.MonthLocator()  # every month
    yearsFmt = mdates.DateFormatter('%Y')

    # fig, ax = plt.subplots()
    fig = plt.figure()
    ax = fig.add_subplot(111)

    # ax1 = None
    # for index, stock in stocks:
    y1 = data.loc[(data["symbol"] == stocks[0])]