qstock由“Python金融量化”公眾號開發(fā),,試圖打造成個人量化投研分析開源庫,目前包括數(shù)據(jù)獲?。╠ata),、可視化(plot),、選股(stock)和量化回測(backtest)四個模塊,。其中數(shù)據(jù)模塊(data)數(shù)據(jù)來源于東方財富網(wǎng),、同花順,、新浪財經(jīng)等網(wǎng)上公開數(shù)據(jù),數(shù)據(jù)爬蟲部分參考了現(xiàn)有金融數(shù)據(jù)包tushare,、akshare和efinance,。qstock致力于為用戶提供更加簡潔和規(guī)整化的金融市場數(shù)據(jù)接口??梢暬K基于plotly.express和pyecharts包,,為用戶提供基于web的交互圖形簡單操作接口;選股模塊提供了同花順的技術(shù)選股和公眾號策略選股,包括RPS,、MM趨勢,、財務(wù)指標、資金流模型等,,回測模塊為大家提供向量化(基于pandas)和基于事件驅(qū)動的基本框架和模型,。
https://github.com/tkfy920/qstock。 下面為大家介紹qstock可視化模塊(plot)的調(diào)用方法,。以下代碼使用jupyter notebook編譯,,輸出圖形為基于web的可交互動態(tài)圖。 qstock數(shù)據(jù)篇專題如下: 【qstock開源了】數(shù)據(jù)篇之行情交易數(shù)據(jù) 【qstock數(shù)據(jù)篇】行業(yè)概念板塊與資金流 【qstock量化】數(shù)據(jù)篇之股票基本面數(shù)據(jù) 【qstock量化】數(shù)據(jù)篇之宏觀指標和財經(jīng)新聞文本 import qstock as qs kline(df, mas=5, mal=20, notebook=True,title='股票K線圖') 參數(shù)說明: df:數(shù)據(jù),,包含open,high,low,close,volume列名的dataframe mas:短期均線,,默認5日均線 mal:長期均線,默認20日均線 notebook:True代表在jupyter notebook上顯示,,F(xiàn)alse默認輸出html,,可以保存本地打開。默認為True title:圖形標題 #獲取中國平安2022年至今前復(fù)權(quán)的數(shù)據(jù) HA_kline(df) 參數(shù)df與前面普通k線圖線圖,。 也叫平均K線圖(Heikin-Ashi),具體原理可以參考公眾號推文《【手把手教你】使用Python對股價的Heikin Ashi蠟燭圖進行可視化》,。 普通K線圖中往往存在很多噪聲,,這些噪聲容易掩蓋市場真實趨勢的隨機波動,包括價格和成交量波動,。比如,,對市場影響持續(xù)性較短的新聞事件,以及對技術(shù)指標和市場趨勢解讀等,,都可能造成無意義的短期價格和交易量波動,,這樣的噪聲會對交易者分析市場產(chǎn)生干擾和誤導(dǎo)。為了減少普通K線圖產(chǎn)生的噪聲,,HA蠟燭圖應(yīng)運而生,,HA中的四個價格中,HA開盤價和HA收盤價都是經(jīng)過平均計算得來,,平均化的處理相當于噪聲消除處理,,在一定程度上消除了市場的噪聲,可以更加明確地反映市場價格的走勢,。 plot.HA_kline(df) treemap(data, label, weight, value, color=['Green', 'Red', '#8b0000']) 參數(shù)說明: data:dataframe數(shù)據(jù)格式 label:需要展示的列名或標簽名,,必須是list,如[px.Constant('股票'), '行業(yè)', '股票名稱'] weight:data里存在的列,用來顯示權(quán)重 value:data里存在的列,,用來顯示數(shù)值 color:設(shè)置展示的顏色 #獲取東方財富概念板塊實時漲跌幅數(shù)據(jù) plot_ichimoku(df, t=9, k=26, l=30, s=52) 參數(shù)說明: df為dataframe數(shù)據(jù),包含'open','high','low','close','volume'列,,索引為時間格式,; t:Tenkan-sen:轉(zhuǎn)折線計算周期,默認9個交易日,; k:Kijun-sen:基準線計算周期,,默認26; l:Chikou Span:滯后跨度或延遲線計算周期,,默認30天,; s:Senkou Span B:計算前導(dǎo)跨度B或先行上線B,默認52個交易日,。 Ichimoku,,是一名日本報紙作家提出的,用于衡量動量以及未來價格支撐和阻力區(qū)域的技術(shù)分析指標,,目前被廣泛用于判斷外匯,、期貨、股票,、黃金等投資品種的趨勢和動量,。關(guān)于ichimoku云圖的基本原理詳細以參考公眾號推文:《【手把手教你】Ichimoku云圖指標可視化與交易策略回測》 line(data=None, x=None, y=None, title=None, color=None, line_group=None, facet_col=None, legend=True) 參數(shù):data為series或dataframe的時候,可以不輸入x和y,。x為x坐標軸對應(yīng)數(shù)據(jù),,y為y軸坐標對應(yīng)數(shù)據(jù)。 普通折線圖#獲取中國平安前復(fù)權(quán)價格數(shù)據(jù) stock_line(data=None, x=None, y=None, notebook=True, title=None) 各參數(shù)符號與K線相同,。 對比折線圖df['ma20']=df.close.rolling(20).mean() 全球指數(shù)累計漲幅可視化 #常見的全球指數(shù)名稱 bar(data=None, x=None, y=None, title=None, color=None, legend=False,orientation=None, log_x=False, log_y=False, barmode='group') 參數(shù)說明: title='全球指數(shù)2022年漲跌幅' chart_bar(data=None, x=None, y=None, title=None, notebook=True, zoom=False) x,y均為list,,或者x為dataframe chart_inv_bar(data=None, x=None, y=None, title=None, notebook=True, zoom=False) x,y均為list,,或者x為dataframe plot.chart_inv_bar(rets,title=title,zoom=True) scatter(data=None, x=None, y=None, title=None, color=None, size=None,trend=None, legend=True, marginal_x=None, marginal_y=None) 參數(shù)說明: data=qs.get_data('曉程科技') pie(data=None, x=None, y=None, color=None, title=None, legend=False, hole=None) data為dataframe數(shù)據(jù),value,; 實例:個股主營業(yè)務(wù)占比可視化code='曉程科技' chart_pie(data=None, x=None, y=None, data_pair=None, title=None, notebook=True) 參數(shù)與前面相同 plot.chart_pie(data=df.iloc[:-1],x='分類',y='營業(yè)收入(萬)',title=code+'主營業(yè)務(wù)收入') hist(data=None, x=None, y=None, title=None, color=None, legend=False,orientation=None, log_x=False, log_y=False, barmode='group',histnorm=None) 參數(shù)說明:histnorm={1:'percent',2:'probability',3:'density',4:'probability density'},其他參數(shù)與前面相同,。 hist_kde(data=None, x=None, y=None, kde=True, stat='count', figsize=(15, 7)) 參數(shù)說明:直方圖默認統(tǒng)計的是觀測數(shù),,可以進行統(tǒng)計變化,設(shè)置stat參數(shù),。stat可選參數(shù):count:觀測數(shù)(默認),;frequency:頻數(shù);density:密度;probability:概率;kde=True表示添加核密度曲線,。其他參數(shù)與前面相同,。 #stat可選參數(shù):count:觀測數(shù)(默認);frequency:頻數(shù);density:密度;probability:概率 box(data=None, x=None, y=None, title=None, color=None, legend=False,orientation=None, log_x=False, log_y=False, boxmode=None) 參數(shù)說明與前面同。 #獲取面板數(shù)據(jù) violin(data=None, x=None, y=None, title=None, color=None, legend=False,orientation=None, log_x=False, log_y=False, box=False, points=None) plot.violin(dd,x='name',y='close',color='name',box=True) 小提琴是是箱線圖和核密度圖的集合,,通過箱線思維展示數(shù)據(jù)的各個百分位點,。小提琴圖上的核密度圖展示了數(shù)據(jù)分布的形狀,分布越寬的位置表示數(shù)據(jù)越集中于該處,,反之則說明該處數(shù)據(jù)分布越少,。 plot.violin(dd.query('name=='上證指數(shù)''),y='name',x='close',box=True,orientation='h') chart_heatmap(x, y, v, title=None, notebook=True) x,y分別為xy軸對應(yīng)標簽,,v是對應(yīng)數(shù)據(jù) sh0=qs.get_data('上證指數(shù)').close['2011':'2021'] plot.chart_heatmap_color(x,y,v,title='上證綜指月度收益率') chart_map(data=None, x=None, y=None, data_pair=None, title=None, notebook=True)
#地域板塊最新價格指數(shù) chart_wordcloud(data, title=None, notebook=True) |
|