深度學習量化交易---0.1.股票K線圖繪製
究股票交易的基本功就是看K線圖,所以在這一節裡面,我們的任務就是拿到一支股票的歷史資料,我們用python畫出其K線圖,這是進行下一步技術分析的基礎。
我們以上證綜指為例,之所以沒拿某支股票為例,是因為股票容易被操控,而上證綜指很難被操控,因為規律性會更強一些。
我們先來看怎樣顯示上證綜指原始資料,如下所示:
@staticmethod
def draw_kline():
print('繪製股票每日價格K線圖')
raw_datas = pd.read_csv('dataset_2.csv')
datas = raw_datas.iloc[-30:, 1:]
print(datas)
在上面的程式中,我們取最新的30條資料,並且去掉第一列(代表股票程式碼),執行結果如下所示:
股票的K線圖是股市最常用的技術分析手段,拿到股票資料第一項就是研究K線圖,所以我們在這裡就要先繪製出K線圖,在執行下面的程式碼之前,需要先安裝:
pip install mpl_finance
接著我們需要解決在matplotlib中顯示中文的問題,首先在windows機器的C盤中查詢simhei.ttf檔案,將該檔案拷貝到下面程式顯示的目錄中:
import matplotlib
print(matplotlib.matplotlib_fname())
其會顯示如下內容:
/home/yantao/dev/tf/tfe/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
這是matplotlib的配置檔案路徑,我們將simhei.ttf拷貝到/home/yantao/dev/tf/tfe/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/目錄下,接著編輯/home/yantao/dev/tf/tfe/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc檔案,新增如下內容:
font.family : sans-serif
font.sans-serif : SimHei
axes.unicode_minus : False
接著刪除快取檔案:
rm -Rf ~/.cache/matplotlib/
具體程式碼如下所示:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY, date2num
from mpl_finance import candlestick_ohlc
from pylab import mpl
from datetime import datetime
......
@staticmethod
def draw_kline():
print('繪製股票每日價格K線圖')
raw_datas = pd.read_csv('dataset_2.csv')
datas = raw_datas.iloc[-30:, 1:]
datas.date = [date2num( datetime.strptime(date, '%Y/%m/%d') ) for date in datas.date]
recs = list()
for i in range(len(datas)):
recs.append(datas.iloc[i, :])
ax = plt.subplot()
mondays = WeekdayLocator(MONDAY)
weekFormatter = DateFormatter('%y %b %d')
ax.xaxis.set_major_locator(mondays)
ax.xaxis.set_minor_locator(DayLocator())
ax.xaxis.set_major_formatter(weekFormatter)
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
ax.set_title(u'上證綜指kline picture')
candlestick_ohlc(ax, recs, width=0.7, colorup='r', colordown='g')
plt.setp(plt.gca().get_xticklabels(), rotation=50, horizontalalignment='center')
plt.show()
第4、5行:讀入原始資料,並去掉第一列(代表股票程式碼),取最新30條記錄;
第6行:修改資料中日期欄位,將其變為mpl_finance庫需要的數字格式;
第7~9行:準備用於繪製的資料;
具體繪製過程沒有太多需要關注的地方,這裡需要注意為了讓matplotlib顯示中文,16~18行進行的相關設定。
執行上面的程式,可以繪製出如下圖形:
相關文章
- C#繪製股票K線圖和量化交易買賣點C#
- iOS股票K線圖、分時圖繪製iOS
- 深度學習量化交易---0.2.基於長短時記憶網路預測股票價格1深度學習
- canvas繪製圖片drawImage學習Canvas
- 股票學習-量柱和k線-第四天
- 用Python繪製專業的K線圖【含原始碼】Python原始碼
- 為何股票量化交易要用到pandas庫?
- (資料科學學習手札130)利用geopandas快捷繪製線上地圖資料科學地圖
- Python+Flask實現股價查詢系統。Python繪製股票k線走勢PythonFlask
- Matplotlib 繪製折線圖
- PyQtGraph繪製折線圖QT
- AnyChart繪製折線圖
- MATLAB 繪製折線圖Matlab
- 深度學習量化交易實踐---7.1.時序訊號特點深度學習
- Python學習筆記:過濾N位數並繪製折線圖Python筆記
- 流程圖製作: BPMN流程圖線上繪製流程圖
- Flutter 股票 分時線、K線Flutter
- 深度學習在股票市場的應用深度學習
- 等值線圖的Python繪製方法Python
- Python量化交易系統實戰--獲取股票資料Python
- amCharts繪製帶趨勢線折線圖
- 深度學習論文閱讀路線圖深度學習
- python爬取股票最新資料並用excel繪製樹狀圖PythonExcel
- MATLAB圖形繪製練習(一)Matlab
- 解析csv資料繪製曲線圖
- iOS使用Charts框架繪製折線圖iOS框架
- amCharts繪製折線圖和柱狀圖混合
- MPAndroidChart繪製曲線圖、柱狀圖總結Android
- 深度學習網路模型的輕量化方法深度學習模型
- 使用joinjs繪製流程圖(五)-流程圖繪製JS流程圖
- python爬取基金股票最新資料,並用excel繪製樹狀圖PythonExcel
- 好程式設計師web前端學習路線分享純css繪製各種圖形程式設計師Web前端CSS
- 專為新手繪製的測試開發學習路線圖,想高薪看這篇!高薪
- Vue中引入TradingView製作K線圖VueView
- Chart.js繪製動態折線圖JS
- 在UnityUI中繪製線狀統計圖UnityUI
- 自定義控制元件之kotlin繪製折線圖和曲線圖控制元件Kotlin
- [C#] 在控制檯繪圖, 如:放置影像, 繪製線條C#繪圖