Python量化基礎:繪制K線圖「代碼複制可用」

天天見聞 天天見聞 2024-11-28 财經 閱讀: 13
摘要: 因此我們有必要學習一下如何使用Python繪制K線圖。

不管是對量化分析師還是普通的投資者來說,K線圖(蠟燭圖)都是一種很經典、很重要的工具。在K線圖中,它會繪制每天的最高價、最低價、開盤價和收盤價,這對于我們理解股票的趨勢以及每天的多空對比很有幫助。

一般來說,我們會從各大券商平台獲取K線圖,但是這種情況下獲得的K線圖往往不能靈活調整,也不能适應複雜多變的生産需求。因此我們有必要學習一下如何使用繪制K線圖。

導入必要庫

需要說明的是,這裡是原來的.,但是現在獨立出來了(而且好像沒什麼人維護更新了),我們将會使用它提供的方法來繪制K線圖;是用來在線獲取股票數據的庫;.中有個()方法可以幫助我們調整坐标軸;.pylab.可以幫助我們将日期數據進行必要的轉化。

import mpl_finance
import tushare as ts
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from matplotlib import ticker
from matplotlib.pylab import date2num
import numpy as np
sns.set()
pro = ts.pro_api()

Python量化基礎:繪制K線圖「代碼複制可用」

獲取行情數據

我們以上證綜指18年9月份以來的行情為例。

Python量化基礎:繪制K線圖「代碼複制可用」

繪制K線圖

我們先使用繪制一下,看看是否一切正常。

fig, ax = plt.subplots(figsize=(10,5))
mpl_finance.candlestick_ochl(
ax=ax,
quotes=df[['trade_date', 'open', 'close', 'high', 'low']].values,
width=0.7,
colorup='r',
colordown='g',
alpha=0.7)
ax.xaxis_date()
plt.xticks(rotation=30);

Python量化基礎:繪制K線圖「代碼複制可用」

Python量化基礎:繪制K線圖「代碼複制可用」

可以看到,所有的節假日包括周末,在這裡都會顯示為空白,這對于我們圖形的連續性非常不友好,因此我們要解決掉他們。

解決空白問題

def format_date(x,pos):
if x<0 or x>len(date_tickers)-1:
return ''
return date_tickers[int(x)]
date_tickers = df.trade_date2.values
fig, ax = plt.subplots(figsize=(10,5))
ax.xaxis.set_major_formatter(ticker.FuncFormatter(format_date))
mpl_finance.candlestick_ochl(
ax=ax,
quotes=df[['dates', 'open', 'close', 'high', 'low']].values,
width=0.7,
colorup='r',
colordown='g',
alpha=0.7)
ax.set_title('上證綜指K線圖(2018.9-)', fontsize=20);

Python量化基礎:繪制K線圖「代碼複制可用」

Python量化基礎:繪制K線圖「代碼複制可用」

可以看到,空白問題完美解決,這裡我們解釋一下。由于會将日期數據理解為連續數據,而連續數據之間的間距是有意義的,所以非交易日即使沒有數據,在坐标軸上還是會體現出來。連續多少個非交易日,在坐标軸上就對應了多少個小格子,但這些小格子上方并沒有相應的蠟燭圖。

明白了它的原理,我們就可以對症下藥了。我們可以給橫坐标(日期)傳入連續的、固定間距的數據,先保證K線圖的繪制是連續的;然後生成一個保存有正确日期數據的列表,接下來,我們根據坐标軸上的數據去取對應的正确的日期,并替換為坐标軸上的标簽即可。

上邊函數就是這個作用。由于前邊我們給dates列生成了從0開始的序列連續數據,因此我們可以直接把它當作索引,從真正的日期列表裡去取對應的數據。在這裡我們要使用..()方法,它允許我們指定一個格式化坐标軸标簽的函數,在這個函數裡,我們需要接受坐标軸的值以及位置,并返回自定義的标簽。

你學會了嗎?

你可能想看:

其他相關
湖南好學編程Python培訓靠譜嗎?好學編程值得信賴嗎?

湖南好學編程Python培訓靠譜嗎?好學編程值得信賴嗎?

作者: 天天見聞 時間:2024-10-15 閱讀: 35
湖南好學編程Python培訓靠譜嗎?好學編程值得信賴嗎?相信很多想學習充電的人都有這個疑問,今天小編來和大家認真聊聊! 如何判斷一家培訓機構是否可靠?其實很簡單,隻要我們親身去體驗就足夠了。專注Python教育培訓的好學編程,為對線上課感興趣的小夥伴準備了豐富的免費試學課程,不僅每天都會有不同領域的老師直播授課,而且授課内容也非常實用。...
開通八脈法

開通八脈法

作者: 天天見聞 時間:2024-10-04 閱讀: 59
開通八脈法,是道家龍門派伍沖虛和柳華陽所創。一吸:會陰之氣上尾闾,經督脈上達百會穴定住。如生死竅(會陰穴)随機(似應為“即”)八脈即被打開了。張紫陽八脈經在論此穴時說:“八脈者先天大道之根,一氣之祖,彩憔在陰跷為先,此脈才通,諸脈皆通,此督、任、沖三脈,總為經脈造化之源。...
三合風水術之陽宅理氣簡訣

三合風水術之陽宅理氣簡訣

作者: 天天見聞 時間:2024-10-05 閱讀: 53
風水術講究“門納旺氣”。1、門的方位:三合風水術以陽宅的七十二龍來衡量四面八方砂水的旺衰。...
老梁閑扯炒股新思路:用換手率和kdj技術指标看“莊”術

老梁閑扯炒股新思路:用換手率和kdj技術指标看“莊”術

作者: 天天見聞 時間:2024-10-05 閱讀: 60
老梁閑扯炒股新思路:用換手率和kdj技術指标看“莊”術中小散戶在炒股時最大的對手應該是莊家,觀看手中的股票品種裡有沒有莊家?盡管我現在悟出了這個看莊技巧,運用還不是很靈活,我現在看一隻股票中有沒有莊家的準确率肯定是炒股百分之60%,這點我是很自信的。...

美學.和田玉籽料做到這6點,别猶豫,立馬拿下!

作者: 天天見聞 時間:2024-10-06 閱讀: 66
都說玩玉就要玩籽料,因為它最符合人們對溫潤美玉的向往。對于籽料來說“十籽九裂”、“十白九松”,這也能說明,細度好的籽料,到底是多麼的難得。皮色,是對籽料最直觀的印象。俗話說:“籽料去了皮,神仙也難認”,說明皮色對籽料鑒定的重要性。如果有一塊籽料,這些方面都達到很不錯的狀态,别猶豫,立馬拿下。...
人老了,不在于運動,不在于喝水,年過 60,牢記 3 句長壽準則

人老了,不在于運動,不在于喝水,年過 60,牢記 3 句長壽準則

作者: 天天見聞 時間:2024-10-06 閱讀: 79
60,牢記這三句長壽準則。六十歲後,人生風雨兼程已曆,此刻維持一顆平和之心,顯得尤為關鍵與重要。第二句準則:飲食均衡似多彩畫卷。60,牢記心态平和、飲食均衡、适度社交這三句長壽準則,就像擁有了三把打開長壽之門的鑰匙。讓我們在人生的後半程,以平和的心态、均衡的飲食、适度的社交,書寫屬于自己的長壽篇章。...
我來說兩句

年度爆文