用Python 畫K線

本文將使用Python來可視化股票數(shù)據(jù),比如繪制K線圖,并且探究各項(xiàng)指標(biāo)的含義和關(guān)系缸榛,最后使用移動(dòng)平均線方法初探投資策略吝羞。

相傳K線圖起源于日本德川幕府時(shí)代,當(dāng)時(shí)的商人用此圖來記錄米市的行情和價(jià)格波動(dòng)内颗,后來K線圖被引入到股票市場(chǎng)钧排。每天的四項(xiàng)指標(biāo)數(shù)據(jù)用如下蠟燭形狀的圖形來記錄,不同的顏色代表漲跌情況均澳。

Matplotlib.finance模塊提供了繪制K線圖的函數(shù)candlestick_ohlc()恨溜,但如果要繪制比較美觀的K線圖還是要下點(diǎn)功夫的。下面定義了pandas_candlestick_ohlc()函數(shù)來繪制適用于本文數(shù)據(jù)的K線圖找前,其中大部分代碼都是在設(shè)置坐標(biāo)軸的格式糟袁。

from matplotlib.finance import candlestick_ohlc
from matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY, date2num
import pandas as pd
import numpy as np
import talib as ta
import tushare as ts
import matplotlib.pyplot as plt
from matplotlib import rc
rc('mathtext', default='regular')
import seaborn as sns
sns.set_style('white')
from matplotlib import dates
import matplotlib as mpl
%matplotlib inline
myfont =mpl.font_manager.FontProperties(fname=r"c:\windows\fonts\simsun.ttc",size=14)
plt.rcParams["figure.figsize"] = (20,10)

def pandas_candlestick_ohlc(stock_data, otherseries=None):    

    # 設(shè)置繪圖參數(shù),主要是坐標(biāo)軸 
    mondays = WeekdayLocator(MONDAY) 
    alldays = DayLocator()   
    dayFormatter = DateFormatter('%d')

    fig, ax = plt.subplots()
    fig.subplots_adjust(bottom=0.2)
    if stock_data.index[-1] - stock_data.index[0] < pd.Timedelta('730 days'):
        weekFormatter = DateFormatter('%b %d')  
        ax.xaxis.set_major_locator(mondays)
        ax.xaxis.set_minor_locator(alldays)
    else:
        weekFormatter = DateFormatter('%b %d, %Y')
    ax.xaxis.set_major_formatter(weekFormatter)
    ax.grid(True)

    # 創(chuàng)建K線圖   
    stock_array = np.array(stock_data.reset_index()[['date','open','high','low','close']])
    stock_array[:,0] = date2num(stock_array[:,0])
    candlestick_ohlc(ax, stock_array, colorup = "red", colordown="green", width=0.4)


    # 可同時(shí)繪制其他折線圖
    if otherseries is not None:
        for each in otherseries:
            plt.plot(stock_data[each], label=each)            
        plt.legend()


    ax.xaxis_date()
    ax.autoscale_view()
    plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')

    plt.show()
stock_data = ts.get_k_data("600600")
stock_data = stock_data[:300]
stock_data.index =pd.to_datetime(stock_data.date)
del stock_data["date"]
stock_data["ma5"] = np.round(stock_data["close"].rolling(window = 5, center = False).mean(), 2)
stock_data["ma20"] = np.round(stock_data["close"].rolling(window = 20, center = False).mean(), 2)
pandas_candlestick_ohlc(stock_data, ['ma5','ma20'])
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纸厉,一起剝皮案震驚了整個(gè)濱河市系吭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌颗品,老刑警劉巖肯尺,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異躯枢,居然都是意外死亡则吟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門锄蹂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來氓仲,“玉大人,你說我怎么就攤上這事得糜【纯福” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵朝抖,是天一觀的道長(zhǎng)啥箭。 經(jīng)常有香客問我,道長(zhǎng)治宣,這世上最難降的妖魔是什么急侥? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮侮邀,結(jié)果婚禮上坏怪,老公的妹妹穿的比我還像新娘。我一直安慰自己绊茧,他們只是感情好铝宵,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著华畏,像睡著了一般捉超。 火紅的嫁衣襯著肌膚如雪胧卤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天拼岳,我揣著相機(jī)與錄音枝誊,去河邊找鬼。 笑死惜纸,一個(gè)胖子當(dāng)著我的面吹牛叶撒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耐版,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼祠够,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了粪牲?” 一聲冷哼從身側(cè)響起古瓤,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腺阳,沒想到半個(gè)月后落君,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡亭引,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年绎速,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焙蚓。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纹冤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出购公,到底是詐尸還是另有隱情萌京,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布宏浩,位于F島的核電站枫夺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏绘闷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一较坛、第九天 我趴在偏房一處隱蔽的房頂上張望印蔗。 院中可真熱鬧,春花似錦丑勤、人聲如沸华嘹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耙厚。三九已至强挫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間薛躬,已是汗流浹背俯渤。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留型宝,地道東北人八匠。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像趴酣,于是被迫代替她去往敵國(guó)和親梨树。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容