<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用這個庫,輕松繪制股票K線圖

          共 2838字,需瀏覽 6分鐘

           ·

          2021-05-11 07:29


          大家好,歡迎來到 Crossin的編程教室 !

          有不少同學給我留言說希望講一講Python在股票基金分析方面的相關技術。

          那說到股票基金就不得不提——K線圖!這是所有技術分析的基礎。

          那我們今天就跟大家聊一聊:

          如何用python來輕松繪制高顏值的K線圖


          獲取股票交易數據



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

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

          如果我們要特意去動手去寫爬蟲,就顯得有些多余了,因為Python的第三庫里已經有現成的工具,比如tushare 、akshare等等金融數據接口。之前的案例中我們用過幾次 tushare,這次我們用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)

          額,跟我們平常看到的K線圖相差有點大啊。我們再改一點點參數吧。

          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線圖吧!

          本文相關代碼:
          https://pan.baidu.com/s/12eU_zLflh0Rgg6tCGnoMqQ 
          提取碼:kxpy

          如果文章對你有幫助,歡迎轉發(fā)/點贊/收藏~

          作者:朱小五

          來源:凹凸數據


          _往期文章推薦_

          Python分析基金定投選星期幾更劃算?




          如需了解付費精品課程教學答疑服務
          請在Crossin的編程教室內回復: 666

          瀏覽 152
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美操逼一级 | 亚洲黄色在线免费观看 | 国产精品久久久久久久久久久久久久久久久 | 久热精品视频在线播放 | 人妻无码免费视频 |