【抓取黃金價格】用 Pandas 判斷黃金最佳買入點

學習於: 2021年1月5號

這次練習的是歷史黃金存摺牌價查詢,學習來源:大樹數據YouTube

判斷買入黃金的最佳時機。

查詢期間改為 「最近一年」,其他不變(照下圖)。

設定完後,打開開發人員畫面,來到 network,在preserve log 以及 disable cache 打勾後點擊查詢。

會來到這個頁面: https://rate.bot.com.tw/gold/chart/year/TWD,在開發人員工具的左下角可以看到有 77 個回應。

2021/1/5的本行買入價格是 1,730元。

在開發人員工具,點擊 Ctrl + F,輸入1730,按 Enter

發現有 4 項符合,分別點開,發現是 228 行是我們要找的。

第 228 行的顯示結果。

發現資料都存在 table 底下(213 行)。

點擊 Headers ,我們可以通過 URL 用 GET 的方法取得資訊。

複製 URL,打開 Jupyter Notebook。

import pandas as pd
dfs = pd.read_html('https://rate.bot.com.tw/gold/chart/day/TWD')

dfs 是個 list。

len(dfs)
#輸出結果:1
df = dfs[0]
#這樣所有的價格資訊都會被整理成 pandas 的 dataframe
df.columns
#輸出結果:
IIndex(['日期', '牌價幣別', '商品重量', '本行買入價格', '本行賣出價格'], dtype='object')
df2 = df[['日期','本行買入價格']]
df2.head()
df2.index = pd.to_datetime(df2['日期'], format='%Y/%m/%d')
%pylab inline
df2['本行買入價格'].plot(kind='line')
from matplotlib import pyplot as plt
plt.rcParams['font.family'] = ['SimHei']

可以通過簡單的技術分析,通過線圖,畫出 G 線,如果資料漲超過 G 線,就是黃金交叉,可以買。

df2.head()
df2.sort_index(inplace=True)
df2.head()
df2['ma30']=df2['本行買入價格'].rolling(window=30).mean()
df2.head()

#輸出結果:

<matplotlib.axes._subplots.AxesSubplot at 0x227864c2908>

Leave a Comment

Your email address will not be published. Required fields are marked *