使用matplotlib繪製K線圖以及和成交量的組合圖
matplotlib提供了一些金融圖表主要用於視覺化歷史股票價格,或者類似的金融時間序列資料
在matplotlib.finance的子庫中也提供了獲取歷史資料的函式
版本matplotlib 2.2中,finance會被替換成mpl_finance,但是在2.0版本中
import matplotlib.finance as mpf仍可以使用
data = mpf.quotes_historical_yahoo('code',start, end)
但是web資料來源的資料不足以作為任何重要投資的決策基礎,本文中的資料通過tushare獲取
# -*- coding:utf-8 -*-
import matplotlib as mpl
import tushare as ts
import matplotlib.pyplot as plt
import matplotlib.finance as mpf
%matplotlib inline
# mpf.quotes_historical_yahoo_ohlc('601558.ss', (2014,1,1),(2014,6,6))
# 現在不能正常的從雅虎財經獲取歷史資料了,會出現httpError,本文中的資料通過tushare獲取
# HTTPError: HTTP Error 404: Not Found
wdyx = ts.get_k_data('002739' ,'2017-01-01')
wdyx.info()
wdyx[:3]
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
date | open | close | high | low | volume | code | |
---|---|---|---|---|---|---|---|
0 | 2017-01-03 | 54.010 | 54.070 | 54.110 | 53.711 | 30518.0 | 002739 |
1 | 2017-01-04 | 54.090 | 56.691 | 56.771 | 53.831 | 103953.0 | 002739 |
2 | 2017-01-05 | 56.302 | 56.591 | 57.080 | 55.924 | 65414.0 | 002739 |
# 由於資料不是通過,mpf.candlestick_ohlc()獲取的,所以日期的格式與,繪圖函式的不一致
# tushare回去的資料物件為DataFrame型別
# 所以要將格式轉換為mpf.candlestick_ohlc()能夠處理的浮點數格式
# 匯入兩個涉及的庫
from matplotlib.pylab import date2num
import datetime
# 對tushare獲取到的資料轉換成candlestick_ohlc()方法可讀取的格式
'''
data_list = []
for dates,row in hist_data.iterrows():
# 將時間轉換為數字
date_time = datetime.datetime.strptime(dates,'%Y-%m-%d')
t = date2num(date_time)
open,high,low,close = row[:4]
datas = (t,open,high,low,close)
data_list.append(datas)
'''
def date_to_num(dates):
num_time = []
for date in dates:
date_time = datetime.datetime.strptime(date,'%Y-%m-%d')
num_date = date2num(date_time)
num_time.append(num_date)
return num_time
# dataframe轉換為二維陣列
mat_wdyx = wdyx.as_matrix()
num_time = date_to_num(mat_wdyx[:,0])
mat_wdyx[:,0] = num_time
# 日期, 開盤, 收盤, 最高, 最低, 成交量, 程式碼
mat_wdyx[:3]
array([[736332.0, 54.01, 54.07, 54.11, 53.711, 30518.0, '002739'],
[736333.0, 54.09, 56.691, 56.771, 53.831, 103953.0, '002739'],
[736334.0, 56.302, 56.591, 57.08, 55.924, 65414.0, '002739']], dtype=object)
# 資料列的順序,從左至右是,開盤,收盤,最高,最低,成交量
# matplotlib.finance中有兩個函式,一個是candlestick_ochl(),剛好對應上邊的順序
# 另一個是candlestick_ohlc(),對應的是開盤,最高,最低,收盤的資料格式
# 接下來可以繪製K線圖了
fig, ax = plt.subplots(figsize=(15,5))
fig.subplots_adjust(bottom=0.5)
mpf.candlestick_ochl(ax, mat_wdyx, width=0.6, colorup='g', colordown='r', alpha=1.0)
plt.grid(True)
# 設定日期刻度旋轉的角度
plt.xticks(rotation=30)
plt.title('wanda yuanxian 17')
plt.xlabel('Date')
plt.ylabel('Price')
# x軸的刻度為日期
ax.xaxis_date ()
###candlestick_ochl()函式的引數
# ax 繪圖Axes的例項
# mat_wdyx 價格歷史資料
# width 影象中紅綠矩形的寬度,代表天數
# colorup 收盤價格大於開盤價格時的顏色
# colordown 低於開盤價格時矩形的顏色
# alpha 矩形的顏色的透明度
金融資料每日摘要圖表
開盤價格和收盤價格由兩條水平線表示
fig, ax = plt.subplots(figsize=(15,5))
mpf.plot_day_summary_oclh(ax, mat_wdyx,colorup='g', colordown='r')
plt.grid(True)
ax.xaxis_date()
plt.title('wandayuanxian 17')
plt.ylabel('Price')
k線圖和成交量(柱狀圖)的組合圖表
fig, (ax1, ax2) = plt.subplots(2, sharex=True, figsize=(15,8))
mpf.candlestick_ochl(ax1, mat_wdyx, width=1.0, colorup = 'g', colordown = 'r')
ax1.set_title('wandayuanxian')
ax1.set_ylabel('Price')
ax1.grid(True)
ax1.xaxis_date()
plt.bar(mat_wdyx[:,0]-0.25, mat_wdyx[:,5], width= 0.5)
ax2.set_ylabel('Volume')
ax2.grid(True)
相關推薦
使用matplotlib繪製K線圖以及和成交量的組合圖
matplotlib提供了一些金融圖表主要用於視覺化歷史股票價格,或者類似的金融時間序列資料 在matplotlib.finance的子庫中也提供了獲取歷史資料的函式 版本matplotlib 2.2中
mpandroidchart 繪製K線圖 難點解決-高亮 連線 與 表格對齊
mpandroidchart 繪製K線圖 最少要處理高亮和對齊問題 先來個圖片看下效果 1、對齊 直接說重點,設定表格對齊的屬性,靠右顯示y軸就不說了 YAxis myYAxis = combinedChart.getAxisRight();
Numpy簡單繪製K線圖實現上漲下跌效果圖(Python)
# 將原始資料中日-月-年格式的日期字串轉換為numpy可以處理的年月日格式 def dmy2ymd(dmy): dmy = str(dmy, encoding='utf-8') date = dt.datetime.strptime(dmy, '%d-%m-
一個matplotlib 畫K線圖 +一個高效的畫圖工具Serborn
http://www.financecomputing.net/wordpress/?p=1047 Seaborn Matplotlib是Python主要的繪相簿。但是,我不建議你直接使用它,原因與開始不推薦你使用NumPy是一樣的。雖然Matplot
用Python爬取股票資料,繪製K線和均線並用機器學習預測股價(來自我出的書)
最近我出了一本書,《基於股票大資料分析的Python入門實戰 視訊教學版》,京東連結:https://item.jd.com/69241653952.html,在其中用股票範例講述Python爬蟲、資料分析和機器學習的技術,大家看了我的書,不僅能很快用比較熱門的案例學好Python
Matplotlib學習---用seaborn畫直方圖和核密度圖(histogram & kdeplot)
tro ima 直方圖 subplot 平滑 style 創建 hist detail 由於直方圖受組距(bin size)影響很大,設置不同的組距可能會產生完全不同的可視化結果。因此我們可以用密度平滑估計來更好地反映數據的真實特征。具體可參見這篇文章:https://bl
python畫散點圖以及矩陣散點圖plt.scatter()和pd.scatter_matrix()詳解
plt.scatter() 引數 #plt.scatter() 散點圖 #plt.scatter(x,y,s=20,c = None,marker = 'o',cmap = none,norm = none,vmin = none,vmax = none,al
APP切圖流程和APP切圖命名規範詳細完整版
con hdpi blog desktop src ron 優點 down tableview 轉自:http://www.25xt.com/appdesign/7339.html 我們都知道一套完整的 App 通常會有很多張切圖,不管是 iPhone 需要 1x、2
【Qt開發】更改應用程序圖標和任務欄圖標
資源文件 同時 con 分享圖片 窗口圖標 程序 col 函數 ner 說明 實際開發過程中,生成的應用文件不會用默認的圖標,同時程序啟動後任務欄的圖標也需要修改,還有窗口的圖標,這樣顯得程序不那麽low。更改程序的圖標有多種方式,基於Qt Creator或vs開發的方式
用python的matplotlib和numpy庫繪製股票K線均線和成交量的整合效果(含量化驗證交易策略程式碼)
在用python的matplotlib和numpy庫繪製股票K線均線的整合效果(含從網路介面爬取資料和驗證交易策略程式碼)一文裡,我講述了通過爬蟲介面得到股票資料並繪製出K線均線圖形的方式,在本文裡,將在此基礎上再引入成交量效果圖,並結合量價理論,給出並驗證一些交易策略
利用 python numpy +matplotlib 繪製股票k線圖
# -- coding: utf-8 -- import requests import numpy as np from matplotlib import pyplot as plt from matplotlib import animation fig = plt.figure(figs
用python的matplotlib和numpy庫繪製股票K線均線的整合效果(含從網路介面爬取資料和驗證交易策略程式碼)
本人最近在嘗試著發表“以股票案例入門Python程式語言”系列的文章,在這些文章裡,將用Python工具繪製各種股票指標,在講述各股票指標的含義以及計算方式的同時,驗證基於各種指標的交易策略,本文是第一篇,通過K線和均線案例講述Numpy,Maplotlib
Python視覺化中的Matplotlib(5.直方圖、條形圖以及餅圖的用法和詳細的引數)
1. 直方圖 hist() 直方圖的引數只有一個X import matplotlib.pyplot as plt # 匯入繪圖模組 import numpy as np # 匯入需要生成資料的numpy模組 '
Echarts製作動態K線圖和分時圖
1 K線圖 <!DOCTYPE html> <html lang="en"> <#include "../header.ftl"> <body> <#include "../nav.ftl"> <div class=
用excl匯入資料檔案並用matplotlib畫箱線圖和提琴圖
import matplotlib.pyplot as plt import xlrd import numpy as np import time one_time =time.time() plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中
【原始碼分享】經典指標和K線圖系列之MACD
最近從經典技術指標開始學習量化策略,有些在talib中有打包好的函式,但我還是希望自己在編的過程中學習策略的思想、進一步改進基礎策略。今天學習了移動平滑異同平均線(Moving Average Convergence Divergence,簡稱MACD指標)策略。MACD是查拉爾·阿佩爾(Geral
python matplotlib繪製gif動圖以及儲存
python matplotlib繪製gif動圖以及儲存 標籤: python matplotlib 謹以此文紀念我兩天來的悲劇 昨天我用lstm擬合sin曲線,看到別人畫的做的動圖很好看,並且還能儲存下來,所以我也想做著玩一下,但是沒想到在網上各種教程都不太對,最後還
IOS端K線系列之K線-繪製蠟燭圖
k線系列目錄 檢視目錄請點選這兒 補充知識 K線雖然看上去複雜,但仔細觀察就會知道幾乎所有的k線無非由以下幾種組成: (1)蠟燭 (2)OHLC (3)線段 (4)帶狀 (5)圓形 除此之外還有其他的,都是比
WPF中使用amCharts繪製股票K線圖
本想自己用GDI繪圖, 通過資料直接繪製一張蠟柱圖, 但覺得這樣子的功能比較少, 所以到網上搜索一些能畫出K線圖的控制元件. 發現DynamicDataDisplay挺好的, 在它的開發截圖裡也發現可以繪製蠟柱圖, 但文件好像做的不是很好, 不知道怎麼用它來畫, 在尋找它比較好的例子的
Swift3實現的繪製股票K線庫, FastImageCache提升圖片的載入和渲染速度,Chameleon顏色框架
程式碼1:用Swift3實現的繪製股票K線庫 for iOS & macOS 程式碼地址:網頁連結 程式碼2:FastImageCache是Path團隊開發的一個開源庫,用於提升圖片的載入和渲染速度,讓基於圖片的列表滑動起來更順暢。 程式碼地址:網頁連結 程式碼3:Chameleon是一款輕量級但功能