iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
Software Development

金融分析 X Python-訊號燈系列 第 8

【D8】製作圖表:三大法人-區分期貨與選擇權二類

前言

有了資料後,就要進行分析,因此需要做出圖表比較適合觀察,所以我們現在來做圖囉!

本日程式碼使用:d8_3Legal_chart.ipynb


製作圖表

改造VS Code

需要安裝好用的Python編輯器:Jupyter,可以看之前的文章。需要使用這個語法:

pipenv install jupyter

安裝完後,就有了Jupyter的樣子囉

https://ithelp.ithome.com.tw/upload/images/20210908/201038268BpNQFVYHx.png

執行程式

需要從資料庫取的資料,因此需要引入之前的連線功能,再加上pandas製作圖表。記得要安裝matplotlib來製作圖表,不然會發生錯誤:

matplotlib is required for plotting when the default backend "matplotlib" is selected.

都安裝好後,就開始寫程式囉!

首先把所需的模組放入:

import db_connect
import pandas

接著建立與MySQL的連線:

my_connt_obj = db_connect.mysql_connect()
# print(my_connt_obj.db_settings) #for check data
conn = my_connt_obj.connect()

取得連線後,取得我們所需要的資料,放在Dataframe中,是使用read_sql,直接取得我們所需要影響市場最大且交易量最多的三大法人之首:外資及陸資的每日期貨留存部位:

df = pandas.read_sql("SELECT TradeDate,FutureOINetQty FROM LegalDailyFutureOption WHERE TradeGroup ='外資及陸資'", con=conn)

然後我們把X軸變成日期,然後畫圖:

total_data = df.set_index("TradeDate")
ax1 = total_data.plot()

https://ithelp.ithome.com.tw/upload/images/20210908/20103826hebLKR8wgM.png

看不出來什麼東西來,把時間縮點一點,變成近100個交易日:

total_data2 = total_data.iloc[-100:]
print(total_data2.head())
ax2 = total_data2.plot()

這邊使用.iloc的方式,取得最後100筆資料,所以就會從2021年開始,不會從2018開始畫,圖表也比較清楚趨勢。

https://ithelp.ithome.com.tw/upload/images/20210908/201038264F3Jwdg7ep.png


後記:

但是這樣還是無法研究出什麼,這時候需要大盤指數,來驗證我們的資料是否可以做參考。


上一篇
【D7】取得歷史資料:三大法人-區分期貨與選擇權二類
下一篇
【D9】取得加權指數歷史資料
系列文
金融分析 X Python-訊號燈32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言