日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python股票分析系列_Python股票分析系列——基础股票数据操作(二).p4

發布時間:2024/1/18 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python股票分析系列_Python股票分析系列——基础股票数据操作(二).p4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該系列視頻已經搬運至bilibili:?點擊查看

歡迎來到Python for Finance教程系列的第4部分。在本教程中,我們將基于Adj Close列創建燭臺/ OHLC圖,這將允許我介紹重新采樣和其他一些數據可視化概念。

名為燭臺圖的OHLC圖表是一種將開盤價Open,最高價High,最低價Low和收盤價Close數據全部集中在一個很好的格式中的圖表。另外,它使得漂亮的顏色,并記住我告訴你關于美觀的圖表?

在之前的教程中已經涉及到了這一點:

importdatetime as dtimportmatplotlib.pyplot as pltfrom matplotlib importstyleimportpandas as pdimportpandas_datareader.data as web

style.use('ggplot')

df= pd.read_csv('tsla.csv', parse_dates=True, index_col=0)

不幸的是,即使創建OHLC數據,直接從Pandas制作燭臺圖也不是內置的。未來我確信這個圖表類型將會被提供,但現在不是。沒關系,we can make it!首先,我們需要import兩個新的庫:

from matplotlib.finance importcandlestick_ohlcimport matplotlib.dates as mdates

第一個導入是來自matplotlib的OHLC圖形類型,第二個導入是特殊的mdates類型,它大多只是一個屁股疼痛,但這是matplotlib圖形的日期類型。pandas會自動為你處理,但就像我說的那樣,我們沒有燭臺的奢侈品。

首先,我們需要適當的OHLC數據。我們目前的數據確實有OHLC的價值,除非我錯了,特斯拉從來沒有分裂過,但是你永遠不會這么幸運。因此,我們將創建我們自己的OHLC數據,這也將允許我們展示另一個來自Pandas的數據轉換:

df_ohlc = df['Adj Close'].resample('10D').ohlc()

我們在這里所做的是創建一個基于df ['Adj Close']列的新數據框,重新封裝10天的窗口,并且重采樣是一個ohlc(開高低關閉)。我們也可以用.mean()或.sum()做10天的平均值或10天的總和。請記住,這10天的平均值是10天的平均值,而不是平均值。由于我們的數據是每日數據,因此將其重新采樣為10天的數據會顯著縮小數據的大小。這是你可以如何規范化多個數據集。有時,您可能會在每個月的一個月中記錄一次每月記錄的數據,每個月末記錄的其他數據,以及最終每周記錄一些數據。您可以每個月對該數據幀重新采樣到月末,并有效地將其標準化!如果你喜歡的話,這是更高級的熊貓功能,你可以從熊貓系列中了解更多。

我們想要繪制燭臺數據以及體積數據。我們不必重新采樣數據,但我們應該,因為它與我們的10D定價數據相比太細致。

df_volume = df['Volume'].resample('10D').sum()

我們在這里使用金額,因為我們確實想知道在這10天內交易的總量,但您也可以使用平均值?,F在如果我們這樣做:

print(df_ohlc.head())

我們得到:

open high low close

Date2010-06-29 23.889999 23.889999 15.800000 17.459999

2010-07-09 17.400000 20.639999 17.049999 20.639999

2010-07-19 21.910000 21.910000 20.219999 20.719999

2010-07-29 20.350000 21.950001 19.590000 19.590000

2010-08-08 19.600000 19.600000 17.600000 19.150000

這是預期的,但是,我們現在要將這些信息移動到matplotlib中,并將日期轉換為mdates版本。由于我們只是要在Matplotlib中繪制列,所以我們實際上不希望日期成為索引,所以我們可以這樣做:

df_ohlc = df_ohlc.reset_index()

現在的日期只是一個普通的專欄。接下來,我們要轉換它:

df_ohlc ['Date'] = df_ohlc ['Date']。map(mdates.date2num)

現在我們要設置這個數字:

fig =plt.figure()

ax1= plt.subplot2grid((6,1),(0,0),rowspan = 5,colspan = 1)

ax2= plt.subplot2grid((6,1),(5,0),rowspan = 1,colspan = 1,sharex =ax1)

ax1.xaxis_date()

除了ax1.xaxis_date()之外,您已經看到過的所有內容。這對我們來說就是將軸從原始的生成號碼轉換為日期。

現在我們可以繪制燭臺圖:

candlestick_ohlc(ax1,df_ohlc.values,width = 2,colorup ='g')

然后做量:

ax2.fill_between(df_volume.index.map(mdates.date2num),df_volume.values,0)

fill_between函數將繪制x,y,然后填充/之間的內容。在我們的例子中,我們選擇0。

plt.show()

完整代碼:

importdatetime as dtimportmatplotlib.pyplot as pltfrom matplotlib importstylefrom matplotlib.finance importcandlestick_ohlcimportmatplotlib.dates as mdatesimportpandas as pdimportpandas_datareader.data as web

style.use('ggplot')

df= pd.read_csv('tsla.csv', parse_dates=True, index_col=0)

df_ohlc= df['Adj Close'].resample('10D').ohlc()

df_volume= df['Volume'].resample('10D').sum()

df_ohlc.reset_index(inplace=True)

df_ohlc['Date'] = df_ohlc['Date'].map(mdates.date2num)

ax1= plt.subplot2grid((6,1), (0,0), rowspan=5, colspan=1)

ax2= plt.subplot2grid((6,1), (5,0), rowspan=1, colspan=1, sharex=ax1)

ax1.xaxis_date()

candlestick_ohlc(ax1, df_ohlc.values, width=5, colorup='g')

ax2.fill_between(df_volume.index.map(mdates.date2num), df_volume.values, 0)

plt.show()

在接下來的幾個教程中,我們將留下可視化位,稍微討論一下獲取數據和處理數據。

總結

以上是生活随笔為你收集整理的python股票分析系列_Python股票分析系列——基础股票数据操作(二).p4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。