Пример #1
0
def set_universe(code, refDate=None):
    if Settings.data_source == DataSource.WIND:
        from WindPy import w
        if not w.isconnected():
            w.start()
        if not refDate:
            rawData = w.wset('IndexConstituent',
                             'windcode=' + convert2WindSymbol(code),
                             'field=wind_code')
        else:
            rawData = w.wset('IndexConstituent', 'date=' + refDate,
                             'windcode=' + convert2WindSymbol(code),
                             'field=wind_code')
        if len(rawData.Data) == 0:
            return
        # convert to .xshg/.xshe suffix
        idx = [s.replace('SH', 'xshg') for s in rawData.Data[0]]
        idx = [s.replace('SZ', 'xshe') for s in idx]
        return idx
    elif Settings.data_source != DataSource.DXDataCenter:
        import os
        import tushare as ts

        try:
            ts.set_token(os.environ['DATAYES_TOKEN'])
        except KeyError:
            raise
        idx = ts.Idx()
        return list(idx.IdxCons(secID=code, field='consID')['consID'])
    else:
        from DataAPI import api
        data = api.GetIndexConstitutionInfo(
            code, refDate=refDate).sort_values('conSecurityID')
        return list(data.conSecurityID)
Пример #2
0
def set_universe(code, refDate=None):
    if Settings.data_source != DataSource.DXDataCenter:
        import tushare as ts
        ts.set_token(
            '2bfc4b3b06efa5d8bba2ab9ef83b5d61f1c3887834de729b60eec9f13e1d4df8')
        idx = ts.Idx()
        return list(idx.IdxCons(secID=code, field='consID')['consID'])
    else:
        from DataAPI import api
        data = api.GetIndexConstitutionInfo(
            code, refDate=refDate).sort_values('conSecurityID')
        return list(data.conSecurityID)
Пример #3
0
def set_universe(code, refDate=None):
    if Settings.data_source != DataSource.DXDataCenter:
        import os
        import tushare as ts

        try:
            ts.set_token(os.environ['DATAYES_TOKEN'])
        except KeyError:
            raise
        idx = ts.Idx()
        return list(idx.IdxCons(secID=code, field='consID')['consID'])
    else:
        from DataAPI import api
        data = api.GetIndexConstitutionInfo(code, refDate=refDate).sort_values('conSecurityID')
        return list(data.conSecurityID)
Пример #4
0
    def __init__(self, **kwargs):
        super(DataYesMarketDataHandler, self).__init__(kwargs['logger'], kwargs['symbolList'])
        if kwargs['token']:
            ts.set_token(kwargs['token'])
        else:
            try:
                token = os.environ['DATAYES_TOKEN']
                ts.set_token(token)
            except KeyError:
                raise ValueError("Please input token or set up DATAYES_TOKEN in the envirement.")

        self.idx = ts.Idx()
        self.mt = ts.Market()
        self.startDate = kwargs['startDate'].strftime("%Y%m%d")
        self.endDate = kwargs['endDate'].strftime("%Y%m%d")
        self._getDatas()
        if kwargs['benchmark']:
            self._getBenchmarkData(kwargs['benchmark'], self.startDate, self.endDate)
Пример #5
0
def set_universe(code):
    import tushare as ts
    ts.set_token(
        '2bfc4b3b06efa5d8bba2ab9ef83b5d61f1c3887834de729b60eec9f13e1d4df8')
    idx = ts.Idx()
    return list(idx.IdxCons(secID=code, field='consID')['consID'])
Пример #6
0
#-*- coding: UTF-8 -*-

from sqlalchemy import create_engine
import tushare as ts
import time
nowtime = time.strftime('%Y-%m-%d %H:%M:%S')
engine = create_engine('mysql://*****:*****@127.0.0.1/db_mkt?charset=utf8')
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("127.0.0.1", "root", "root", "db_mkt")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
fd = ts.Idx()


#Idx(self, secID='', ticker='', field=''):
#获取国内外指数的基本要素信息,包括指数名称、指数代码、发布机构、发布日期、基日、基点等。
def idx():
    global df
    df = fd.Idx(field='')
    df.insert(0, 'uploadtime', nowtime)
    idx_tosql()


# 创建数据表SQL语句,添加主键id
def insertid():
    sql = """ALTER TABLE tb_idx 
			ADD idx_id int(20) not null auto_increment ,
			ADD primary key (idx_id)"""
    cursor.execute(sql)