通達(dá)信行情數(shù)據(jù)獲取方法,其中可以通過(guò)通達(dá)信每天下載導(dǎo)自身文件獲?。ㄍㄟ^(guò)c或者c++寫(xiě)一個(gè)接口就可以了),但是每天需要手動(dòng)同步數(shù)據(jù)。下面介紹一個(gè)比較好網(wǎng)上接口。需要到“Tushare金融大數(shù)據(jù)開(kāi)放社區(qū)”注冊(cè)一個(gè)賬號(hào),
https:///register?reg=132182
然后通過(guò)python每天定時(shí)或者接口,方便快捷。
#獲取當(dāng)天系統(tǒng)日期 如20190308 timest=time.strftime("%Y%m%d") pro = ts.pro_api('輸入注冊(cè)平臺(tái)上自己注冊(cè)到id') ##平臺(tái)上到接口,可以獲取每天交易日期 ,該變量保存日期文件 file_date='/root/workspace/stock/src/dt_'+timest+'.csv' ##df_date 若果想獲取多天數(shù)據(jù) 修改 start_date=timest, end_date=timest 中變量則可以 df_date=pro.query('trade_cal', start_date=timest, end_date=timest) df_date.to_csv(file_date,index=False, mode='w',header=False, encoding='gbk') 文件內(nèi)容如下SSE,20190307,1 其中 1 表示為交易當(dāng)天有交易。0表示當(dāng)天沒(méi)交易 ##filename = '/root/workspace/stock/src/dt_'+timest+'.csv' ##下面代碼打開(kāi)日期文件,循環(huán)讀取日期,并下載有交易日期到數(shù)據(jù) with open(file_date) as f: dt_dates.append([row[1],row[2]]) file_name='/root/workspace/stock/src/stock_datas_'+timest+'.csv' for dt_date, act_flag in dt_dates : ##若干當(dāng)天為交易日期則連接平臺(tái)獲取交易數(shù)據(jù)并保存到本地 df = pro.daily(trade_date=dt_date) df.to_csv(file_name ,index=False, mode='w',header=False, encoding="utf-8",sep='|') ###下面把數(shù)據(jù)保持到mysql if os.path.exists(file_name) : db = pymysql.connect(host='127.0.0.1', user='mysql用戶(hù)', passwd='mysql密碼', db='mysql數(shù)據(jù)庫(kù)', charset='utf8',local_infile=1) sql_load_datas="""LOAD DATA LOCAL INFILE '%s' sql_ddl=""" truncate table tb_tock_daily ;""" sql_delete="""delete from tb_tock_daily_his where trade_date ='%s' """%(timest) sql_insert="""insert into tb_tock_daily_his select a.* from tb_tock_daily a where trade_date ='%s' """%(timest) cursor.execute("commit;") cursor.execute(sql_load_datas) cursor.execute("commit;") cursor.execute(sql_delete) cursor.execute("commit;") cursor.execute(sql_insert) cursor.execute("commit;")
調(diào)通上面代碼后,則可以通過(guò)linux 的 crontab 每天定時(shí)抽取相關(guān)數(shù)據(jù)了
|