예제 #1
0
 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)]
예제 #2
0
 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)]
예제 #3
0
 def __query_convertible_bonds(self):
     df = ts.new_cbonds()
     return df
예제 #4
0
 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']]
예제 #6
0
# 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)
예제 #7
0
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 = []
예제 #8
0
# -*- 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、技术上实现实时提醒(首选微信)
'''
예제 #9
0
 def __query_convertible_bonds(self):
     df = ts.new_cbonds()
     return df