Copy from henbile, 2018/12/17
- 從wind導入到的數(shù)據(jù)的格式是instance尔店。
- 一系列資產(chǎn)保存在list里面抬虽,日期格式為“2018-02-28”
- 導入數(shù)據(jù)結果中缝裤,如果數(shù)據(jù)是缺失的肉渴,python中顯示為nan。
- 如果沒有其他參數(shù),用“”表示微渠,跟matlab導入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導入函數(shù),"close"是wind導入的指標名稱
#如果下載其他指標逞盆,“”內(nèi)可以設置相應的參數(shù)檀蹋,比如單位、幣種等云芦。
#通過在wind右下角輸入cg俯逾,獲得wind數(shù)據(jù)下載代碼生成器頁面
dates = pd.to_datetime(dataImport.Times)
#time series data, 日期作為后面df的index
#作為index時,日期格式統(tǒng)一一下
#錯誤:df = pd.DataFrame(dataImport.Data, index = dates.strftime("%Y-%m-%d"), columns = assetList)
#生成一個收盤價格的時間序列表格舅逸,行名稱是日期桌肴,列名稱是股票代碼
#dataImport.data的表達方式:列是日期,資產(chǎn)是行琉历,所以需要轉置坠七。要么在轉置之后加上index和column。
#要么在加上index和column之后再轉置旗笔,但加的時候跟上面的不一樣彪置。
#方法一:
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