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