0 引言Tushare Pro@Tushare挖地兔 是免費(fèi)的金融數(shù)據(jù)源,為其前身Tushare經(jīng)三年運(yùn)行后的升級(jí)版本,數(shù)據(jù)內(nèi)容也擴(kuò)大到包含股票、基金、期貨、債券、外匯、行業(yè)大數(shù)據(jù)和數(shù)字貨幣等全數(shù)據(jù)品類(lèi)[1],同時(shí)采用自建服務(wù)器,保證了數(shù)據(jù)獲取時(shí)的穩(wěn)定高效。在Tushare Pro中獲取數(shù)據(jù)除了通過(guò)原有的tushare python包外還增加了對(duì)HTTP RESTful API的支持,因此可以通過(guò)標(biāo)準(zhǔn)協(xié)議,利用MATLAB獲得想要的數(shù)據(jù)。本文簡(jiǎn)單介紹了在MATLAB平臺(tái)上的配置使用方法,可以為初學(xué)者提供參考,也可以為筆者獲取積分提供幫助。 1 數(shù)據(jù)的獲取[2] Tushare Pro HTTP數(shù)據(jù)獲取的方式采用了post的機(jī)制,通過(guò)JSON body傳入接口參數(shù)即可獲得需要的數(shù)據(jù),請(qǐng)求地址為http://api.。在MATLAB中采用webwrite函數(shù)(R2015a)便可以實(shí)現(xiàn)這一功能,其中接口參數(shù)的定義可參見(jiàn)[3],而jsonencode(R2016b)則可以將struct型數(shù)據(jù)轉(zhuǎn)換為json。示例代碼如下: 2 MySQL的安裝配置 2.1 Navicat 本文使用的MySQL版本為5.7,使用的數(shù)據(jù)庫(kù)管理工具為Navicat Premium 12,具體可以百度。利用Navicat可以直觀地對(duì)數(shù)據(jù)庫(kù)進(jìn)行一些操作。本文先建立了一個(gè)名為stock的數(shù)據(jù)庫(kù),隨后建立了名為stock_basic的數(shù)據(jù)表,用于存放上市股票信息。表的具體結(jié)構(gòu)如下: 2.2 MySQL和MATLAB的連接 首先在官網(wǎng)https://dev./downloads/connector/j/下載MySQL的JDBC連接,需要注意的是MATLAB似乎不能很好識(shí)別8.0版本的驅(qū)動(dòng),所以本文使用的是5.1.47。下載后解壓,將解壓包中的mysql-connector-java-××××.jar復(fù)制到MATLAB\R2018a\java\jar\toolbox中,隨后在文件 MATLAB\R2018a\toolbox\local\classpath.txt中添加一行:$matlabroot/java/jar/toolbox/mysql-connector-java-××××.jar。完成后重啟MATLAB。 3 數(shù)據(jù)的存儲(chǔ)在MATLAB中采用database(R2006a)函數(shù)同數(shù)據(jù)庫(kù)建立連接,close(R2016a)關(guān)閉連接,sqlwrite(R2018a)寫(xiě)入數(shù)據(jù),update(R2006a)修改數(shù)據(jù),exec(R2006a)執(zhí)行具體的SQL語(yǔ)句,等。本文利用exec來(lái)執(zhí)行具體的操作。示例代碼如下: 4 MATLAB調(diào)取示例執(zhí)行結(jié)果:
Navicat查看:
上市公司列表便被存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)了,可以方便日后調(diào)取分析。需要注意的是Tushare接口每分鐘最多調(diào)用80次,因此循環(huán)拉取數(shù)據(jù)時(shí)需要pause(0.8)。
參考文獻(xiàn) [1] 米哥, 等. Tushare Pro官網(wǎng) [2] 米哥. 通過(guò)http調(diào)取Tushare數(shù)據(jù)[DB/OL]. 挖地兔, https://mp.weixin.qq.com/s/AlB7Wbqz58DQ-2H5hrkn2w , 2018, 10. [3] 米哥, 等. 數(shù)據(jù)接口[DB/OL]. https:///document/2 , 2018, 10.
|