Пример #1
0
def margin_sz_dtl(engine, ddate):
    tbl = "invest_margin_sz_dtl"
    try:
        df = ts.sz_margin_details(ddate)
        df = df.set_index('opDate', drop='true')
        df.to_sql(tbl, engine, if_exists='append')
    except BaseException, e:
        print e
        tsl.log(tbl + " error on " + ddate)
Пример #2
0
def load_data_stock(data_date):
    '''
    :param stock_code:传递股票代码,将其装载进入mysql
    :return: 
    '''
    rs = ts.sz_margin_details(date=data_date)  #获取数据
    pd.DataFrame.to_sql(rs,
                        table_name,
                        con=conn,
                        flavor='mysql',
                        if_exists='append',
                        index=False)
Пример #3
0
def import_sz_margin_detail(startdate, enddate):
    engine = create_engine("mssql+pyodbc://sa:123456@test")
    tstartdate = datetime.datetime.strptime(startdate,'%Y-%m-%d')
    tenddate = datetime.datetime.strptime(enddate,'%Y-%m-%d')
    delta = datetime.timedelta(days=1)
    while (tstartdate <= tenddate):
        df = ts.sz_margin_details(datetime.datetime.strftime(tstartdate,'%Y-%m-%d'))
        if df is not None and len(df) > 0:
            df.to_sql('tb_sz_margin_detail', engine, if_exists='append')
            print datetime.datetime.strftime(tstartdate,'%Y-%m-%d'), ' success'
        else:
            print datetime.datetime.strftime(tstartdate,'%Y-%m-%d'), ' null'
        tstartdate = tstartdate + delta
Пример #4
0
def get_margin_details(start, end):
    logging.info('geting sh_margin data')
    sh_margin = ts.sh_margin_details(start=start, end=end)
    logging.info('sh_margin data getted')
    logging.info(end + ' length is ' + str(len(sh_margin[sh_margin['opDate']==end])))
    period_range = pd.period_range(start=start, end=end, freq='D')
    sz_margin_list = []
    for d in period_range:
        logging.info('geting ' + str(d) + ' data')
        sz_margin_detail = ts.sz_margin_details(str(d))
        sz_margin_detail['opDate'] = str(d)
        sz_margin_list.append(sz_margin_detail)
    sz_margin = pd.concat(sz_margin_list)
    return pd.concat([sh_margin, sz_margin])
Пример #5
0
 def setSzMarginDetails(self,endTime =None,startTime = None, isSave = False,tableName = REFERENCE_SH_MARGINS_DETAILS):
     dateList = getdatelist(startTime,endTime)
     dfAll = None
     try:
         for dateItem in dateList:
             df = ts.sz_margin_details(dateItem)
             if dfAll is None:
                 dfAll = df.copy()
             else:
                 dfAll = dfAll.append(df)
         dfAll.drop_duplicates()
         if isSave is True:
             df.to_sql(tableName,self.engine_sql, if_exists='append')
     except IOError,e:
             print e
Пример #6
0
def sz_margin_details(start, end, **kwargs):
    if end < _rzrq_start:
        return None
    args = {
        "start": start.strftime("%Y-%m-%d"),
        "end": end.strftime("%Y-%m-%d"),
        "freq": "D"
    }
    rng = pd.date_range(**args)
    day_frames = []
    for d in rng:
        #print d.strftime("%Y-%m-%d")
        day_df = ts.sz_margin_details(d.strftime("%Y-%m-%d"))
        if len(day_df):
            day_frames.append(day_df)
    return pd.concat(day_frames, ignore_index=True)
Пример #7
0
def get_rzrq_sz_details(date):
    """
        获取深市融资融券明细数据
    Parameters
    --------
    date                日期,e.g. '2010-03-31'

    Return
    --------
    DataFrame
        date            日期
        code            股票代码
        name            股票名称
        rzye            融资余额(元)
        rzmre           融资买入额(元)
        rzche           融资偿还额(元)
        rqyl            融券余量
        rqmcl           融券卖出量
        rqchl           融券偿还量
        rqylje          融券余量金额(元)
        rzrqye          融资融券余额(元)
    """
    rzrq = ts.sz_margin_details(date)
    # Rename Columns
    columns_map = {
        'stockCode': 'code',
        'securityAbbr': 'name',
        'rqye': 'rqylje',
        'opDate': 'date'
    }
    rzrq.rename(columns=columns_map, inplace=True)
    # Add Missing Columns
    rzrq['rzche'] = np.nan
    rzrq['rqchl'] = np.nan
    # Swith Columns
    date = rzrq.pop('date')
    rzrq.insert(0, 'date', date)
    rzye = rzrq.pop('rzye')
    rzrq.insert(3, 'rzye', rzye)
    rzche = rzrq.pop('rzche')
    rzrq.insert(5, 'rzche', rzche)
    rqyl = rzrq.pop('rqyl')
    rzrq.insert(6, 'rqyl', rqyl)
    rqchl = rzrq.pop('rqchl')
    rzrq.insert(8, 'rqchl', rqchl)
    return rzrq
Пример #8
0
def Get_szMargin(code,date):
    global margin_dict
    global margin_lock
    each_margin=ts.sz_margin_details(date)
    if each_margin.empty:
        return
    #pdb.set_trace()
    else:
        if code not in list(each_margin.stockCode):
            return
        else:
            try:
                margin_lock.acquire()
                margin_dict[date]=each_margin[each_margin.stockCode==code]
                margin_lock.release()
            except Exception,e:
                print('geting szmargin failed for:',e)
Пример #9
0
def get_sz_margin_details(start):
    """
    投资参考 系列
    融资融券(深市):深市融资融券明细数据
    """
    df = ts.sz_margin_details(start)
    print(df)
    if df is not None:
        if start is None:
            start = datetime.date.today()
        if len(df) > 0:
            df.insert(0, 'start', start)
        res = df.to_sql(invest_stock_ref_sz_margin_details, engine, if_exists='replace')
        msg = 'ok' if res is None else res
        print('获取沪市融资融券明细数据: 开始时间:{0}  {1}'.format(start, msg) + '\n')
    else:
        print('获取沪市融资融券明细数据: 开始时间:{0}  {1}'.format(start, 'None') + '\n')
Пример #10
0
def updateMarginDetailSZ(con, date: datetime = None, retry_count: int = 4):
    import share.model.dao.reference.MarginDetailSZ as Model
    dateFormat = "%Y-%m-%d"
    if date is None:
        date = datetime.now()

    logging.debug("Updating MarginsSZ detail of {date}".format(
        date=date.strftime(dateFormat)))

    df = ts.sz_margin_details(date=date.strftime(dateFormat),
                              retry_count=retry_count)

    res = []
    for _, row in df.iterrows():
        obj = Model.rowToORM(row)
        if obj is not None:
            res.append(obj)
    Base.metadata.create_all(con.engine)
    con.save_all(res)
    return
def getSzMarginDetails(cursor):

    dateList = getDate('2010-05-17', '2017-12-31')
    print(len(dateList))

    for i in dateList:
        try:
            # 深市融资融券明细一次只能获取一天的明细数据,如果不输入参数,则为最近一个交易日的明细数据
            print(i)
            df = ts.sz_margin_details(str(i), pause=0.01)

            # 处理缺失值
            df = df.fillna(0)
            #print(df)

            dfLen = len(df)
            uuidList = []  # 添加uuid
            for l in range(0, dfLen):
                uuidList.append(uuid.uuid1())
            df['uuid'] = uuidList

            for k in range(0, dfLen):
                df2 = df[k:k + 1]

                cursor.execute(
                    "insert into stock_sz_margin_details(uuid, op_date, code, name, rzmre, rzye, "
                    "rqmcl, rqyl, rqye, rzrqye) "
                    "values('%s','%s' ,'%s', '%s','%.4f' , '%.4f', "
                    "'%.4f', '%.4f', '%.4f', '%.4f')" %
                    (str(list(df2['uuid'])[0]), str(list(
                        df2['opDate'])[0]), str(list(df2['stockCode'])[0]),
                     str(list(df2['securityAbbr'])[0]),
                     round(float(df2['rzmre']), 4), round(
                         float(df2['rzye']), 4), round(float(df2['rqmcl']), 4),
                     round(float(df2['rqyl']), 4), round(
                         float(df2['rqye']), 4), round(float(df2['rzrqye']),
                                                       4)))
            cursor.execute("commit")
        except Exception as e:
            pass
            print(e)
Пример #12
0
 def getData(self, mongo, func):
     if (func == 'profit_data'):
         df = fd.profit_data(top=self.top)
     elif (func == 'xsg_data'):
         df = fd.xsg_data()
     elif (func == 'new_stocks'):
         df = fd.new_stocks()
     elif (func == 'sh_margins'):
         df = ts.sh_margins(self.start, self.end)
     elif (func == 'sz_margins'):
         df = ts.sz_margins(self.start, self.end)
     elif (func == 'sz_margin_details'):
         df = ts.sz_margin_details(self.end)
     else:
         df = {}
     print("func:")
     print(func)
     print("type:")
     print(type(df))
     insert_string = df.to_json(orient='records')
     items = json.loads(insert_string)
Пример #13
0
def MarginDetails(tradeDate):
    selectedCol = ['stockCode','opDate','rzye','rzmre','rqyl','rqmcl'];
    
    df = ts.sh_margin_details(start=tradeDate,end=tradeDate);
    if df.shape[0]>0:
        df = df[selectedCol];
        pass;
    
    dfSz = ts.sz_margin_details(date=tradeDate);
    if dfSz.shape[0]>0:
        df = df.append(dfSz[selectedCol]);
        pass;

    if df.shape[0]==0:
        return df;
    df.rename(columns = {'opDate':'tradeDate'}, inplace=True);
    
    df['secID'] = df['stockCode'].apply(lambda x: gTicker2SecID[x] if x in gTicker2SecID else None);
    df = df[df['secID'].map(lambda x:x is not None)];
    df.drop('stockCode',axis=1,inplace=True);
    #df.set_index(['secID','tradeDate'],inplace=True);
    return df;
Пример #14
0
def MarginDetails(tradeDate):
    selectedCol = ['stockCode', 'opDate', 'rzye', 'rzmre', 'rqyl', 'rqmcl']

    df = ts.sh_margin_details(start=tradeDate, end=tradeDate)
    if df.shape[0] > 0:
        df = df[selectedCol]
        pass

    dfSz = ts.sz_margin_details(date=tradeDate)
    if dfSz.shape[0] > 0:
        df = df.append(dfSz[selectedCol])
        pass

    if df.shape[0] == 0:
        return df
    df.rename(columns={'opDate': 'tradeDate'}, inplace=True)

    df['secID'] = df['stockCode'].apply(lambda x: gTicker2SecID[x]
                                        if x in gTicker2SecID else None)
    df = df[df['secID'].map(lambda x: x is not None)]
    df.drop('stockCode', axis=1, inplace=True)
    #df.set_index(['secID','tradeDate'],inplace=True);
    return df
Пример #15
0
def sz_margin_details(request):
    try:
        date = request.POST.get('date', '')
        data = ts.sz_margin_details(date)
        res = {
            'columns': [
                '标的证券代码',
                '标的证券简称',
                '融资买入额(元)',
                '融资余额(元)',
                '融券卖出量',
                '融券余量',
                '融券余量(元)',
                '融资融券余额(元)',
                '信用交易日期',
            ],
            'data':
            json.loads(json.dumps(data.values, cls=DateEncoder))
        }
    except (BaseException):
        return HttpResponse(BaseException)
    else:
        return HttpResponse(json.dumps(res), content_type="application/json")
Пример #16
0
 def get_financing_securities_detail_sz(date,
                                        retry_count=RETRY_COUNT,
                                        pause=PAUSE):
     assert date is not None, 'date must be not None or \'\''
     logger.info(
         'Begin get financing securities details sz data. Date is %s.' %
         date)
     data_dicts = []
     try:
         data_df = ts.sz_margin_details(date=date,
                                        retry_count=retry_count,
                                        pause=pause)
     except Exception:
         logger.exception(
             'Begin get financing securities details sz data. Date is %s' %
             date)
     else:
         if data_df is None or data_df.empty:
             logger.warn(
                 'Empty get financing securities details sz data date, date is %s.'
                 % date)
         else:
             data_dicts = [{
                 'stock_code': row[0],
                 'security_abbr': row[1],
                 'rzmre': row[2],
                 'rzye': row[3],
                 'rqmcl': row[4],
                 'rqyl': row[5],
                 'rqye': row[6],
                 'rzrqye': row[7],
                 'op_date': row[8]
             } for row in data_df.values]
             logger.info(
                 'Success get financing securities details sz data, date is: %s.'
                 % date)
     return data_dicts
Пример #17
0
 def Getszmargins(self):
     datateeeeeee = ts.sz_margin_details()
     self.SaveCSV(datateeeeeee, 'szmargindetails.csv')
Пример #18
0
    def dealMarginData(self, startDate, endDate):

        dbtable_sh = self.magin_sh

        dbtable_sz = self.magin_sz

        engine = self.engine

        #生成目录字典

        allTimedf = self.getAllTrdingDate(startDate, endDate)

        if len(allTimedf) > 0:

            allTimelist = list(allTimedf)

            #获取每天融资融券数据
            for atl in allTimelist:

                #上海融资融券数据
                marginSh_df = pd.DataFrame()

                #深圳融资融券数据
                marginSz_df = pd.DataFrame()

                #深圳融资融券数据
                marginTmp_df = pd.DataFrame()

                #获取沪市融资融券汇总数据
                allsh_df = ts.sh_margins(start=atl, end=atl)

                marginTmp_df['mt_rzye'] = allsh_df['rzye']
                marginTmp_df['mt_rzmre'] = allsh_df['rzmre']

                marginTmp_df['mt_rzche'] = 0
                marginTmp_df['mt_rqyl'] = allsh_df['rqyl']

                marginTmp_df['mt_rqylje'] = allsh_df['rqylje']
                marginTmp_df['mt_rqmcl'] = allsh_df['rqmcl']

                marginTmp_df['mt_rqchl'] = 0
                marginTmp_df['mt_rzrqjyzl'] = allsh_df['rzrqjyzl']

                marginTmp_df['mt_code'] = '000002'
                marginTmp_df['mt_name'] = u'上海A股'
                marginTmp_df['mt_date'] = atl

                marginSh_df = marginSh_df.append(marginTmp_df)

                #获取沪市融资融券个股数据
                allsh_df = ts.sh_margin_details(start=atl, end=atl)

                marginTmp_df = pd.DataFrame()

                marginTmp_df['mt_code'] = allsh_df['stockCode']
                marginTmp_df['mt_name'] = allsh_df['securityAbbr']
                marginTmp_df['mt_date'] = allsh_df['opDate']

                marginTmp_df['mt_rzye'] = allsh_df['rzye']
                marginTmp_df['mt_rzmre'] = allsh_df['rzmre']

                marginTmp_df['mt_rzche'] = allsh_df['rzche']
                marginTmp_df['mt_rqyl'] = allsh_df['rqyl']

                marginTmp_df['mt_rqylje'] = 0
                marginTmp_df['mt_rqmcl'] = allsh_df['rqmcl']

                marginTmp_df['mt_rqchl'] = allsh_df['rqchl']
                marginTmp_df['mt_rzrqjyzl'] = 0

                marginSh_df = marginSh_df.append(marginTmp_df)

                marginSh_series = marginSh_df['mt_date'].astype('str')

                marginSh_index = marginSh_series.values

                marginSh_df = marginSh_df.set_index(marginSh_index)

                #获取深市融资融券汇总数据
                allsz_df = ts.sz_margins(start=atl, end=atl)

                marginTmp_df = pd.DataFrame()

                marginTmp_df['mt_rzmre'] = allsz_df['rzmre']
                marginTmp_df['mt_rzye'] = allsz_df['rzye']

                marginTmp_df['mt_rqmcl'] = allsz_df['rqmcl']
                marginTmp_df['mt_rqyl'] = allsz_df['rqyl']

                marginTmp_df['mt_rqye'] = allsz_df['rqye']
                marginTmp_df['mt_rzrqye'] = allsz_df['rzrqye']

                marginTmp_df['mt_code'] = '399107'
                marginTmp_df['mt_name'] = u'深圳A股'
                marginTmp_df['mt_date'] = atl

                marginSz_df = marginSz_df.append(marginTmp_df)

                #获取深市融资融券个股数据
                allsz_df = ts.sz_margin_details(atl)

                #清空tmp表
                marginTmp_df = pd.DataFrame()

                marginTmp_df['mt_code'] = allsz_df['stockCode']
                marginTmp_df['mt_name'] = allsz_df['securityAbbr']
                marginTmp_df['mt_date'] = allsz_df['opDate']

                marginTmp_df['mt_rzmre'] = allsz_df['rzmre']
                marginTmp_df['mt_rzye'] = allsz_df['rzye']

                marginTmp_df['mt_rqmcl'] = allsz_df['rqmcl']
                marginTmp_df['mt_rqyl'] = allsz_df['rqyl']

                marginTmp_df['mt_rqye'] = allsz_df['rqye']
                marginTmp_df['mt_rzrqye'] = allsz_df['rzrqye']

                marginSz_df = marginSz_df.append(marginTmp_df)

                marginSz_series = marginSz_df['mt_date'].astype('str')

                marginSz_index = marginSz_series.values

                marginSz_df = marginSz_df.set_index(marginSz_index)

                marginSh_df.to_sql(dbtable_sh, con=engine, if_exists='append')

                marginSz_df.to_sql(dbtable_sz, con=engine, if_exists='append')

                print atl

        m = 1
Пример #19
0
import itertools

import importlib

# sys.setdefaultencoding('gbk')

SZfolder = r'G:/TimeSeriesData/RZRQ/SHSZDailytxt/'

Dates = pd.date_range(start='2018-04-22', end='2018-05-03', freq='D')

for item in Dates:
    nDay = datetime.datetime.strftime(item, '%Y-%m-%d')
    try:
        ndayfilename = SZfolder + 'sz' + nDay.replace('-', '') + '.txt'
        if not (os.path.exists(ndayfilename)):
            SZRZRQ = ts.sz_margin_details(date=nDay)
            if len(SZRZRQ) > 2:
                print(SZRZRQ[-5:])
                SZRZRQ.to_csv(ndayfilename, sep=',', encoding='utf-8')
                print(ndayfilename)
            else:
                print('Len <2, no margin data for ' + nDay)
        else:
            print(ndayfilename + ' available,no need to download!!')
    except:
        pass

    try:
        ndayfilename = SZfolder + 'sh' + nDay.replace('-', '') + '.txt'
        if not (os.path.exists(ndayfilename)):
            SHRZRQ = ts.sh_margin_details(start=nDay, end=nDay)
Пример #20
0
rzye:融资余额(元)
rqmcl: 融券卖出量
rqyl: 融券余量
rqye: 融券余量(元)
rzrqye:融资融券余额(元)
调用方法:
print(ts.sz_margins(start='2017-01-01', end='2018-04-19'))

深市融资融券明细数据

参数说明:

date:日期 format:YYYY-MM-DD 默认为空’‘,数据返回最近交易日明细数据
retry_count:当网络异常后重试次数,默认为3
pause:重试时停顿秒数,默认为0
返回值说明:

stockCode:标的证券代码
securityAbbr:标的证券简称
rzmre: 融资买入额(元)
rzye:融资余额(元)
rqmcl: 融券卖出量
rqyl: 融券余量
rqye: 融券余量(元)
rzrqye:融资融券余额(元)
opDate:信用交易日期
print(ts.sz_margin_details())
'''

print(ts.sz_margin_details())
Пример #21
0
#coding=utf-8
'''
Created on 2015年6月4日

@author: Administrator
'''
import tushare as ts

# 分配预案
#每到季报、年报公布的时段,就经常会有上市公司利润分配预案发布,而一些高送转高分红的股票往往会成为市场炒作的热点。
df = ts.profit_data(top=60)
df.sort('shares',ascending=False)
df[df.shares>=10]#选择每10股送转在10以上的

# 业绩预告
ts.forecast_data(2014,2)#获取2014年中报的业绩预告数据

# 限售股解禁
# 以月的形式返回限售股解禁情况,通过了解解禁股本的大小,判断股票上行的压力。可通过设定年份和月份参数获取不同时段的数据。
ts.xsg_data()

# 新股数据
ts.new_stocks()

# 融资融券
ts.sh_margins(start='2015-01-01', end='2015-04-19')
ts.sz_margins(start='2015-01-01', end='2015-04-19')
#如果不设symbol参数或者开始和结束日期时段设置过长,数据获取可能会比较慢,建议分段分步获取,比如一年为一个周期
ts.sh_margin_details(start='2015-01-01', end='2015-04-19', symbol='601989')
ts.sz_margin_details('2015-04-20')
Пример #22
0
    rqmcl: 融券卖出量
    rqyl: 融券余量
    rqye: 融券余量(元)
    rzrqye:融资融券余额(元)

'''
ts.sz_margins(start='2015-01-01', end='2015-04-19')
'''
深市融资融券明细数据

参数说明:

    date:日期 format:YYYY-MM-DD 默认为空’‘,数据返回最近交易日明细数据
    retry_count:当网络异常后重试次数,默认为3
    pause:重试时停顿秒数,默认为0

返回值说明:

    stockCode:标的证券代码
    securityAbbr:标的证券简称
    rzmre: 融资买入额(元)
    rzye:融资余额(元)
    rqmcl: 融券卖出量
    rqyl: 融券余量
    rqye: 融券余量(元)
    rzrqye:融资融券余额(元)
    opDate:信用交易日期

'''
ts.sz_margin_details('2015-04-20')
Пример #23
0
df_sz50 = ts.get_sz50s() #获取上证50成份股
df_zz500 = ts.get_zz500s() #获取中证500成份股
#==============================================================================投资参考==============================================================================
df_dividend = ts.profit_data(top=60)
df_dividend.sort('shares',ascending=False)
'''分配预案'''
df_forecast = ts.forecast_data(2017,4)
'''业绩预告'''
df_restrict = ts.xsg_data()
'''限售股解禁'''
df_fund = ts.fund_holdings(2017, 2)
'''基金持股'''
df_sh = ts.sh_margin_details(start='2015-01-01', end='2015-04-19', symbol='601989')
'''上交所融资融券明细'''
df_sz = ts.sz_margins(start='2015-01-01', end='2015-04-19')
df_sz_detail = ts.sz_margin_details('2015-04-20')
'''深交所融资融券总额'''
#==============================================================================新闻==============================================================================
ts.get_latest_news() #默认获取最近80条新闻数据,只提供新闻类型、链接和标题
ts.get_latest_news(top=5,show_content=True) #显示最新5条新闻,并打印出新闻内容
'''即时新闻'''
ts.get_notices('600028')
'''个股新闻'''
ts.guba_sina(True)
'''新浪股吧'''
#==============================================================================海外数据源==============================================================================
import pandas.io.data as web
DAX = web.DataReader(name='^GDAXI',data_source='yahoo',start='2000-1-1')#读取德国DAX指数
#data_source='yahoo'/'google'/'fred'圣路易斯储蓄银行/'famafrench'/'pandas.io.web'世界银行  

#write_code
Пример #24
0
	def getSzMarginsDetails(self):
		file_name = self.startDate+'_'+self.endDate+'_sz_margins_details.csv'
		path = self.index + self.index_sz_margins_details + file_name
		data = ts.sz_margin_details(date = self.startDate)
		data.to_csv(path, encoding='utf-8')
		print(file_name)
Пример #25
0
    retry_count:当网络异常后重试次数,默认为3
    pause:重试时停顿秒数,默认为0

:return:
    opDate:信用交易日期(index)
    rzmre: 融资买入额(元)
    rzye:融资余额(元)
    rqmcl: 融券卖出量
    rqyl: 融券余量
    rqye: 融券余量(元)
    rzrqye:融资融券余额(元)
"""

# 深市融资融券明细数据
# 深市融资融券明细一次只能获取一天的明细数据,如果不输入参数,则为最近一个交易日的明细数据
print ts.sz_margin_details('2017-10-27')
"""
:param:
    date:日期 format:YYYY-MM-DD 默认为空’‘,数据返回最近交易日明细数据
    retry_count:当网络异常后重试次数,默认为3
    pause:重试时停顿秒数,默认为0

:return:
    stockCode:标的证券代码
    securityAbbr:标的证券简称
    rzmre: 融资买入额(元)
    rzye:融资余额(元)
    rqmcl: 融券卖出量
    rqyl: 融券余量
    rqye: 融券余量(元)
    rzrqye:融资融券余额(元)
Пример #26
0
#业绩预告(2017年第4季度)
Forecast_data = ts.forecast_data(2017, 4)
#分配预案(最近公布60条数据)
Profit_data = ts.profit_data(top=60)
#限售解禁(2017-12解禁股票)
Xsg_data = ts.xsg_data(year=2017, month=12)

#基金持股(2017年第4季度)
Fund_holdings = ts.fund_holdings(2017, 3)
#融资融券
Sh_margins = ts.sh_margins(start='2017-12-01', end='2017-12-15')  #总的
Sh_margin_details = ts.sh_margin_details(start='2017-12-01',
                                         end='2017-12-15',
                                         symbol='601989')  #指定股票
Sz_margins = ts.sz_margins(start='2017-12-01', end='2017-12-14')  #总
Sz_margin_details = ts.sz_margin_details('2017-12-14')  #个股列表

#新股上市
New_stocks = ts.new_stocks()
'''
数据储存:csv,mysql
'''
#csv
import os
filename = 'D:/VNPY/bigfile.csv'
for code in ['000875', '600848', '000981']:
    df = ts.get_hist_data(code)
    if os.path.exists(filename):
        df.to_csv(filename,
                  mode='a',
                  header=None,
Пример #27
0
def szmarginsdetails(date_list):
    for date in date_list:
        DTS = ts.sz_margin_details(date=date)
        DTS.to_csv('D:\\ts\\tzck\\szmargin\\SZ_margin%s.csv'%date,encoding='gbk')
Пример #28
0
            temp_day = ts.sh_margin_details(start=date, end=date)
            temp_daymid = np.array(temp_day)
            print(date + '---part 1')
            for i in range(len(temp_daymid)):
                resu0 = temp_daymid[i]
                try:
                    sql_insert = "insert into stock_rzrq_detail(state_dt,bd_code,rzye,rqyl)values('%s','%s','%.2f','%.2f')" % (
                        str(date), str(resu0[1]), float(
                            resu0[3]), float(resu0[6]))
                    cursor.execute(sql_insert)
                    db.commit()
                except Exception as exp:
                    print(exp)
                    continue

            temp = ts.sz_margin_details(date)
            resu3_all = np.array(temp)
            print(date + '---part 2')
            for resu3 in resu3_all:
                try:
                    sql_insert3 = "insert into stock_rzrq_detail(state_dt,bd_code,rzye,rqyl)values('%s','%s','%.2f','%.2f')" % (
                        str(date), str(resu3[0]), float(
                            resu3[3]), float(resu3[5]))
                    cursor.execute(sql_insert3)
                    db.commit()
                except Exception as inner_exp:
                    print(inner_exp)
                    continue
        except Exception as exp:
            print(exp)
            continue