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)
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)
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)
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)
def set_universe(code): import tushare as ts ts.set_token( '2bfc4b3b06efa5d8bba2ab9ef83b5d61f1c3887834de729b60eec9f13e1d4df8') idx = ts.Idx() return list(idx.IdxCons(secID=code, field='consID')['consID'])
#-*- 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)