數(shù)據(jù)挖掘入門與實(shí)戰(zhàn) 公眾號: datadw
python版本:3.4
最近在學(xué)習(xí)基于python的股票數(shù)據(jù)分析,其中主要用到了tushare和seaborn。tushare是一款財(cái)經(jīng)類數(shù)據(jù)接口包,國內(nèi)的股票數(shù)據(jù)還是比較全的,官網(wǎng)地址:http://tushare.waditu.com/index.html#id5。seaborn則是一款繪圖庫,通過seaborn可以輕松地畫出簡潔漂亮的圖表,而且?guī)毂旧砭哂幸欢ǖ慕y(tǒng)計(jì)功能。
導(dǎo)入的模塊:
import matplotlib.pyplot as plt
import seaborn as sns
import seaborn.linearmodels as snsl
from datetime import datetime
import tushare as ts
代碼部分:
股票收盤價(jià)走勢曲線
sns.set_style("whitegrid")
end = datetime.today() #開始時(shí)間結(jié)束時(shí)間,選取最近一年的數(shù)據(jù)
start = datetime(end.year-1,end.month,end.day)
end = str(end)[0:10]
start = str(start)[0:10]
stock = ts.get_hist_data('300104',start,end)#選取一支股票
stock['close'].plot(legend=True ,figsize=(10,4))
plt.show()
股票日線
同理,可以做出5日均線、10日均線以及20日均線
stock[['close','ma5','ma10','ma20']].plot(legend=True ,figsize=(10,4))
日線、5日均線、10日均線、20日均線
股票每日漲跌幅度
stock['Daily Return'] = stock['close'].pct_change()
stock['Daily Return'].plot(legend=True,figsize=(10,4))
每日漲跌幅
核密度估計(jì)
sns.kdeplot(stock['Daily Return'].dropna())
核密度估計(jì)
核密度估計(jì)+統(tǒng)計(jì)柱狀圖
sns.distplot(stock['Daily Return'].dropna(),bins=100)
核密度+柱狀圖
兩支股票的皮爾森相關(guān)系數(shù)
sns.jointplot(stock['Daily Return'],stock['Daily Return'],alpha=0.2)
皮爾森相關(guān)系數(shù)
多只股票相關(guān)性計(jì)算
stock_lis=['300113','300343','300295','300315`] #隨便選取了四支互聯(lián)網(wǎng)相關(guān)的股票
df=pd.DataFrame()
for stock in stock_lis: closing_df = ts.get_hist_data(stock,start,end)['close'] df = df.join(pd.DataFrame({stock:closing_df}),how='outer')
tech_rets = df.pct_change()
snsl.corrplot(tech_rets.dropna())
相關(guān)性
簡單地計(jì)算股票的收益與風(fēng)險(xiǎn),衡量股票收益與風(fēng)險(xiǎn)的數(shù)值分別為股票漲跌的平均值以及標(biāo)準(zhǔn)差,平均值為正則說明收益是正的,標(biāo)準(zhǔn)差越大則說明股票波動大,風(fēng)險(xiǎn)也大。
rets = tech_rets.dropna()
plt.scatter(rets.mean(),rets.std())
plt.xlabel('Excepted Return')
plt.ylabel('Risk')
for label,x,y in zip(rets.columns,rets.mean(),rets.std()):#添加標(biāo)注 plt.annotate( label, xy =(x,y),xytext=(15,15), textcoords = 'offset points', arrowprops = dict(arrowstyle = '-',connectionstyle = 'arc3,rad=-0.3'))
數(shù)據(jù)挖掘入門與實(shí)戰(zhàn)
教你機(jī)器學(xué)習(xí),教你數(shù)據(jù)挖掘
公眾號: weic2c
據(jù)分析入門與實(shí)戰(zhàn)
聯(lián)系客服