In [1]:
import tushare as ts
In [55]:
df = ts.get_stock_basics()
In [56]:
from datetime import datetime
df['timeToMarket'] = df['timeToMarket'].map(lambda s: datetime.strptime(str(s), '%Y%m%d') if s > 0 else None)
In [4]:
from sqlalchemy import create_engine
tushare_db = create_engine('postgresql://earthson@localhost/trading_tushare', pool_size=32, max_overflow=0)
In [1]:
def fetch_stock_basics():
df = ts.get_stock_basics()
df.to_sql('stock_basics', tushare_db, if_exists="replace")
def fetch_tick(stock, date):
df = ts.get_tick_data(stock, date=date)
df['stock'] = stock
df['date'] = date
ans = df.set_index(['stock', 'date'])
try:
tushare_db.execute("""delete from tick_data where "stock"='%s' AND "date"='%s' """ % (stock, date))
except:
pass
ans.to_sql('tick_data', tushare_db, if_exists="append")