厲害了,股票K線圖還能這麼畫!

大家好,我是小五🐶

發現大家還是最喜歡股票基金話題呀~

那說到股票基金就不得不提——K線圖

那小五今天就帶大家👉

python來輕鬆繪製高顏值的K線圖🚀


獲取股票交易數據



巧婦難爲無米之炊,做可視化也離不開數據。

本文我將以醬香型科技——貴州茅臺爲例,獲取它的近期股票數據並繪製K線圖。

如果我們要特意去動手去寫爬蟲,就顯得有些多餘了,畢竟爬完之後體驗也不佳。

這裏我們可以直接使用tushare 、akshare等等金融數據接口,個人非常安利akshare!畢竟它不需要積分呀

如果沒安裝記得安裝吼

pip install akshare

運行以下語句,即可得到貴州茅臺(600519)的歷史數據。

import akshare as ak
df = ak.stock_zh_a_daily(symbol="sh600519", adjust="qfq")
df.tail()

這樣我們就獲取到了所需的數據。

注:ak.stock_zh_a_daily()函數,單次返回指定 A 股上市公司指定日期間的歷史行情日頻率數據。其中參數adjust="qfq",返回前復權後的數據。

爲了方便後面可視化,我們還需要使用索引選擇固定的行列。

df = df.iloc[-20:,0:5]

這樣就只篩選了開盤價、最高價、最低價、收盤價以及交易量的近期數據,下面開始用python製作高顏值的K線圖。


繪製K線圖



K線圖,又稱蠟燭圖。

通常包含四個數據,即開盤價、最高價、最低價、收盤價,所有的k線都是圍繞這四個數據展開,從而反映大勢的狀況和價格信息。如果把每日的K線圖放在一張紙上,就能得到日K線圖,同樣也可畫出周K線圖、月K線圖。一般它長這樣👇

目前看其他文章製作K線圖時,通常都是以pyecharts爲主。但今天小五想給大家安利一個庫——mplfinance

https://github.com/matplotlib/mplfinance

它原本是是Matplotlib的子模塊,現被剝離成爲一個獨立的庫。

導入庫後,只需一行代碼就可以生成K線圖啦!

import mplfinance as mpf

mpf.plot(data=df)

額,相差較大,我們再改一點點參數吧。

mpf.plot(
    data=df,
    type='candle',
    mav=(369), 
    volume=True,
    show_nontrading=True
    )

用了幾個參數後,顏值還不錯吧。下面就帶大家詳解一下上文用到或者沒用到的參數👇


參數詳解



matplotlib庫繪製K線圖的主要參數如下所示:

mpf.plot(data, type, title, ylabel, style, volume, ylabel_lower, show_nontrading, figratio, mav)

  • data: 數據需要有'Open','High','Low','Close'等字段。
  • volume: True表示添加成交量,默認False
  • type: 圖表類型,可選值包含:'ohlc', 'candle', 'line', 'renko', 'pnf'
  • title: 標題
  • ylabel: 縱軸標籤
  • ylabel_lower: 成交量的Y軸標籤
  • show_nontrading: 是否顯示非交易日,默認False
  • figratio: 控制圖表大小的元組
  • mav: 是否添加移動平均線
  • style: 各種內置樣式

這裏就不一一詳細介紹了,大家感興趣的話可以自己更改參數查看效果。

最後給大家展示一下各種style樣式的效果👇




解決中文亂碼



另外,我們在使用Matplotlib可視化時,會遇到中文亂碼問題,一般用以下語句輕鬆解決:

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus'] = False  # 用來正常顯示負號

同理,我們也可提前設置mplfinance的style裏的字體格式,從而能夠展示中文標題、標籤等。

style = mpf.make_mpf_style(base_mpf_style='default', rc={'font.family''SimHei'})

mpf.plot(
    data=df,
    type='candle',
    title="貴州茅臺股票K線圖",
    ylabel="價格",
    ylabel_lower="成交量",
    mav=(369), 
    volume=True,
    show_nontrading=True,
    style=style)

這樣就解決了mplfinance可視化的中文亂碼問題。

以上就是小五分享給大家的小技巧了,快來一起用python來輕鬆繪製高顏值的K線圖吧!🚀

如果喜歡我的文章,求點贊支持一波。

如果對文中代碼感興趣,可以點擊下方卡片,在「快學Python」👇後臺回覆“K線圖”一鍵獲取


基於股票大數據分析的Python入門實戰本書針對Python零基礎的用戶,主要講解大量的股票指標技術分析的範例,由淺入深地介紹了使用Python語言編程開發的應用“圖譜”。點擊下圖可看詳情/購買!👇

感謝清華大學出版社的贊助與支持!點擊閱讀原文 300幣 免費兌換!

本文分享自微信公衆號 - 凹凸數據(alltodata)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章