Copy from henbile, 2018/12/17
- 從wind導(dǎo)入到的數(shù)據(jù)的格式是instance。
- 一系列資產(chǎn)保存在list里面,日期格式為“2018-02-28”
- 導(dǎo)入數(shù)據(jù)結(jié)果中,如果數(shù)據(jù)是缺失的,python中顯示為nan。
- 如果沒有其他參數(shù),用“”表示,跟matlab導(dǎo)入wind不一樣。
from WindPy import *
w.start()
import pandas as pd
assetList = ["000300.SH", "000905.SH"]
startDate = "2012-01-02"
endDate = "2013-01-02"
dataImport = w.wsd(assetList, "close", startDate, endDate, "")
#type(dataImport) 類型是instance
#wsd是日期序列的wind導(dǎo)入函數(shù),"close"是wind導(dǎo)入的指標(biāo)名稱
#如果下載其他指標(biāo),“”內(nèi)可以設(shè)置相應(yīng)的參數(shù),比如單位、幣種等。
#通過在wind右下角輸入cg,獲得wind數(shù)據(jù)下載代碼生成器頁面
dates = pd.to_datetime(dataImport.Times)
#time series data, 日期作為后面df的index
#作為index時(shí),日期格式統(tǒng)一一下
#錯(cuò)誤:df = pd.DataFrame(dataImport.Data, index = dates.strftime("%Y-%m-%d"), columns = assetList)
#生成一個(gè)收盤價(jià)格的時(shí)間序列表格,行名稱是日期,列名稱是股票代碼
#dataImport.data的表達(dá)方式:列是日期,資產(chǎn)是行,所以需要轉(zhuǎn)置。要么在轉(zhuǎn)置之后加上index和column。
#要么在加上index和column之后再轉(zhuǎn)置,但加的時(shí)候跟上面的不一樣。
#方法一:
df = pd.DataFrame(dataImport.Data).T
df.index = dates.strftime("%Y-%m-%d")
df.columns = assetList
#方法二:
df = pd.DataFrame(dataImport.Data, index = assetList, columns = dates.strftime("%Y-%m-%d")).T