pandas:tushare數(shù)據(jù)處理(一)

今天剛剛從清華大神那里得到消息,tushare的數(shù)據(jù)有很多問題棺妓,get_stock_basics()和get_his_data()存在壞點喳挑,謹慎應(yīng)用中頻策略。
但問題是stock_basics那個url不是上海證券交易所嗎嫂用?難道這種數(shù)據(jù)都有問題?
媽的還是要買通聯(lián)數(shù)據(jù)丈冬。

Tushare-財經(jīng)數(shù)據(jù)接口
一個非常強大的存在嘱函,類似的還有vn.py,easytrader等包埂蕊,但很顯然tushare是這些包的爸爸往弓,作者挖地兔有公眾號,一個外貌很有特點的人蓄氧,目前easytrader可以實現(xiàn)銀河證券的實盤交易函似,具體的。
十分鐘搞定pandas
顯然十分鐘是搞不定的喉童。

獲得所有A股股票代碼

stock_info = ts.get_stock_basics()
CODE_LIST = []
for i in stock_info.index:
    CODE_LIST.append(i)
print CODE_LIST

ts.get_k_data()
獲得歷史數(shù)據(jù)的方法撇寞,包含信息如下,tushare目前支持13年9月以后的A股數(shù)據(jù)泄朴,據(jù)說以后還要搞港股美股期貨市場什么的重抖,不太相信露氮。

in []:kdata = ts.get_k_data('600848')
    kdata
out []:
           date   open  close   high    low    volume    code
0    2013-09-02   6.40   6.20   6.52   6.09   34096.0  600848
1    2013-09-03   6.20   6.24   6.36   6.19   23047.0  600848
...
639  2017-04-12  20.26  21.41  22.66  20.26  142753.0  600848
640  2017-04-13  21.30  21.43  21.80  21.02   77429.0  600848
'''

獲得某一個具體的數(shù)據(jù)祖灰,例如我們要獲得最后一天的volume:

in []:kdata.iloc[-1,5]
out[]:
77429.0

要注意的是,有的股票是今天才上市的畔规,所以只能獲得一個只有一行的DF局扶,這個時候如果你要取昨天的成交量kdata.iloc[-2,5]就會報錯,所以我們在取昨天的成交量的時候需要進行一個判定叁扫,cookbook里面找不到三妈,結(jié)果stack有很好的答案:
how to get row count of pandas dataframe?

In [3]: df = pd.DataFrame(np.arange(9).reshape(3,3))
In [4]: df
Out[4]: 
   0  1  2
0  0  1  2
1  3  4  5
2  6  7  8
In [5]: df.shape
Out[5]: (3, 3)
In [8]: len(df.index)
Out[8]: 3

將索引值設(shè)為日期:

in []: kdata_ri = kdata.set_index('date') 
    kdata_ri
out []:
             open  close   high    low    volume    code
date                                                    
2013-09-02   6.40   6.20   6.52   6.09   34096.0  600848
2013-09-03   6.20   6.24   6.36   6.19   23047.0  600848
...
2017-04-13  21.30  21.43  21.80  21.02   77429.0  600848

再找一個數(shù)據(jù),比如2017-03-22的數(shù)據(jù)莫绣,要注意的是date字段是unicode編碼畴蒲,直接使用utf-8的字符串會報錯:

in []:kdata_ri.ix[u'2017-03-22']
out []:
open       20.19
close      19.89
high       20.24
low        19.88
volume     36156
code      600848
Name: 2017-03-22, dtype: object

如果要選取volumn,可以用:

in []:kdata_ri.ix[u'2017-03-22','volume']
out []:
36156.0

至于iloc, ix 以及l(fā)oc, at等DataFrame方法的區(qū)別对室,這里先不表模燥,或許我也還沒弄清楚咖祭。

除此之外,pandas還提供了一些時間序列工具蔫骂,比如我們可以用pd.rolling_mean()的方法生成均線么翰,注意年線是250日均線,半年線是120日均線辽旋,月線是30日均線浩嫌,這個和公歷年還是有區(qū)別的:

in []:close = pd.Series(kdata_ri.close)  #首先生成一個日期為key, 收盤價為value的series
    me_250 = pd.rolling_mean(close, 250) #新生成的也是一個Serise
out []: <string>:1: FutureWarning: pd.rolling_mean is deprecated for Series and will be removed in a future version, replace with 
    Series.rolling(window=365,center=False).mean()

這個警報是因為前240個值算不出均線值,那么我們看看me250的結(jié)果:

in []: me250
out []:
date
2013-09-02         NaN
2013-09-03         NaN
...
2017-04-12    20.11960
2017-04-13    20.12060
Name: close, dtype: float64

很明顯前240個值都是NaN补胚。

get_realtime_quotes

該方法是用來獲得實時數(shù)據(jù)的码耐,用的是鵝廠數(shù)據(jù),其實用來做高頻策略還是不太能放心的糖儡。

in []:rtprice = ts.get_realtime_quotes('600848')
    rtprice
out []:
 name    open pre_close   price    high     low     bid     ask   volume  \
0  上海臨港  21.300    21.410  21.430  21.800  21.020  21.420  21.430  7742964   
          amount   ...      a2_p a3_v    a3_p a4_v    a4_p a5_v    a5_p  \
0  165976827.000   ...    21.440  117  21.450   52  21.460  105  21.470   
         date      time    code  
0  2017-04-13  15:00:00  600848  
[1 rows x 33 columns]

這個接口有一個好處是比較穩(wěn)定伐坏,比如獲得股票名稱,這個接口就要比get_stock_basic()要好握联。

最后寫一個簡書里插入LaTex公式的東西桦沉,因為簡書不支持LaTex語法,所以可以用一個網(wǎng)站來生成圖片金闽,比如說這個矩陣:
![][matrix]
[matrix]: http://latex.codecogs.com/svg.latex?\begin{bmatrix}1&x&x2\1&y&y2\1&z&z^2\\end{bmatrix}
方法:
簡書中編輯數(shù)學公式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纯露,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子代芜,更是在濱河造成了極大的恐慌埠褪,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挤庇,死亡現(xiàn)場離奇詭異钞速,居然都是意外死亡,警方通過查閱死者的電腦和手機嫡秕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門渴语,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人昆咽,你說我怎么就攤上這事驾凶。” “怎么了掷酗?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵调违,是天一觀的道長。 經(jīng)常有香客問我泻轰,道長技肩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任浮声,我火速辦了婚禮虚婿,結(jié)果婚禮上殖告,老公的妹妹穿的比我還像新娘。我一直安慰自己雳锋,他們只是感情好黄绩,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著玷过,像睡著了一般爽丹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辛蚊,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天粤蝎,我揣著相機與錄音,去河邊找鬼袋马。 笑死初澎,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的虑凛。 我是一名探鬼主播碑宴,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼桑谍!你這毒婦竟也來了延柠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤锣披,失蹤者是張志新(化名)和其女友劉穎贞间,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雹仿,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡增热,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了胧辽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峻仇。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖票顾,靈堂內(nèi)的尸體忽然破棺而出础浮,到底是詐尸還是另有隱情帆调,我是刑警寧澤奠骄,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站番刊,受9級特大地震影響含鳞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芹务,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一蝉绷、第九天 我趴在偏房一處隱蔽的房頂上張望鸭廷。 院中可真熱鬧,春花似錦熔吗、人聲如沸辆床。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽讼载。三九已至,卻和暖如春中跌,著一層夾襖步出監(jiān)牢的瞬間咨堤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工漩符, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留一喘,地道東北人。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓嗜暴,卻偏偏與公主長得像凸克,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子闷沥,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容