def __init__(self): self.conn=ts.get_apis() self.available_bonds = pd.read_sql('tb_bond_jisil', engine, index_col='index')['可转债代码'].values self.allBonds=ts.new_cbonds(default=0,pause=2) self.onSellBond=self.allBonds.dropna(subset=['marketprice']) self.today=datetime.datetime.now().strftime('%Y-%m-%d %H:%M') self.total = self.onSellBond[self.onSellBond['bcode'].isin(self.available_bonds)]
def __init__(self): self.conn=ts.get_apis() self.available_bonds = pd.read_sql('tb_bond_jisilu', engine, index_col='index')['可转债代码'].values self.allBonds=ts.new_cbonds(default=0,pause=2) self.onSellBond=self.allBonds.dropna(subset=['marketprice']) self.today=datetime.datetime.now().strftime('%Y-%m-%d %H:%M') self.total = self.onSellBond[self.onSellBond['bcode'].isin(self.available_bonds)]
def __query_convertible_bonds(self): df = ts.new_cbonds() return df
def __init__(self): self.conn = ts.get_apis() self.allBonds = ts.new_cbonds(pause=2) self.onSellBond = self.allBonds.dropna(subset=['marketprice']) self.today = datetime.datetime.now().strftime('%Y-%m-%d %H:%M')
__author__ = 'Administrator' import tushare as ts import sys import time sys.path.append("C:\\quanttime\\src\\auto_hunter") import getSinaquotation1 as getsina data = getsina.getQuotation(["sz128014", "sz128014"]) cons = ts.get_apis() df = ts.new_cbonds() #df_head = df.head(5) #print df_head start = time.time() real_price = ts.quotes('128016', conn=cons) elapsed_per = (time.time() - start) / 10 print "ts.quotes comsume: %r" % (elapsed_per) ''' ([u'code', u'price', u'last_close', u'open', u'high', u'low', u'vol', u'cur_vol', u'amount', u's_vol', u'b_vol', u'bid1', u'ask1', u'bid_vol1', u'ask_vol1', u'bid2', u'ask2', u'bid_vol2', u'ask_vol2', u'bid3', u'ask3', u'bid_vol3', u'ask_vol3', u'bid4', u'ask4', u'bid_vol4', u'ask_vol4', u'bid5', u'ask5', u'bid_vol5', u'ask_vol5'], dtype='object') ''' real_price = real_price.loc[:, [ 'code', 'price', 'bid1', 'bid_vol1', 'ask1', 'ask_vol1' ]] data = getsina.getQuotation(["sz128016"]) data = data.loc[:, ['code', 'bid', 'b1', 'b1_v', 'a1', 'a1_v']]
# logging.info('-----margin_warning_list finished -----') # 监控分配预案 profit_pre = ts.profit_data(top=100, year=2017) # newly_data = ts.get_today_all() # newly_data['update_date'] = str(datetime.date.today()) # profit_pre = pd.merge(profit_pre_raw, newly_data, how='left', on='code')[['code', 'name_x', 'year', 'report_date', 'divi', 'shares', 'trade', 'update_date']] # profit_pre.columns = ['code', 'name', 'year', 'report_date', 'divi', 'shares', 'trade', 'update_date'] # profit_pre['divi_rate%'] = profit_pre['divi'] * 10 / profit_pre['trade'] forecast_data = ts.forecast_data(2017,4) forecast_data = forecast_data.sort_values('report_date', ascending=False) forecast_data = forecast_data.head(100) logging.info('-----forecast_data finished -----') # 可转债数据 cbonds = ts.new_cbonds(default=0) cbonds['date'] = datetime.datetime.now() # 可转债的代码不是字符 cbonds['bcode'] = cbonds['bcode'].astype(str) cbonds.to_hdf(FIN_TECH_HDF5,'cbonds', format='table', data_columns=True) logging.info('-----cbonds finished -----') # 基本面数据 stock_basics = ts.get_stock_basics() # code是index stock_basics = stock_basics.reset_index() #hdf5 只支持datetime类型不支持date类型 stock_basics['date'] = datetime.datetime.now() stock_basics['roe'] = stock_basics['esp'] / stock_basics['bvps'] stock_basics['area'].ix[stock_basics['area']=='内蒙'] = '内蒙古' stock_basics.to_hdf(FIN_TECH_HDF5,'stock_basics', format='table', data_columns=True)
from sqlalchemy import create_engine import tushare as ts import pandas as pd #import numpy as np import requests import time import json # load configurations with open('config.json') as config_file: config = json.load(config_file) # create db engine engine = create_engine(config['convertibles']['dbConnString']) # get convertibles from tushare (which retrieves from stockstar.com) tdf = ts.new_cbonds(default=0) # tushare df tdf.rename(columns={'bcode': 'bond_id'}, inplace=True) tdf.bond_id = tdf.bond_id.astype(str) #TODO: design a normalized table schema so that data from difference sources can be merged. #TODO: create table before hand instead of runtime creation, use mysql "Using INSERT ... ON DUPLICATE KEY UPDATE" to have better control than to_sql tdf.set_index(['bond_id' ]).to_sql(config['convertibles']['tblConvertibleReference'], engine, if_exists='append', chunksize=10) # get convertibles from jisilu jisiluUrl = config['convertibles']['jisiluUrlBase'] + str(time.time()) resp = requests.get(url=jisiluUrl) data = resp.json() cbonds = []
# -*- coding: utf-8 -*- """ Created on Wed Dec 06 14:30:39 2017 @author: zack zhang """ import tushare as ts import os import pandas as pd from pandas import Series from pandas import DataFrame as df import tushare as ts import datetime import time from collections import OrderedDict from decimal import getcontext, Decimal from threading import Timer cons = ts.get_apis() df1 = ts.new_cbonds(default=0) #转债列表,dataframe df2 = ts.new_cbonds(default=1) dfk = ts.bar('128016', conn=cons) #转债日K线,dataframe dftick = ts.tick('128016', conn=cons, date='20171206') #转债tick行情,dataframe dfquotes = ts.quotes('128016', conn=cons) #转债实时切片行情,一行 print dfquotes ''' 1、搞清正股和转债的联动内在逻辑关系(下调转股价等) 2、设定实时行情信号提醒参数 3、技术上实现实时提醒(首选微信) '''