PythonStock(16):使用bokeh 展示,股票中的16个常用指标
前言
使用Python開發(fā)一個(gè)股票項(xiàng)目。
項(xiàng)目地址:
https://github.com/pythonstock/stock
相關(guān)資料:
http://blog.csdn.net/freewebsys/article/details/78294566
主要使用開發(fā)語言是python。
使用的lib庫是pandas,tushare,TensorFlow,tornado等。
本文的原文連接是: http://blog.csdn.net/freewebsys/article/details/78754179
未經(jīng)博主允許不得轉(zhuǎn)載。
博主地址是:http://blog.csdn.net/freewebsys
1,使用bokeh展示數(shù)據(jù)
上次使用notebook 展示了股票數(shù)據(jù)。
http://blog.csdn.net/freewebsys/article/details/78578548
但是那個(gè)是使用matplotlib 展示的,是默認(rèn)notebook 支持的。
為啥選擇 bokeh 呢,主要是因?yàn)閘ib 庫比起 matplotlib 還是多點(diǎn)的。
而且文檔也豐富,可以操作的比較多。
上次已經(jīng)講這個(gè)集成到股票系統(tǒng)當(dāng)中了?,F(xiàn)在只要根據(jù)股票數(shù)據(jù)。
將數(shù)據(jù)展示出來就行了。
2,主要的圖標(biāo)函數(shù)
p1 = figure(width=1000, height=150, x_axis_type="datetime")# add renderersstockStat["date"] = pd.to_datetime(stockStat.index.values)# ["volume","volume_delta"]# 設(shè)置20個(gè)顏色循環(huán),顯示0 2 4 6 號(hào)序列。p1.line(stockStat["date"], stockStat[val], color=Category20[20][key * 2])# Set date format for x axis 格式化。p1.xaxis.formatter = DatetimeTickFormatter(hours=["%Y-%m-%d"], days=["%Y-%m-%d"],months=["%Y-%m-%d"], years=["%Y-%m-%d"])# p1.xaxis.major_label_orientation = radians(30) #可以旋轉(zhuǎn)一個(gè)角度。
研究這個(gè)函數(shù),比較特殊。
重新定義樓下 date 字段,轉(zhuǎn)換成 pandas 的時(shí)間。
然后設(shè)置x 軸的格式化函數(shù):
設(shè)置 figure的大小是 1000 X 150 一個(gè)長(zhǎng)條顯示股票數(shù)據(jù)。
然后就是循環(huán)每一個(gè)數(shù)據(jù)統(tǒng)計(jì)的表格了。
# 配置數(shù)據(jù) indicators_dic = [{"title": "1,交易量delta指標(biāo)分析","desc": "The Volume Delta (Vol ?) ","dic": ["volume", "volume_delta"]}, {"title": "2,計(jì)算n天差","desc": "可以計(jì)算,向前n天,和向后n天的差。","dic": ["close", "close_1_d", "close_2_d", "close_-1_d", "close_-2_d"]}, {"title": "3,n天漲跌百分百計(jì)算","desc": "可以看到,-n天數(shù)據(jù)和今天數(shù)據(jù)的百分比。","dic": ["close", "close_-1_r", "close_-2_r"]}, {"title": "4,CR指標(biāo)","desc": """http://wiki.mbalib.com/wiki/CR%E6%8C%87%E6%A0%87 價(jià)格動(dòng)量指標(biāo)4. CR跌穿a、b、c、d四條線,再由低點(diǎn)向上爬升160時(shí),為短線獲利的一個(gè)良機(jī),應(yīng)適當(dāng)賣出股票。5. CR跌至40以下時(shí),是建倉良機(jī)。而CR高于300~400時(shí),應(yīng)注意適當(dāng)減倉。""","dic": ["close","cr","cr-ma1","cr-ma2","cr-ma3"]}, {"title": "5,最大值,最小值","desc": """計(jì)算區(qū)間最大值volume max of three days ago, yesterday and two days laterstock["volume_-3,2,-1_max"]volume min between 3 days ago and tomorrowstock["volume_-3~1_min"]實(shí)際使用的時(shí)候使用 -2~2 可計(jì)算出5天的最大,最小值。""","dic": ["volume","volume_-2~2_max","volume_-2~2_min"]}, {"title": "5,KDJ指標(biāo)","desc": """http://wiki.mbalib.com/wiki/%E9%9A%8F%E6%9C%BA%E6%8C%87%E6%A0%87隨機(jī)指標(biāo)(KDJ)一般是根據(jù)統(tǒng)計(jì)學(xué)的原理,通過一個(gè)特定的周期(常為9日、9周等)內(nèi)出現(xiàn)過的最高價(jià)、最低價(jià)及最后一個(gè)計(jì)算周期的收盤價(jià)及這三者之間的比例關(guān)系,來計(jì)算最后一個(gè)計(jì)算周期的未成熟隨機(jī)值RSV,然后根據(jù)平滑移動(dòng)平均線的方法來計(jì)算K值、D值與J值,并繪成曲線圖來研判股票走勢(shì)。(3)在使用中,常有J線的指標(biāo),即3乘以K值減2乘以D值(3K-2D=J),其目的是求出K值與D值的最大乖離程度,以領(lǐng)先KD值找出底部和頭部。J大于100時(shí)為超買,小于10時(shí)為超賣。""","dic": ["close","kdjk","kdjd","kdjj"]}, {"title": "6,SMA指標(biāo)","desc": """http://wiki.mbalib.com/wiki/Sma簡(jiǎn)單移動(dòng)平均線(Simple Moving Average,SMA)可以動(dòng)態(tài)輸入?yún)?shù),獲得幾天的移動(dòng)平均。""","dic": ["close","close_5_sma","close_10_sma"]}, {"title": "7,MACD指標(biāo)","desc": """http://wiki.mbalib.com/wiki/MACD平滑異同移動(dòng)平均線(Moving Average Convergence Divergence,簡(jiǎn)稱MACD指標(biāo)),也稱移動(dòng)平均聚散指標(biāo)MACDstock["macd"]MACD signal linestock["macds"]MACD histogramstock["macdh"]MACD技術(shù)分析,運(yùn)用DIF線與MACD線之相交型態(tài)及直線棒高低點(diǎn)與背離現(xiàn)象,作為買賣訊號(hào),尤其當(dāng)市場(chǎng)股價(jià)走勢(shì)呈一較為明確波段趨勢(shì)時(shí),MACD 則可發(fā)揮其應(yīng)有的功能,但當(dāng)市場(chǎng)呈牛皮盤整格局,股價(jià)不上不下時(shí),MACD買賣訊號(hào)較不明顯。當(dāng)用MACD作分析時(shí),亦可運(yùn)用其他的技術(shù)分析指標(biāo)如短期 K,D圖形作為輔助工具,而且也可對(duì)買賣訊號(hào)作雙重的確認(rèn)。""","dic": ["close","macd","macds","macdh"]}, {"title": "8,BOLL指標(biāo)","desc": """http://wiki.mbalib.com/wiki/BOLL布林線指標(biāo)(Bollinger Bands)bolling, including upper band and lower bandstock["boll"]stock["boll_ub"]stock["boll_lb"]1、當(dāng)布林線開口向上后,只要股價(jià)K線始終運(yùn)行在布林線的中軌上方的時(shí)候,說明股價(jià)一直處在一個(gè)中長(zhǎng)期上升軌道之中,這是BOLL指標(biāo)發(fā)出的持股待漲信號(hào),如果TRIX指標(biāo)也是發(fā)出持股信號(hào)時(shí),這種信號(hào)更加準(zhǔn)確。此時(shí),投資者應(yīng)堅(jiān)決持股待漲。2、當(dāng)布林線開口向下后,只要股價(jià)K線始終運(yùn)行在布林線的中軌下方的時(shí)候,說明股價(jià)一直處在一個(gè)中長(zhǎng)期下降軌道之中,這是BOLL指標(biāo)發(fā)出的持幣觀望信號(hào),如果TRIX指標(biāo)也是發(fā)出持幣信號(hào)時(shí),這種信號(hào)更加準(zhǔn)確。此時(shí),投資者應(yīng)堅(jiān)決持幣觀望。""","dic": ["close","boll","boll_ub","boll_lb"]}, {"title": "9,RSI指標(biāo)","desc": """http://wiki.mbalib.com/wiki/RSI相對(duì)強(qiáng)弱指標(biāo)(Relative Strength Index,簡(jiǎn)稱RSI),也稱相對(duì)強(qiáng)弱指數(shù)、相對(duì)力度指數(shù)6 days RSIstock["rsi_6"]12 days RSIstock["rsi_12"](2)強(qiáng)弱指標(biāo)保持高于50表示為強(qiáng)勢(shì)市場(chǎng),反之低于50表示為弱勢(shì)市場(chǎng)。(3)強(qiáng)弱指標(biāo)多在70與30之間波動(dòng)。當(dāng)六日指標(biāo)上升到達(dá)80時(shí),表示股市已有超買現(xiàn)象,如果一旦繼續(xù)上升,超過90以上時(shí),則表示已到嚴(yán)重超買的警戒區(qū),股價(jià)已形成頭部,極可能在短期內(nèi)反轉(zhuǎn)回轉(zhuǎn)。(4)當(dāng)六日強(qiáng)弱指標(biāo)下降至20時(shí),表示股市有超賣現(xiàn)象,如果一旦繼續(xù)下降至10以下時(shí)則表示已到嚴(yán)重超賣區(qū)域,股價(jià)極可能有止跌回升的機(jī)會(huì)。""","dic": ["close","rsi_6","rsi_12"]}, {"title": "10,WR指標(biāo)","desc": """http://wiki.mbalib.com/wiki/%E5%A8%81%E5%BB%89%E6%8C%87%E6%A0%87威廉指數(shù)(Williams%Rate)該指數(shù)是利用擺動(dòng)點(diǎn)來度量市場(chǎng)的超買超賣現(xiàn)象。10 days WRstock["wr_10"]6 days WRstock["wr_6"]""","dic": ["close","wr_10","wr_6"]}, {"title": "11,CCI指標(biāo)","desc": """http://wiki.mbalib.com/wiki/%E9%A1%BA%E5%8A%BF%E6%8C%87%E6%A0%87順勢(shì)指標(biāo)又叫CCI指標(biāo),其英文全稱為“Commodity Channel Index”,是由美國(guó)股市分析家唐納德·藍(lán)伯特(Donald Lambert)所創(chuàng)造的,是一種重點(diǎn)研判股價(jià)偏離度的股市分析工具。CCI, default to 14 daysstock["cci"]20 days CCIstock["cci_20"]1、當(dāng)CCI指標(biāo)從下向上突破﹢100線而進(jìn)入非常態(tài)區(qū)間時(shí),表明股價(jià)脫離常態(tài)而進(jìn)入異常波動(dòng)階段,中短線應(yīng)及時(shí)買入,如果有比較大的成交量配合,買入信號(hào)則更為可靠。2、當(dāng)CCI指標(biāo)從上向下突破﹣100線而進(jìn)入另一個(gè)非常態(tài)區(qū)間時(shí),表明股價(jià)的盤整階段已經(jīng)結(jié)束,將進(jìn)入一個(gè)比較長(zhǎng)的尋底過程,投資者應(yīng)以持幣觀望為主。""","dic": ["close","cci","cci_20"]}, {"title": "12,TR、ATR指標(biāo)","desc": """http://wiki.mbalib.com/wiki/%E5%9D%87%E5%B9%85%E6%8C%87%E6%A0%87均幅指標(biāo)(Average True Ranger,ATR)均幅指標(biāo)(ATR)是取一定時(shí)間周期內(nèi)的股價(jià)波動(dòng)幅度的移動(dòng)平均值,主要用于研判買賣時(shí)機(jī)。TR (true range)stock["tr"]ATR (Average True Range)stock["atr"]均幅指標(biāo)無論是從下向上穿越移動(dòng)平均線,還是從上向下穿越移動(dòng)平均線時(shí),都是一種研判信號(hào)。""","dic": ["close","tr","atr"]}, {"title": "13,DMA指標(biāo)","desc": """http://wiki.mbalib.com/wiki/DMADMA指標(biāo)(Different of Moving Average)又叫平行線差指標(biāo),是目前股市分析技術(shù)指標(biāo)中的一種中短期指標(biāo),它常用于大盤指數(shù)和個(gè)股的研判。DMA, difference of 10 and 50 moving averagestock["dma"]""","dic": ["close","dma"]}, {"title": "14,DMI,+DI,-DI,DX,ADX,ADXR指標(biāo)","desc": """http://wiki.mbalib.com/wiki/DMI動(dòng)向指數(shù)Directional Movement Index,DMI)http://wiki.mbalib.com/wiki/ADX平均趨向指標(biāo)(Average Directional Indicator,簡(jiǎn)稱ADX)http://wiki.mbalib.com/wiki/%E5%B9%B3%E5%9D%87%E6%96%B9%E5%90%91%E6%8C%87%E6%95%B0%E8%AF%84%E4%BC%B0平均方向指數(shù)評(píng)估(ADXR)實(shí)際是今日ADX與前面某一日的ADX的平均值。ADXR在高位與ADX同步下滑,可以增加對(duì)ADX已經(jīng)調(diào)頭的盡早確認(rèn)。ADXR是ADX的附屬產(chǎn)品,只能發(fā)出一種輔助和肯定的訊號(hào),并非入市的指標(biāo),而只需同時(shí)配合動(dòng)向指標(biāo)(DMI)的趨勢(shì)才可作出買賣策略。在應(yīng)用時(shí),應(yīng)以ADX為主,ADXR為輔。""","dic": ["close","pdi","mdi","dx","adx","adxr"]}, {"title": "15,TRIX,MATRIX指標(biāo)","desc": """http://wiki.mbalib.com/wiki/TRIXTRIX指標(biāo)又叫三重指數(shù)平滑移動(dòng)平均指標(biāo)(Triple Exponentially Smoothed Average)""","dic": ["close","trix","trix_9_sma"]}, {"title": "16,VR,MAVR指標(biāo)","desc": """http://wiki.mbalib.com/wiki/%E6%88%90%E4%BA%A4%E9%87%8F%E6%AF%94%E7%8E%87成交量比率(Volumn Ratio,VR)(簡(jiǎn)稱VR),是一項(xiàng)通過分析股價(jià)上升日成交額(或成交量,下同)與股價(jià)下降日成交額比值,從而掌握市場(chǎng)買賣氣勢(shì)的中期技術(shù)指標(biāo)。VR, default to 26 daysstock["vr"]MAVR is the simple moving average of VRstock["vr_6_sma"]""","dic": ["close","vr","vr_6_sma"]} ]定義一個(gè)字典,然后使用循環(huán)去計(jì)算。
3,數(shù)據(jù)展示
展示的還是挺漂亮的。
顏色從 https://bokeh.pydata.org/en/latest/docs/reference/palettes.html
選擇了一個(gè) Category20 的顏色。
保證每一個(gè)線都是不同顏色。漂亮點(diǎn)。
4,總結(jié)
bokeh 是一個(gè)非常方便的類庫。
使用js在 頁面當(dāng)中展示數(shù)據(jù)報(bào)表,并且也非常漂亮。
本文的原文連接是: http://blog.csdn.net/freewebsys/article/details/78754179
未經(jīng)博主允許不得轉(zhuǎn)載。
博主地址是:http://blog.csdn.net/freewebsys
總結(jié)
以上是生活随笔為你收集整理的PythonStock(16):使用bokeh 展示,股票中的16个常用指标的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么删掉计算机云u盘,win10系统删除
- 下一篇: Python 当前时间是那一年第几周的周