Python數(shù)據(jù)分析:股票數(shù)據(jù)

最近股市比較火,我7月初上車了官册,現(xiàn)在已經(jīng)下了生兆。中間雖然吃了點(diǎn)肉,但下車的時候都虧進(jìn)去了膝宁,最后連點(diǎn)湯都沒喝著鸦难。

這篇文章我們就用它python 對股票數(shù)據(jù)做個簡單的分析。數(shù)據(jù)集是從1999年到2016年上海證券交易所的1095只股票员淫。

共1000個文件合蔽。

我們的分析思路大致如下:

每年新發(fā)股票數(shù)

目前市值最大的公司有哪些

股票一段時間的漲跌幅如何

牛市的時候,個股表現(xiàn)如何

首先導(dǎo)入模塊

importpandasaspdimportnumpyasnpimportosimportseabornassnsimportmatplotlib.pyplotasplt# 繪圖顯示中文plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False

用 pandas 讀文件

file_list =os.listdir('./data/a-share/')pieces = []forfile_nameinfile_list:path='./data/a-share/%s'% file_name? ? file = pd.read_csv(path, encoding ='gb2312')? ? pieces.append(file)? ? shares = pd.concat(pieces)

使用 read_csv 讀文件的時候需要指定文件編碼 encoding ='gb2312' 介返。將各個文件的 DataFrame 合并后拴事,將索引重置一下,并預(yù)覽一下數(shù)據(jù)

shares.reset_index(inplace=True,drop=True)shares.head()

這里我們最關(guān)注的就是 日期 圣蝎、 代碼 刃宵、 簡稱 、 收盤價 捅彻。

按照分析思路组去,我們首先來看看上市公司的總數(shù)

len(shares['代碼'].unique())

對股票代碼去重、計數(shù)可以看到一共有 1095 家上市公司步淹。那我們再看看每年新增的上市公司有多少家

# 計算每只股票的最早交易時間(即:上市時間)shares_min_date = shares.groupby('簡稱').agg({'日期':'min'})shares_min_date['上市年份'] = shares_min_date['日期'].apply(lambda x:str(x)[:4])# 每年上市公司的數(shù)量shares_min_date.groupby('上市年份').count().plot()

可以看到,多的時候每年 60-80 家诚撵,而 05年-13年 這段時間上市后的公司特別少缭裆,尤其是 13年 只有1家,原因是13年暫停了IPO寿烟。

下面我們再來看看數(shù)據(jù)集中最新的時間點(diǎn)(2016-06-08)澈驼,市值較大的公司有哪些

shares_market_value = shares[shares['日期'] =='2016-06-08'][['簡稱','總市值(元)']].sort_values(by='總市值(元)', ascending=False)# 市值最大的公司 top10tmp_df = shares_market_value.head(10)# 畫圖sns.barplot(x=tmp_df['總市值(元)'], y=tmp_df['簡稱'])

截至16年6月8號,工商銀行(愛存不存)的市值最高1.5萬億筛武,不愧是宇宙第一大行缝其。并且能發(fā)現(xiàn)市值前十的公司大部分是銀行挎塌。

下面再來看看,從 11.06.09 - 16.06.08 5年時間里個股漲跌情況内边。起點(diǎn)選 11.06.09 的原因是這一天包含了900左右只股票榴都,樣本較大。然后漠其,我們抽取這兩天股票的收盤價嘴高,計算漲跌幅

shares_110609 = shares[shares['日期'] == '2011-06-09'][['代碼', '簡稱', '收盤價(元)']]shares_160609 = shares[shares['日期'] == '2016-06-08'][['代碼', '收盤價(元)']]# 按照股票代碼將2天數(shù)據(jù)關(guān)聯(lián)shares_price = shares_110609.merge(shares_160609, on='代碼')shares_price

一共有 879 只股票

# 多少家股票是上漲的shares_price[shares_price['漲跌幅(%)'] >0].count()

# 多少家股票是上漲的shares_price[shares_price['漲跌幅(%)'] <0].count()

可以看到,上漲的股票 627 只和屎,占比 71% 拴驮。那我們再來看看,上漲的股票柴信,漲幅分布情況

bins = np.array([0,40,70,100,1700])# 股價上漲的公司shares_up = shares_price[shares_price['漲跌幅(%)'] >0]# 按漲幅進(jìn)行分組shares_up['label'] = pd.cut(shares_up['漲跌幅(%)'], bins)# 分組統(tǒng)計up_label_count = shares_up[['label','代碼']].groupby('label').count()up_label_count['占比'] = up_label_count['代碼'] / up_label_count.sum().valuessns.barplot(x=up_label_count['占比'], y=up_label_count.index)

漲幅分布還是比較極端的套啤,雖然上漲的股票總體比較高,但上漲的股票中有30%只股票漲幅不足 40% 随常,也就是平均一年漲 8% 纲岭,如果理財年收益 10% 算及格的話, 8% 明顯偏低了线罕。再加上跌的股票止潮,收益率低于 10% 的股票大于 50% ,所以股市的錢也不是那么好掙的钞楼。

當(dāng)然也有踩狗屎運(yùn)的時候喇闸,比如買到了下面這些股票并且長期持有

# 漲幅最大的公司tmp_df = shares_up.sort_values(by='漲跌幅(%)',ascending=False)[:8]sns.barplot(y=tmp_df['簡稱'], x=tmp_df['漲跌幅(%)'])

像 金證股份 持有5年后可以翻16倍。

同樣的方式询件,我們可以看看股票跌幅分布

因為代碼類似燃乍,這里就不貼了。從數(shù)據(jù)上將近 70% 的股票5年后跌幅在 0-40% 的區(qū)間宛琅。

最后一個有意思的數(shù)據(jù)刻蟹,我們看看牛市的時候個股漲跌是怎么樣的。我們選擇 14.06.30 和 15.06.08 這兩天個股的漲跌情況嘿辟。分析思路跟上面類似舆瘪,我就直接說數(shù)據(jù)了。

牛市期間 99.6% 的股票都是漲的红伦,也就是說個股基本都在上漲英古。來看看漲幅分布

可以看到, 86% 只股票翻了一番昙读,所以牛市來了召调,基本上閉著眼選股都能掙錢。也不知道這種大牛市什么時候能再來一次,當(dāng)然了唠叛,牛市來了能不能把握住是個大問題只嚣。

我的分析就到這里了,其實(shí)分析有意思的數(shù)據(jù)還有很多艺沼,比如結(jié)合一些 市盈率 等其他維度進(jìn)行分析册舞,有興趣的朋友可以自行探索,我覺得還有一個更有挑戰(zhàn)性的分析是預(yù)測個股的走勢澳厢,雖然實(shí)踐上不可行环础,但從學(xué)習(xí)角度來看還是挺值得研究的,如果大家點(diǎn)贊較多剩拢,我下周考慮寫一下线得。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市徐伐,隨后出現(xiàn)的幾起案子贯钩,更是在濱河造成了極大的恐慌,老刑警劉巖办素,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件角雷,死亡現(xiàn)場離奇詭異,居然都是意外死亡性穿,警方通過查閱死者的電腦和手機(jī)勺三,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來需曾,“玉大人吗坚,你說我怎么就攤上這事〈敉颍” “怎么了商源?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谋减。 經(jīng)常有香客問我牡彻,道長,這世上最難降的妖魔是什么出爹? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任庄吼,我火速辦了婚禮,結(jié)果婚禮上以政,老公的妹妹穿的比我還像新娘霸褒。我一直安慰自己,他們只是感情好盈蛮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著技矮,像睡著了一般抖誉。 火紅的嫁衣襯著肌膚如雪殊轴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天袒炉,我揣著相機(jī)與錄音旁理,去河邊找鬼。 笑死我磁,一個胖子當(dāng)著我的面吹牛孽文,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播夺艰,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼芋哭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了郁副?” 一聲冷哼從身側(cè)響起减牺,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎存谎,沒想到半個月后拔疚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡既荚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年稚失,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恰聘。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡句各,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出憨琳,到底是詐尸還是另有隱情诫钓,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布篙螟,位于F島的核電站菌湃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏遍略。R本人自食惡果不足惜惧所,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绪杏。 院中可真熱鬧下愈,春花似錦、人聲如沸蕾久。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至履因,卻和暖如春障簿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背栅迄。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工站故, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人毅舆。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓西篓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親憋活。 傳聞我的和親對象是個殘疾皇子岂津,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348